Możesz już korzystać z biblioteki Firebase Genkit w Go. Ponieważ Biblioteki Go są obecnie w wersji alfa. Możesz zauważyć zmiany w interfejsach API i funkcjonalności, postęp prac nad rozwojem. Zalecamy korzystanie z niego tylko do prototypowania. do eksploracji.
Jeśli zauważysz problemy z bibliotekami lub tą dokumentacją, zgłoś je znajdziesz je w naszym repozytorium GitHub.
Aby zacząć korzystać z Genkit, zainstaluj interfejs wiersza poleceń Genkit i uruchom
genkit init
w projekcie Go. Instrukcje znajdziesz w dalszej części tej strony.
Wymagania
Przejdź na wersję 1.22 lub nowszą. Zobacz Pobieranie i instalowanie w z oficjalnymi dokumentami Go.
Node.js w wersji 20 lub nowszej (dla interfejsu wiersza poleceń i interfejsu Genkit). W następnej sekcji znajdziesz informacje na temat krótki przewodnik po instalowaniu węzła.
Zainstaluj Genkit
Jeśli nie masz jeszcze w systemie Node 20 lub nowszego, zainstaluj go teraz.
Zalecenia:
nvm
i Narzędzianvm-windows
to wygodny sposób na zainstalowanie określonych wersji środowiska Node, jeśli jeszcze nie jest dostępne zainstalowanego w systemie. Te narzędzia instalują Node dla poszczególnych użytkowników, dzięki czemu nie wymagają wprowadzania zmian w całym systemie.Aby zainstalować
nvm
:Linux, macOS itp.
Uruchom to polecenie:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
Windows
Pobierz i uruchom instalator zgodnie z opisem w dokumentacji nvm-windows.
Następnie, aby zainstalować Node i
npm
, otwórz nową powłokę i uruchom to polecenie polecenie:nvm install 20
Zainstaluj interfejs wiersza poleceń Genkit, uruchamiając to polecenie:
npm i -g genkit
To polecenie instaluje interfejs wiersza poleceń Genkit w katalogu instalacyjnym węzła z którego można korzystać poza projektem Node.
Tworzenie i poznawanie przykładowego projektu
Utwórz nowy katalog projektu:
mkdir genkit-intro && cd genkit-intro
Zainicjuj projekt Genkit:
genkit init
Wybierz
Go
jako środowisko wykonawcze.Wybierz model:
Gemini (AI od Google)
Najprostszym sposobem, aby zacząć, jest korzystanie z interfejsu Google AI Gemini API. Upewnij się, to dostępne w Twoim regionie.
Wygeneruj klucz interfejsu API dla platformy Gemini API za pomocą Google AI Studio. Następnie ustaw
GOOGLE_GENAI_API_KEY
zmienną środowiskową do klucza:export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
Jeśli interfejs Google AI Gemini API nie jest dostępny w Twoim regionie, rozważ za pomocą interfejsu Vertex AI API, który oferuje również Gemini i inne modele. Ty musi mieć projekt Google Cloud z włączonymi płatnościami, włączyć AI API platformy i ustaw kilka dodatkowych zmiennych środowiskowych:
gcloud services enable aiplatform.googleapis.com
export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
Zapoznaj się z cennikiem Vertex AI.
Wpisz dowolną nazwę modułu. Na przykład:
example/genkit-intro
Wybierz domyślne odpowiedzi na pozostałe pytania, które zainicjować folder projektu przy użyciu przykładowego kodu.
Polecenie
genkit init
tworzy przykładowy moduł Go i instaluje wymagane zależności. Plikmain.go
zawiera jeden proces,menuSuggestionFlow
, co powoduje, że LLM zaproponuje element o określonej tematyce.Wygląda on mniej więcej tak (kroki konfiguracji wtyczki może wyglądać inaczej, jeśli wybrano Vertex AI):
package main import ( "context" "errors" "fmt" "log" // Import Genkit and the Google AI plugin "github.com/firebase/genkit/go/ai" "github.com/firebase/genkit/go/genkit" "github.com/firebase/genkit/go/plugins/googleai" ) func main() { ctx := context.Background() // Initialize the Google AI plugin. When you pass nil for the // Config parameter, the Google AI plugin will get the API key from the // GOOGLE_GENAI_API_KEY environment variable, which is the recommended // practice. if err := googleai.Init(ctx, nil); err != nil { log.Fatal(err) } // Define a simple flow that prompts an LLM to generate menu suggestions. genkit.DefineFlow("menuSuggestionFlow", func(ctx context.Context, input string) (string, error) { // The Google AI API provides access to several generative models. Here, // we specify gemini-1.5-flash. m := googleai.Model("gemini-1.5-flash") if m == nil { return "", errors.New("menuSuggestionFlow: failed to find model") } // Construct a request and send it to the model API (Google AI). resp, err := ai.Generate(ctx, m, ai.WithConfig(&ai.GenerationCommonConfig{Temperature: 1}), ai.WithTextPrompt(fmt.Sprintf(`Suggest an item for the menu of a %s themed restaurant`, input))) if err != nil { return "", err } // Handle the response from the model API. In this sample, we just // convert it to a string. but more complicated flows might coerce the // response into structured output or chain the response into another // LLM call. text := resp.Text() return text, nil }) // Initialize Genkit and start a flow server. This call must come last, // after all of your plug-in configuration and flow definitions. When you // pass a nil configuration to Init, Genkit starts a local flow server, // which you can interact with using the developer UI. if err := genkit.Init(ctx, nil); err != nil { log.Fatal(err) } }
Tworząc funkcje AI w aplikacji w Genkit, prawdopodobnie z wieloma etapami, takimi jak wstępne przetwarzanie danych wejściowych, tworzenia promptów, integrowanie zewnętrznych źródeł informacji generowanie rozszerzone przez wyszukiwanie w zapisanych informacjach (RAG) itp.
Teraz możesz uruchamiać i poznawać funkcje Genkit oraz przykładowy projekt lokalnie na komputerze. Pobierz i uruchom interfejs programisty Genkit:
genkit start
Interfejs dewelopera Genkit działa teraz na Twoim komputerze. Gdy uruchamiasz modele lub przepływów w następnym kroku, komputer wykona zadania administrowania które są niezbędne, aby kroki przepływu danych ze sobą współpracowały; połączenia z zewnętrznymi takie jak Gemini API będą nadal oparte na serwerów.
Ponieważ pracujesz w środowisku programistycznym, Genkit przechowuje ślady stanu przepływu w plikach lokalnych.
Interfejs programisty Genkit zostanie pobrany i otwarty automatycznie po uruchomieniu
genkit start
.Interfejs dewelopera pozwala zobaczyć zdefiniowane przepływy i modele skonfigurować je, uruchomić i zbadać ślady poprzednich uruchomień. Wypróbuj niektóre funkcje te funkcje:
Na karcie Uruchom zobaczysz listę wszystkich przepływów i modele skonfigurowane przez wtyczki.
Kliknij menusuggestionFlow i spróbuj uruchomić je z tekstem do wprowadzania danych (na przykład:
"cat"
). Jeśli wszystko pójdzie dobrze, otrzymasz menu propozycji restauracji o kotach.Na karcie Zbadaj zobaczysz historię wykonań przepływu. Dla każdej wartości możesz wyświetlić parametry przekazane do przepływu i ślad każdego etapu.