Możesz używać przepływów Firebase Genkit jako działań serwera w aplikacjach Next.js. Instrukcje znajdziesz w dalszej części tej strony.
Wymagania
Node.js w wersji 20 lub nowszej.
Procedura
Zainstaluj interfejs wiersza poleceń Genkit, uruchamiając to polecenie:
npm i -g genkit
Jeśli nie masz jeszcze aplikacji Next.js, której chcesz użyć, utwórz ją:
npx create-next-app@latest
Wybierz TypeScript jako wybrany język.
Zainicjuj Genkit w projekcie Next.js:
cd your-nextjs-project
genkit init
- Gdy pojawi się pytanie, czy chcesz automatycznie skonfigurować Genkit na potrzeby Next.js, potwierdź wartość yes (tak).
- Wybierz dostawcę modelu, którego chcesz użyć.
W pozostałych promptach zaakceptuj wartości domyślne. Narzędzie
genkit
utworzy kilka przykładowych plików źródłowych, które pomogą Ci utworzyć własne przepływy pracy AI.Udostępnij dane logowania do interfejsu API wdrożonej funkcji. Wykonaj jedną z tych czynności: w zależności od wybranego dostawcy modelu:
Gemini (AI od Google)
Upewnij się, że AI od Google dostępne w Twoim regionie.
Wygeneruj klucz interfejsu API dla platformy Gemini API za pomocą Google AI Studio.
Aby uruchomić przepływ lokalnie, tak jak w następnym kroku ustaw zmienną środowiskową
GOOGLE_GENAI_API_KEY
na swój klucz:export GOOGLE_GENAI_API_KEY=<your API key>
Po wdrożeniu aplikacji musisz udostępnić ten klucz w wdrożone środowisko; dokładne kroki zależą od platformy.
Gemini (Vertex AI)
W konsoli Google Cloud Włączanie interfejsu Vertex AI API do swojego projektu.
Aby uruchomić przepływ lokalnie, tak jak w następnym kroku ustaw kilka dodatkowych zmiennych środowiskowych i użyj Narzędzie
gcloud
do konfiguracji domyślne dane uwierzytelniające aplikacji:export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
gcloud auth application-default login
Podczas wdrażania aplikacji musisz wykonać te czynności:
Ustaw zmienne
GCLOUD_PROJECT
iGCLOUD_LOCATION
w wdrożone środowisko; dokładne kroki zależą od platformy.Jeśli nie wdrażasz środowiska Firebase ani Google Cloud, skonfigurować autoryzację dla interfejsu Vertex AI API przy użyciu Federacja tożsamości zadań (zalecane) lub klucz konta usługi.
W Uprawnieniach w konsoli Google Cloud i przyznaj użytkownikowi Vertex AI. (
roles/aiplatform.user
) do tożsamości, której używasz do wywoływania interfejsu Vertex AI API.- W Cloud Functions i Cloud Run jest to Domyślne konto usługi Compute.
- W Firebase App Hosting jest to konta usługi backendu.
- Na innych platformach jest to tożsamość skonfigurowana w poprzednim kroku krok po kroku.
Jedynym obiektem tajnym, który musisz skonfigurować na potrzeby tego samouczka, jest model ale z reguły należy zrobić coś podobnego w przypadku każdej usługi używane przez przepływ.
Jeśli zezwolisz polecenia
genkit init
na generowanie przykładowego przepływu, utworzył(a) plikgenkit.ts
z przepływem Genkit, którego możesz używać jako serwera działania. Wypróbuj te zapytania:Najpierw wprowadź niewielką zmianę w funkcji
callMenuSuggestionFlow
:export async function callMenuSuggestionFlow(theme: string) { const flowResponse = await runFlow(menuSuggestionFlow, theme); console.log(flowResponse); return flowResponse; }
Możesz uzyskać dostęp do tej funkcji jako działania serwera. Oto prosty przykład: zastąp zawartość pola
page.tsx
taką:'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> ); }
Uruchom go w środowisku programistycznym Next.js:
npm run dev
Możesz też uruchamiać i badać przepływy w interfejsie Genkit Developer:
genkit start