يمكنك نشر مسارات Genkit كخدمات ويب باستخدام Cloud Run. على سبيل المثال، توجّهك هذه الصفحة خلال عملية نشر مسار النموذج التلقائي.
ثبِّت Google Cloud CLI إذا لم يسبق لك تثبيته.
أنشئ مشروعًا جديدًا على Google Cloud باستخدام وحدة تحكّم Cloud أو اختَر مشروعًا حاليًا. يجب أن يكون المشروع مرتبطًا بحساب فوترة.
بعد إنشاء مشروع أو اختياره، عليك ضبط واجهة سطر أوامر Google Cloud لاستخدامه:
gcloud auth login
gcloud init
أنشئ دليلاً لمشروع نموذج Genkit:
mkdir -p ~/tmp/genkit-cloud-project
cd ~/tmp/genkit-cloud-project
إذا كنت ستستخدم بيئة تطوير متكاملة، افتح هذا الدليل فيها.
يمكنك بدء وحدة Go في دليل مشروعك باتّباع الخطوات التالية:
go mod init example/cloudrun
go mod get github.com/firebase/genkit/go
أنشئ نموذج تطبيق باستخدام Genkit:
package main import ( "context" "fmt" "log" "net/http" "os" "github.com/firebase/genkit/go/ai" "github.com/firebase/genkit/go/genkit" "github.com/firebase/genkit/go/plugins/googlegenai" "github.com/firebase/genkit/go/plugins/server" ) func main() { ctx := context.Background() // Initialize Genkit with the Google AI plugin and Gemini 2.0 Flash. // Alternatively, use &googlegenai.VertexAI{} and "vertexai/gemini-2.0-flash" // to use Vertex AI as the provider instead. g, err := genkit.Init(ctx, genkit.WithPlugins(&googlegenai.GoogleAI{}), genkit.WithDefaultModel("googleai/gemini-2.0-flash"), ) if err != nil { log.Fatalf("failed to initialize Genkit: %w", err) } flow := genkit.DefineFlow(g, "jokesFlow", func(ctx context.Context, topic string) (string, error) { resp, err := genkit.Generate(ctx, g, ai.WithPrompt(`Tell a short joke about %s. Be creative!`, topic), ) if err != nil { return "", fmt.Errorf("failed to generate joke: %w", err) } return resp.Text(), nil }) mux := http.NewServeMux() mux.HandleFunc("POST /jokesFlow", genkit.Handler(flow)) log.Fatal(server.Start(ctx, "127.0.0.1:"+os.Getenv("PORT"), mux)) }
إتاحة بيانات اعتماد واجهة برمجة التطبيقات للوظيفة المنشورة اختَر ملف الاعتماد الذي تحتاجه استنادًا إلى اختيارك في العيّنة أعلاه:
Gemini (تكنولوجيات الذكاء الاصطناعي من Google)
تأكَّد من أنّ تكنولوجيات الذكاء الاصطناعي من Google متوفّرة في منطقتك.
أنشئ مفتاح واجهة برمجة تطبيقات لواجهة برمجة التطبيقات Gemini API باستخدام Google AI Studio.
إتاحة مفتاح واجهة برمجة التطبيقات في بيئة Cloud Run:
- في Cloud Console، فعِّل Secret Manager API.
- في صفحة مدير الأسرار ، أنشئ رمزًا سرّيًا جديدًا يحتوي على مفتاح واجهة برمجة التطبيقات.
- بعد إنشاء السرّ، في الصفحة نفسها، امنح حساب الخدمة التلقائي لحساب "خدمة الحوسبة" إذن الوصول إلى السرّ باستخدام الدور مُستخدِم مفتاح الربط في أداة إدارة الأسرار. (يمكنك البحث عن اسم حساب الخدمة التلقائي لخدمات الحوسبة في صفحة "إدارة الهوية وإمكانية الوصول").
في خطوة لاحقة، عند نشر خدمتك، عليك الإشارة إلى اسم هذا السر.
Gemini (Vertex AI)
في Cloud Console، فعِّل واجهة برمجة التطبيقات Vertex AI API لمشروعك.
في صفحة إدارة الهوية وإمكانية الوصول (IAM)، تأكّد من منح حساب خدمة Compute التلقائي دور مستخدم Vertex AI.
السر الوحيد الذي عليك إعداده لهذا الدليل التعليمي هو سر مقدّم النموذج، ولكن بشكل عام، عليك إجراء إجراء مشابه لكل خدمة تستخدمها العملية.
اختياري: جرِّب عملية الدفع في واجهة مستخدِم المطوّر:
اضبط بيئتك المحلية لموفّر النماذج الذي اخترته:
Gemini (تكنولوجيات الذكاء الاصطناعي من Google)
export GEMINI_API_KEY=<your API key>
Gemini (Vertex AI)
export GOOGLE_CLOUD_PROJECT=<your project ID>
export GOOGLE_CLOUD_LOCATION=us-central1
gcloud auth application-default login
ابدأ واجهة المستخدم:
genkit start -- go run .
في واجهة مستخدِم المطوّر (http://localhost:4000/)، شغِّل الخطوات التالية:
انقر على jokesFlow.
في علامة التبويب إدخال ملف JSON، أدخِل موضوعًا للنموذج:
"bananas"
انقر على تشغيل.
إذا كان كل شيء يعمل على النحو المتوقّع حتى الآن، يمكنك إنشاء المسار ونشره:
Gemini (تكنولوجيات الذكاء الاصطناعي من Google)
gcloud run deploy --port 3400 \ --update-secrets=GEMINI_API_KEY=<your-secret-name>:latest
Gemini (Vertex AI)
gcloud run deploy --port 3400 \ --set-env-vars GOOGLE_CLOUD_PROJECT=<your-gcloud-project> \ --set-env-vars GOOGLE_CLOUD_LOCATION=us-central1
(
GOOGLE_CLOUD_LOCATION
لضبط منطقة Vertex API التي تريد استخدامها)اختَر
N
عندما يُطلب منك تحديد ما إذا كنت تريد السماح بطلبات البيانات غير المعتمَدة. سيؤدي اختيارN
إلى ضبط خدمتك على طلب بيانات اعتماد إدارة الهوية وإمكانية الوصول. اطّلِع على المصادقة في مستندات Cloud Run للحصول على معلومات عن تقديم بيانات الاعتماد هذه.
بعد انتهاء عملية النشر، ستطبع الأداة عنوان URL للخدمة. يمكنك اختباره
باستخدام curl
:
curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '"bananas"'