ทำให้โฟลว์ใช้งานได้ในแพลตฟอร์ม Node.js

Firebase Genkit มีการผสานรวมในตัวที่จะช่วยคุณติดตั้งใช้งานโฟลว์ใน Cloud Functions for Firebase และ Google Cloud Run นอกจากนี้ คุณยังติดตั้งใช้งานโฟลว์ในแพลตฟอร์มใดก็ได้ที่ให้บริการแอป Express.js ไม่ว่าจะเป็นบริการระบบคลาวด์หรือโฮสต์เอง

หน้านี้จะอธิบายขั้นตอนการทำให้ตัวอย่างการเรียกใช้เริ่มต้นใช้งานได้

ก่อนเริ่มต้น

  • Node.js 20 ขึ้นไป: ตรวจสอบว่าสภาพแวดล้อมของคุณใช้ Node.js เวอร์ชัน 20 ขึ้นไป (node --version)
  • คุณควรคุ้นเคยกับแนวคิดโฟลว์ของ Genkit

1. สร้างโปรเจ็กต์

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

    export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
    mkdir -p $GENKIT_PROJECT_HOME
    cd $GENKIT_PROJECT_HOME
  2. เริ่มต้นโปรเจ็กต์ Node.js

    npm init -y
  3. ติดตั้ง Genkit และการพึ่งพาที่จำเป็น

    npm install --save genkit @genkit-ai/googleai
    npm install -D genkit-cli typescript tsx

2. กำหนดค่าแอป Genkit

  1. ตั้งค่าเวิร์กโฟลว์และเซิร์ฟเวอร์ตัวอย่าง

ใน src/index.ts ให้กําหนดขั้นตอนการทํางานตัวอย่างและกําหนดค่าเซิร์ฟเวอร์การทํางาน ดังนี้

  import { genkit } from 'genkit';
  import { googleAI, gemini15Flash } from '@genkit-ai/googleai';
  import { startFlowServer } from '@genkit-ai/express';

  const ai = genkit({
    plugins: [googleAI()],
    model: gemini15Flash,
  });

  const helloFlow = ai.defineFlow(
    {
      name: 'helloFlow',
      inputSchema: z.object({ name: z.string() }),
      outputSchema: z.string(),
    },
    async (input) => {
      const { text } = ai.generate('Say hello to ${input.name}');
      return text;
    }
  );

  startFlowServer({
    flows: [menuSuggestionFlow],
  });

นอกจากนี้ คุณยังระบุพารามิเตอร์ที่ไม่บังคับบางรายการสําหรับ startFlowServer ได้ด้วย

  • port: พอร์ตเครือข่ายที่จะฟัง หากไม่ระบุ เซิร์ฟเวอร์จะรอฟังพอร์ตที่กําหนดไว้ในตัวแปรสภาพแวดล้อมของพอร์ต และหากไม่ได้ตั้งค่าพอร์ต ค่าเริ่มต้นจะเป็น 3400
  • cors: นโยบาย CORS ของเซิร์ฟเวอร์โฟลว์ หากจะเข้าถึงปลายทางเหล่านี้จากเว็บแอปพลิเคชัน คุณอาจต้องระบุข้อมูลนี้
  • pathPrefix: คำนำหน้าเส้นทางที่ไม่บังคับซึ่งจะเพิ่มไว้ก่อนปลายทางของโฟลว์
  • jsonParserOptions: ตัวเลือกที่จะส่งไปยังโปรแกรมแยกวิเคราะห์ข้อความ JSON ของ Express
  1. ตั้งค่าข้อมูลเข้าสู่ระบบของผู้ให้บริการโมเดล

กําหนดค่าตัวแปรสภาพแวดล้อมที่จําเป็นสําหรับผู้ให้บริการโมเดล ในคู่มือนี้ เราจะใช้ Gemini API จาก Google AI Studio เป็นตัวอย่าง

รับคีย์ API จาก Google AI Studio

หลังจากสร้างคีย์ API แล้ว ให้ตั้งค่าตัวแปร GOOGLE_GENAI_API_KEY environment เป็นคีย์ของคุณด้วยคําสั่งต่อไปนี้

  export GOOGLE_GENAI_API_KEY=<your API key>

ผู้ให้บริการต่างๆ สําหรับการติดตั้งใช้งานจะมีวิธีรักษาความปลอดภัยให้กับคีย์ API ในสภาพแวดล้อมของตนเองแตกต่างกันไป ตรวจสอบว่าคีย์ API ของคุณไม่เปิดเผยต่อสาธารณะเพื่อความปลอดภัย

3. เตรียมโปรเจ็กต์ Node.js ให้พร้อมใช้งาน

เพิ่มสคริปต์เริ่มต้นและสร้างลงใน package.json

หากต้องการทำให้โปรเจ็กต์ Node.js ใช้งานได้ ให้กำหนดสคริปต์ start และ build ใน package.json สคริปต์เหล่านี้จะมีลักษณะดังนี้สำหรับโปรเจ็กต์ TypeScript

"scripts": {
  "start": "node --watch lib/index.js",
  "build": "tsc"
},

สร้างและทดสอบในเครื่อง

เรียกใช้คำสั่งบิลด์ จากนั้นเริ่มเซิร์ฟเวอร์และทดสอบในเครื่องเพื่อยืนยันว่าทำงานได้ตามที่คาดไว้

npm run build
npm start

ในหน้าต่างเทอร์มินัลอื่น ให้ทดสอบอุปกรณ์ปลายทางโดยทำดังนี้

curl -X POST "http://127.0.0.1:3400/menuSuggestionFlow" \
  -H "Content-Type: application/json" \
  -d '{"data": "banana"}'

ไม่บังคับ: เริ่ม UI นักพัฒนาแอป

คุณสามารถใช้ UI ของนักพัฒนาซอฟต์แวร์เพื่อทดสอบขั้นตอนแบบอินเทอร์แอกทีฟในระหว่างการพัฒนาได้ ดังนี้

npx genkit start -- npm run start

ไปที่ http://localhost:4000/flows เพื่อทดสอบโฟลว์ใน UI

4. ทำให้โปรเจ็กต์ใช้งานได้

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

การตั้งค่า ค่า
รันไทม์ Node.js 20 ขึ้นไป
คำสั่งบิลด์ npm run build
คำสั่งเริ่มต้น npm start
ตัวแปรสภาพแวดล้อม ตั้งค่า GOOGLE_GENAI_API_KEY=<your-api-key> และข้อมูลลับอื่นๆ ที่จําเป็น

คำสั่ง start (npm start) ควรชี้ไปยังจุดแรกเข้าที่คอมไพล์แล้ว ซึ่งโดยปกติจะเป็น lib/index.js อย่าลืมเพิ่มตัวแปรสภาพแวดล้อมที่จําเป็นทั้งหมดสําหรับแพลตฟอร์มการนําไปใช้

หลังจากติดตั้งใช้งานแล้ว คุณจะใช้ URL บริการที่ระบุเพื่อเรียกใช้โฟลว์เป็นปลายทาง HTTPS ได้

Code-first framework for orchestrating, deploying, and monitoring generative AI workflows.

อัปเดตแล้ว Dec 21, 2024

Code-first framework for orchestrating, deploying, and monitoring generative AI workflows.

อัปเดตแล้ว Feb 6, 2025

Discover Firebase, Google’s mobile and web app development platform that helps developers build apps and games that users will love.

อัปเดตแล้ว Feb 25, 2025