Firebase Genkit มีการผสานรวมในตัวที่จะช่วยคุณติดตั้งใช้งานโฟลว์ใน Cloud Functions for Firebase และ Google Cloud Run นอกจากนี้ คุณยังติดตั้งใช้งานโฟลว์ในแพลตฟอร์มใดก็ได้ที่ให้บริการแอป Express.js ไม่ว่าจะเป็นบริการระบบคลาวด์หรือโฮสต์เอง
หน้านี้จะอธิบายขั้นตอนการทำให้โฟลว์ตัวอย่างเริ่มต้นใช้งานได้
ก่อนเริ่มต้น
- Node.js 20 ขึ้นไป: ตรวจสอบว่าสภาพแวดล้อมของคุณใช้ Node.js เวอร์ชัน 20 ขึ้นไป (node --version)
- คุณควรคุ้นเคยกับแนวคิดโฟลว์ของ Genkit
1. สร้างโปรเจ็กต์
สร้างไดเรกทอรีสำหรับโปรเจ็กต์
export GENKIT_PROJECT_HOME=~/tmp/genkit-express-project
mkdir -p $GENKIT_PROJECT_HOME
cd $GENKIT_PROJECT_HOME
เริ่มต้นโปรเจ็กต์ Node.js
npm init -y
ติดตั้ง Genkit และการอ้างอิงที่จำเป็น
npm install --save genkit @genkit-ai/googleai
npm install -D genkit-cli typescript tsx
2. กำหนดค่าแอป Genkit
ตั้งค่าเวิร์กโฟลว์และเซิร์ฟเวอร์ตัวอย่าง
ใน
src/index.ts
ให้กําหนดขั้นตอนการทํางานตัวอย่างและกําหนดค่าเซิร์ฟเวอร์การทํางาน ดังนี้import { genkit } from 'genkit'; import { googleAI, gemini15Flash } from '@genkit-ai/googleai'; 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; } ); ai.startFlowServer({ flows: [menuSuggestionFlow], });
นอกจากนี้ คุณยังระบุพารามิเตอร์ที่ไม่บังคับบางรายการสําหรับ
startFlowServer
ได้ด้วยport
: พอร์ตเครือข่ายที่จะฟัง หากไม่ระบุ เซิร์ฟเวอร์จะรอฟังพอร์ตที่กําหนดไว้ในตัวแปรสภาพแวดล้อมของพอร์ต และหากไม่ได้ตั้งค่าพอร์ต ค่าเริ่มต้นจะเป็น 3400cors
: นโยบาย CORS ของเซิร์ฟเวอร์การไหล หากจะเข้าถึงปลายทางเหล่านี้จากเว็บแอปพลิเคชัน คุณอาจต้องระบุข้อมูลนี้pathPrefix
: คำนำหน้าเส้นทางที่ไม่บังคับซึ่งจะเพิ่มไว้ก่อนปลายทางของโฟลว์jsonParserOptions
: ตัวเลือกที่จะส่งไปยังโปรแกรมแยกวิเคราะห์ข้อความ JSON ของ Express
ตั้งค่าข้อมูลเข้าสู่ระบบของผู้ให้บริการโมเดล
กําหนดค่าตัวแปรสภาพแวดล้อมที่จําเป็นสําหรับผู้ให้บริการโมเดล ในคู่มือนี้ เราจะใช้ 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 ได้