ทำให้โฟลว์ใช้งานได้ในแพลตฟอร์มโฮสติ้งแอปใดก็ได้

คุณทำให้ขั้นตอนของ Firebase Genkit ใช้งานได้เป็นบริการบนเว็บโดยใช้บริการใดก็ได้ที่โฮสต์ไบนารีของ Go ได้ หน้านี้เป็นตัวอย่างที่จะแนะนำคุณตลอดขั้นตอนทั่วไปในการทำให้โฟลว์ตัวอย่างเริ่มต้นใช้งานได้ รวมถึงระบุจุดที่ต้องดำเนินการเฉพาะผู้ให้บริการ

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

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

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

  2. เริ่มต้นโมดูล Go ในไดเรกทอรีโปรเจ็กต์ โดยทำดังนี้

    go mod init example/cloudrun
    
  3. เริ่มต้น Genkit ในโปรเจ็กต์ของคุณ

    genkit init
    

    เลือกผู้ให้บริการโมเดลที่ต้องการใช้

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

  4. แก้ไขไฟล์ตัวอย่าง (main.go หรือ genkit.go) เพื่อระบุพอร์ตที่เซิร์ฟเวอร์โฟลว์เซิร์ฟเวอร์ควรรับคำสั่งอย่างชัดแจ้ง ดังนี้

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    หากผู้ให้บริการกำหนดให้คุณฟังในพอร์ตเฉพาะ ให้กำหนดค่า Genkit ให้สอดคล้องกัน

  5. ใช้การตรวจสอบสิทธิ์และการให้สิทธิ์บางรูปแบบเพื่อการเข้าถึงประตูสู่ขั้นตอนที่คุณวางแผนจะทำให้ใช้งานได้

    เนื่องจากบริการ Generative AI ส่วนใหญ่มีการวัดปริมาณอินเทอร์เน็ต คุณจึงไม่ควรอนุญาตให้เข้าถึงปลายทางที่เรียกใช้บริการเหล่านั้นแบบเปิดกว้าง บริการโฮสติ้งบางอย่างมีเลเยอร์การตรวจสอบสิทธิ์เป็นฟรอนท์เอนด์ของแอปที่ใช้งานในบริการดังกล่าว ซึ่งคุณสามารถใช้เพื่อวัตถุประสงค์นี้ได้

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

    Gemini (AI ของ Google)

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

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

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

      โฮสต์แอปส่วนใหญ่มีระบบบางอย่างสำหรับจัดการข้อมูลลับอย่างปลอดภัย เช่น คีย์ API บ่อยครั้งที่ข้อมูลลับเหล่านี้พร้อมใช้งานสำหรับแอปของคุณในรูปแบบตัวแปรสภาพแวดล้อม หากคุณกำหนดคีย์ API ให้กับตัวแปร GOOGLE_GENAI_API_KEY ได้ Genkit จะใช้คีย์ดังกล่าวโดยอัตโนมัติ ไม่เช่นนั้น คุณจะต้องแก้ไขการเรียก googleai.Init() เพื่อตั้งค่าคีย์อย่างชัดเจน (แต่อย่าฝังคีย์ในโค้ดโดยตรง! ใช้หน่วยงานการจัดการข้อมูลลับที่ผู้ให้บริการโฮสติ้งมีให้)

    Gemini (Vertex AI)

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

    2. ในหน้า IAM ให้สร้างบัญชีบริการสำหรับเข้าถึง Vertex AI API หากคุณยังไม่มีบัญชี

      มอบบทบาทผู้ใช้ Vertex AI ให้กับบัญชี

    3. ตั้งค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชันในสภาพแวดล้อมโฮสติ้ง

    4. กำหนดค่าปลั๊กอินด้วยรหัสโปรเจ็กต์ Google Cloud และตำแหน่ง Vertex AI API ที่ต้องการใช้ ซึ่งทำได้โดยการตั้งค่าตัวแปรสภาพแวดล้อม GCLOUD_PROJECT และ GCLOUD_LOCATION ในสภาพแวดล้อมการโฮสต์หรือในการเรียกใช้ vertexai.Init()

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

  7. ไม่บังคับ: ลองดำเนินการตามขั้นตอนใน UI ของนักพัฒนาซอฟต์แวร์ ดังนี้

    1. ตั้งค่าสภาพแวดล้อมในเครื่องสำหรับผู้ให้บริการโมเดลที่คุณเลือก ดังนี้

      Gemini (AI ของ Google)

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      
    2. เริ่มต้น UI ด้วยคำสั่งต่อไปนี้

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

      1. คลิก MenuSuggestionFlow

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

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

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