يوفّر مكوّن Vertex AI الإضافي واجهات للعديد من نماذج الذكاء الاصطناعي التوليدي من Google. من خلال Vertex AI API
المتطلّبات
إذا كنت ترغب في تشغيل التدفقات التي تستخدم هذا المكون الإضافي محليًا، فأنت بحاجة إلى تم تثبيت أداة Google Cloud CLI.
الإعداد
لاستخدام هذا المكون الإضافي، قم باستيراد حزمة vertexai
واستدعِ vertexai.Init()
:
import "github.com/firebase/genkit/go/plugins/vertexai"
if err := vertexai.Init(ctx, nil); err != nil {
return err
}
يتطلب منك المكوّن الإضافي تحديد رقم تعريف مشروعك على Google Cloud، المنطقة الذي تريد إرسال طلبات البيانات من واجهة برمجة التطبيقات Vertex API إليه، ومشروعك على Google Cloud بيانات الاعتماد.
يحصل
vertexai.Init()
تلقائيًا على معرّف مشروعك على Google Cloud من متغيّر البيئةGCLOUD_PROJECT
.يمكنك أيضًا تمرير هذه القيمة مباشرةً:
if err := vertexai.Init(ctx, &vertexai.Config{ProjectID: yourProjectID}); err != nil { return err }
يحصل
vertexai.Init()
تلقائيًا على الموقع الجغرافي لواجهة برمجة تطبيقات Vertex AI من متغيّر البيئةGCLOUD_LOCATION
.يمكنك أيضًا تمرير هذه القيمة مباشرةً:
if err := vertexai.Init(ctx, &vertexai.Config{Location: "asia-south1"}); err != nil { return err }
لتقديم بيانات اعتماد واجهة برمجة التطبيقات، يجب إعداد تطبيق Google Cloud. بيانات الاعتماد التلقائية.
لتحديد بيانات الاعتماد:
إذا كنت تشغّل التدفق من بيئة Google Cloud (Cloud والوظائف، وتشغيل السحابة، وما إلى ذلك)، يتم تعيين ذلك تلقائيًا.
في بيئة مطور البرامج المحلية، يمكنك إجراء ذلك عن طريق تشغيل:
gcloud auth application-default login
- بالنسبة إلى البيئات الأخرى، يُرجى الاطّلاع على بيانات الاعتماد التلقائية للتطبيق. المستندات.
بالإضافة إلى ذلك، تأكَّد من منح الحساب دور "إدارة الهوية وإمكانية الوصول لمستخدم Vertex AI" (
roles/aiplatform.user
). الاطّلاع على التحكّم في الوصول إلى Vertex AI المستندات.
الاستخدام
النماذج التوليدية
للحصول على إشارة إلى نموذج متوافق، حدِّد معرِّفه:
langModel := vertexai.Model("gemini-1.5-flash")
النماذج التالية متاحة: gemini-1.0-pro
وgemini-1.5-pro
و
gemini-1.5-flash
تستخدِم مراجع النماذج طريقة Generate()
تستدعي واجهة برمجة تطبيقات Vertex AI:
genRes, err := ai.GenerateText(ctx, langModel, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
return err
}
يمكنك الاطّلاع على مقالة إنشاء المحتوى للحصول على مزيد من المعلومات.
نماذج تضمين
للحصول على مرجع إلى نموذج تضمين متوافق، حدِّد معرّفه:
embeddingModel := vertexai.Embedder("text-embedding-004")
تتوفّر النماذج التالية: textembedding-gecko@003
،
textembedding-gecko@002
وtextembedding-gecko@001
وtext-embedding-004
textembedding-gecko-multilingual@001
وtext-multilingual-embedding-002
و
multimodalembedding
تستخدِم مراجع أداة التضمين طريقة Embed()
تطلب البيانات من Vertex AI API:
embedRes, err := ai.Embed(ctx, embeddingModel, ai.WithEmbedText(userInput))
if err != nil {
return err
}
يمكنك أيضًا تمرير أداة تضمين إلى طريقة Index()
للمفهرس وأداة استرداد
طريقة Retrieve()
:
if err := ai.Index(ctx, myIndexer, ai.WithIndexerDocs(docsToIndex...)); err != nil {
return err
}
retrieveRes, err := ai.Retrieve(ctx, myRetriever, ai.WithRetrieverText(userInput))
if err != nil {
return err
}
راجِع الجيل المعزَّز بالاسترجاع (RAG) للحصول على مزيد من المعلومات.