Firebase Genkit ที่มี Cloud Run

คุณทำให้โฟลว์ Firebase Genkit ใช้งานได้เป็นบริการบนเว็บโดยใช้ Cloud Run ตัวอย่างเช่น หน้านี้จะอธิบายกระบวนการทำให้โฟลว์ตัวอย่างเริ่มต้นใช้งานได้

  1. ติดตั้งเครื่องมือที่จำเป็น ดังนี้

    1. ตรวจสอบว่าคุณใช้ Node.js เวอร์ชัน 20 ขึ้นไป (เรียกใช้ node --version เพื่อตรวจสอบ)

    2. ติดตั้ง Google Cloud CLI

  2. สร้างโปรเจ็กต์ Google Cloud ใหม่โดยใช้คอนโซล Cloud หรือเลือกโปรเจ็กต์ที่มีอยู่ โปรเจ็กต์ต้องลิงก์กับบัญชีสำหรับการเรียกเก็บเงิน

    หลังจากสร้างหรือเลือกโปรเจ็กต์แล้ว ให้กำหนดค่า Google Cloud CLI เพื่อใช้ ดังนี้

    gcloud init
    
  3. สร้างไดเรกทอรีสำหรับโปรเจ็กต์ตัวอย่าง Genkit ดังนี้

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project
    

    หากคุณจะใช้ IDE ให้เปิดไดเรกทอรีนี้

  4. เริ่มต้นโปรเจ็กต์ Node.js ในไดเรกทอรีโปรเจ็กต์

    npm init -y
    
  5. เริ่มต้น Genkit ในโปรเจ็กต์ Node.js โดยทำดังนี้

    genkit init
    
    • เลือก Google Cloud เป็นแพลตฟอร์มการทำให้ใช้งานได้
    • เลือกผู้ให้บริการโมเดลที่ต้องการใช้

    ยอมรับค่าเริ่มต้นของข้อความแจ้งที่เหลือ เครื่องมือ genkit จะสร้างตัวอย่างไฟล์ต้นฉบับบางส่วนเพื่อช่วยให้คุณเริ่มต้นพัฒนาขั้นตอน AI ของคุณเอง อย่างไรก็ตามสำหรับส่วนที่เหลือของบทแนะนำนี้ คุณจะใช้ขั้นตอนตัวอย่างเท่านั้น

  6. ทำให้ข้อมูลเข้าสู่ระบบ API พร้อมใช้งานสำหรับฟังก์ชันที่ทำให้ใช้งานได้แล้ว เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับผู้ให้บริการโมเดลที่คุณเลือก

    Gemini (AI ของ Google)

    1. ตรวจสอบว่า AI ของ Google พร้อมให้บริการในภูมิภาคของคุณ

    2. สร้างคีย์ API สำหรับ Gemini API โดยใช้ Google AI Studio

    3. ทำให้คีย์ API ใช้งานได้ในสภาพแวดล้อม Cloud Run โดยทำดังนี้

      1. เปิดใช้ Secret Manager API ใน Cloud Console
      2. ในหน้า Secret Manager ให้สร้างข้อมูลลับใหม่ที่มีคีย์ API ของคุณ
      3. หลังจากสร้างข้อมูลลับแล้ว ในหน้าเดียวกัน ให้มอบสิทธิ์เข้าถึงข้อมูลลับให้กับบัญชีบริการ Compute เริ่มต้นด้วยบทบาทผู้เข้าถึงข้อมูลลับของ Secret Manager (คุณจะค้นหาชื่อบัญชีบริการ Compute เริ่มต้นได้ในหน้า IAM)

      ในขั้นตอนถัดไปเมื่อทำให้บริการใช้งานได้ คุณจะต้องอ้างอิงชื่อของข้อมูลลับนี้

    4. ไม่บังคับ: หากต้องการเรียกใช้โฟลว์ในเครื่อง ในขั้นตอนถัดไป ให้ตั้งค่าตัวแปรสภาพแวดล้อม GOOGLE_GENAI_API_KEY เป็นคีย์ดังนี้

      export GOOGLE_GENAI_API_KEY=<your API key>
      

    Gemini (Vertex AI)

    1. ใน Cloud Console ให้เปิดใช้ Vertex AI API สำหรับโปรเจ็กต์ของคุณ

    2. ในหน้า IAM ให้ตรวจสอบว่าบัญชีบริการการประมวลผลเริ่มต้นได้รับบทบาทผู้ใช้ Vertex AI

    3. ไม่บังคับ: หากต้องการเรียกใช้โฟลว์ภายใน ขั้นตอนถัดไป ให้ตั้งค่าตัวแปรสภาพแวดล้อมเพิ่มเติมและใช้เครื่องมือ gcloud เพื่อตั้งค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน ดังนี้

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      

    ข้อมูลลับเดียวที่คุณต้องตั้งค่าสำหรับบทแนะนำนี้คือสำหรับผู้ให้บริการโมเดล แต่โดยทั่วไปแล้ว คุณต้องทำสิ่งที่คล้ายกันสำหรับแต่ละบริการที่โฟลว์ใช้

  7. ไม่บังคับ: ลองใช้ขั้นตอนของคุณใน UI นักพัฒนาซอฟต์แวร์โดยทำดังนี้

    1. เปิด UI ดังนี้

      genkit start
      
    2. ใน UI ของนักพัฒนาซอฟต์แวร์ (http://localhost:4000/) ให้เรียกใช้ขั้นตอนดังนี้

      1. คลิก MenuRecommendationionFlow

      2. ในแท็บ Input JSON ให้ระบุเรื่องสำหรับโมเดล ดังนี้

        "banana"
        
      3. คลิกเรียกใช้

  8. หากทุกอย่างทำงานได้ตามที่คาดไว้แล้ว คุณสามารถสร้างและใช้งานโฟลว์ได้โดยทำดังนี้

    Gemini (AI ของ Google)

    npm run build
    gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    npm run build
    gcloud run deploy
    

    เลือก N เมื่อระบบถามว่าคุณต้องการอนุญาตการเรียกใช้ที่ไม่ผ่านการตรวจสอบสิทธิ์ไหม การตอบกลับ N จะกำหนดค่าบริการให้ต้องใช้ข้อมูลเข้าสู่ระบบ IAM โปรดดูข้อมูลเกี่ยวกับการระบุข้อมูลเข้าสู่ระบบเหล่านี้ที่การตรวจสอบสิทธิ์ในเอกสาร 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 '{"data": "banana"}'