Firebase Genkit พร้อม Cloud Run

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

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

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

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

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

    หลังจากสร้างหรือเลือกโปรเจ็กต์ ให้กำหนดค่า 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. ใน Cloud Console ให้เปิดใช้ Secret Manager API
      2. ใน ผู้จัดการข้อมูลลับ ให้สร้างข้อมูลลับใหม่ที่มีคีย์ API
      3. หลังจากสร้างข้อมูลลับแล้ว ในหน้าเดียวกัน ให้ระบุค่าเริ่มต้น สิทธิ์เข้าถึงข้อมูลลับของบัญชีบริการประมวลผลที่มี บทบาทผู้เข้าถึงข้อมูลลับของ Secret Manager (คุณสามารถค้นหาชื่อ ของบัญชีบริการประมวลผลเริ่มต้นในหน้า 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. คลิก MenuSuggestionFlow

      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"}'