Wtyczka Google Generative AI udostępnia interfejsy modeli Gemini od Google za pomocą Gemini API.
Instalacja
npm i --save @genkit-ai/googleai
Konfiguracja
Aby użyć tej wtyczki, określ ją podczas wywołania funkcji configureGenkit()
:
import { googleAI } from '@genkit-ai/googleai';
export default configureGenkit({
plugins: [googleAI()],
// ...
});
Wtyczka wymaga klucza API dla Gemini API, który można uzyskać z Google AI Studio
Aby skonfigurować wtyczkę do używania klucza interfejsu API, wykonaj jedną z tych czynności:
Ustaw zmienną środowiskową
GOOGLE_GENAI_API_KEY
na swój klucz interfejsu API.Podaj klucz interfejsu API podczas inicjowania wtyczki:
googleAI({ apiKey: yourKey });
Nie umieszczaj jednak klucza API bezpośrednio w kodzie. Używaj tylko tej funkcji w połączeniu z usługą taką jak Cloud Secret Manager lub podobną.
Niektóre modele (takie jak Gemini 1.5 Pro) są w wersji testowej i są dostępne tylko w
Interfejs API v1beta
. Możesz określić apiVersion
, aby uzyskać dostęp do tych modeli:
configureGenkit({
plugins: [googleAI({ apiVersion: 'v1beta' })],
});
lub określić kilka wersji, jeśli chcesz używać różnych 300% jednocześnie.
configureGenkit({
plugins: [googleAI({ apiVersion: ['v1', 'v1beta'] })],
});
Wykorzystanie
Ta wtyczka statycznie eksportuje odwołania do obsługiwanych modeli:
import {
gemini15Flash,
gemini15Pro,
textEmbeddingGecko001,
} from '@genkit-ai/googleai';
Za pomocą tych odwołań możesz określić, którego modelu używa funkcja generate()
:
const llmResponse = await generate({
model: gemini15Flash,
prompt: 'Tell me a joke.',
});
lub używać wtyczek (np. textEmbeddingGecko001
) z użytkownikiem embed
lub retrieverami:
const embedding = await embed({
embedder: textEmbeddingGecko001,
content: input,
});
Gemini Files API
W Genkit możesz używać plików przesłanych do interfejsu Gemini Files API:
import { GoogleAIFileManager } from '@google/generative-ai/server';
const fileManager = new GoogleAIFileManager(process.env.GOOGLE_GENAI_API_KEY);
const uploadResult = await fileManager.uploadFile(
'path/to/file.jpg',
{
mimeType: 'image/jpeg',
displayName: 'Your Image',
}
);
const response = await generate({
model: gemini15Flash,
prompt: [
{text: 'Describe this image:'},
{media: {contentType: uploadResult.file.mimeType, url: uploadResult.file.uri}}
]
});
Modele dostrojone
Możesz używać modeli dostrojonych za pomocą interfejsu Google Gemini API. Wykonaj instrukcje z Gemini API lub dostrój model za pomocą AI Studio.
Proces strojenia wykorzystuje model podstawowy (np. Gemini 1.5 Flash) i podane przez Ciebie przykłady, aby utworzyć nowy dostrojony model. Zapamiętaj użyty model podstawowy i skopiuj identyfikator nowego modelu.
Podczas wywoływania modelu dostrojonego w Genkit użyj modelu podstawowego jako parametru model
i przekaż identyfikator dostrojonego modelu w ramach bloku config
. Jeśli na przykład jako model podstawowy korzystasz z Gemini 1.5 Flash i masz identyfikator modelu tunedModels/my-example-model-apbm8oqbvuv2
, możesz go wywołać za pomocą poniższego bloku:
const llmResponse = await generate({
prompt: `Suggest an item for the menu of fish themed restruant`,
model: gemini15Flash,
config: {
version: "tunedModels/my-example-model-apbm8oqbvuv2",
},
});