คุณใช้ขั้นตอน Firebase Genkit เป็นการดำเนินการของเซิร์ฟเวอร์ในแอป Next.js ได้ เนื้อหาที่เหลือของหน้านี้จะแสดงวิธีการ
ข้อกำหนด
Node.js 20 ขึ้นไป
ขั้นตอน
ติดตั้ง Genkit CLI โดยเรียกใช้คำสั่งต่อไปนี้:
npm i -g genkit
หากคุณยังไม่มีแอป Next.js ที่ต้องการใช้ ให้สร้างแอปดังต่อไปนี้
npx create-next-app@latest
เลือก TypeScript เป็นภาษาที่คุณต้องการ
เริ่มต้น Genkit ในโปรเจ็กต์ Next.js ของคุณ
cd your-nextjs-project
genkit init
- เลือก Next.js เป็นแพลตฟอร์มการติดตั้งใช้งาน
- เลือกผู้ให้บริการโมเดลที่ต้องการใช้
ยอมรับค่าเริ่มต้นสำหรับข้อความแจ้งที่เหลือ เครื่องมือ
genkit
จะสร้างตัวอย่างไฟล์ต้นฉบับบางส่วนเพื่อช่วยคุณเริ่มต้นพัฒนาขั้นตอน AI ของคุณเองทำให้ข้อมูลเข้าสู่ระบบ API พร้อมใช้งานสำหรับฟังก์ชันที่ทำให้ใช้งานได้ ทำอย่างใดอย่างหนึ่งต่อไปนี้ โดยขึ้นอยู่กับผู้ให้บริการโมเดลที่คุณเลือก
Gemini (AI ของ Google)
ตรวจสอบว่า AI ของ Google พร้อมใช้งานในภูมิภาคของคุณ
สร้างคีย์ API สำหรับ Gemini API โดยใช้ Google AI Studio
หากต้องการเรียกใช้โฟลว์ภายในเครื่อง ให้ตั้งค่าตัวแปรสภาพแวดล้อม
GOOGLE_GENAI_API_KEY
เป็นคีย์ของคุณในขั้นตอนถัดไป ดังนี้export GOOGLE_GENAI_API_KEY=<your API key>
เมื่อทำให้แอปใช้งานได้ คุณจะต้องทำให้�����ย์น��้ใช้งานได้ใน��ภาพแวดล้อมที่����การทำให้ใช้งานได้ โดยขั้นตอนที่แน่นอนจะขึ้นอยู่กับแพลตฟอร์ม
Gemini (Vertex AI)
เปิดใช้ Vertex AI API สำหรับโปรเจ็กต์ของคุณในคอนโซล Cloud
หากต้องการเรียกใช้โฟลว์ภายในเครื่อง ให้ตั้งค่าตัวแปรสภาพแวดล้อมเพิ่มเติมและใช้เครื่องมือ
gcloud
เพื่อตั้งค่าข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน ดังต่อไปนี้export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
gcloud auth application-default login
เมื่อทำให้แอปใช้งานได้ คุณจะต้องดำเนินการต่อไปนี้
ตั้งค่าตัวแปร
GCLOUD_PROJECT
และGCLOUD_LOCATION
ในสภาพแวดล้อมที่ทำให้ใช้งานได้แล้ว โดยขั้นตอนที่แน่นอนจะขึ้นอยู่กับแพลตฟอร์มหากคุณไม่ได้ทำให้ใช้งานได้ในสภาพแวดล้อม Firebase หรือ Google Cloud ให้ตั้งค่าการให้สิทธิ์สำหรับ Vertex AI API โดยใช้ Workload Identity Federation (แนะนำ) หรือคีย์บัญชีบริการ
ในหน้า IAM ของคอนโซล Google Cloud ให้มอบบทบาทผู้ใช้ Vertex AI (
roles/aiplatform.user
) แก่ข้อมูลระบุตัวตนที่คุณใช้เรียกใช้ Vertex AI API- ใน Cloud Functions และ Cloud Run จะเรียกว่าบัญชีบริการการประมวลผลเริ่มต้น
- ใน Firebase App Hosting เป็นบัญชีบริการแบ็กเอนด์ของแอป
- ส่วนในแพลตฟอร์มอื่นๆ นี่คือข้อมูลประจำตัวที่คุณตั้งค่าไว้ในขั้นตอนก่อนหน้า
ข้อมูลลับเดียวที่คุณต้องตั้งค่าสำหรับบทแนะนำนี้คือสำหรับผู้ให้บริการโมเดล แต่โดยทั่วไปแล้ว คุณจะต้อง��ำเนินการที่คล้ายกันสำหรับบริการแต่ละบริการที่กระบวนการของคุณใช้
หากคุณอนุญาตให้คำสั่ง
genkit init
สร้างขั้นตอนตัวอย่าง ระบบจะสร้างไฟล์genkit.ts
ซึ่งมีขั้นตอน Genkit ที่คุณใช้เป็นการดำเนินการของเซิร์ฟเวอร์ได้ โปรดลองคำเหล่านี้ก่อนอื่นให้ทำการเปลี่ยนแปลงเล็กน้อยกับฟังก์ชัน
callMenuSuggestionFlow
:export async function callMenuSuggestionFlow(theme: string) { const flowResponse = await runFlow(menuSuggestionFlow, theme); console.log(flowResponse); return flowResponse; }
คุณจะเข้าถึงฟังก์ชันนี้ได้ด้วยการดำเนินการของเซิร์ฟเวอร์ ตัวอย่างง่ายๆ ให้แทนที่เนื้อหาของ
page.tsx
ด้วยข้อมูลต่อไปนี้'use client'; import { callMenuSuggestionFlow } from '@/app/genkit'; import { useState } from 'react'; export default function Home() { const [menuItem, setMenu] = useState<string>(''); async function getMenuItem(formData: FormData) { const theme = formData.get('theme')?.toString() ?? ''; const suggestion = await callMenuSuggestionFlow(theme); setMenu(suggestion); } return ( <main> <form action={getMenuItem}> <label> Suggest a menu item for a restaurant with this theme:{' '} </label> <input type="text" name="theme" /> <button type="submit">Generate</button> </form> <br /> <pre>{menuItem}</pre> </main> ); }
เรียกใช้ในสภาพแวดล้อมการพัฒนา Next.js ด้วยคำสั่งต่อไปนี้
npm run dev
นอกจากนี้ คุณยังเรียกใช้และสำรวจขั้นตอนใน UI สำหรับนักพัฒนาซอฟต์แวร์ Genkit ได้โดยทำดังนี้
genkit start