Плагин Google Generative AI предоставляет интерфейсы к моделям Google Gemini через Gemini API .
Установка
npm i --save @genkit-ai/googleai
Конфигурация
Чтобы использовать этот плагин, укажите его при инициализации Genkit:
import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/googleai';
const ai = genkit({
plugins: [googleAI()],
});
Плагину требуется API-ключ для Gemini API, который вы можете получить в Google AI Studio .
Настройте плагин для использования вашего ключа API, выполнив одно из следующих действий:
- Установите для переменной среды
GOOGLE_GENAI_API_KEY
свой ключ API. Укажите ключ API при инициализации плагина:
googleAI({ apiKey: yourKey });
Однако не встраивайте ключ API непосредственно в код! Используйте эту функцию только в сочетании с такой службой, как Cloud Secret Manager или аналогичной.
Использование
Этот плагин статически экспортирует ссылки на поддерживаемые модели:
import {
gemini15Flash,
gemini15Pro,
textEmbedding004,
} from '@genkit-ai/googleai';
Вы можете использовать эти ссылки, чтобы указать, какую модель использует generate()
:
const ai = genkit({
plugins: [googleAI()],
model: gemini15Flash,
});
const llmResponse = await ai.generate('Tell me a joke.');
или используйте средства внедрения (например, textEmbedding004
) с embed
или методами извлечения:
const ai = genkit({
plugins: [googleAI()],
});
const embedding = await ai.embed({
embedder: textEmbedding004,
content: input,
});
API файлов Gemini
Вы можете использовать файлы, загруженные в Gemini Files API, с помощью Genkit:
import { GoogleAIFileManager } from '@google/generative-ai/server';
import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/googleai';
const ai = genkit({
plugins: [googleAI()],
});
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 ai.generate({
model: gemini15Flash,
prompt: [
{text: 'Describe this image:'},
{media: {contentType: uploadResult.file.mimeType, url: uploadResult.file.uri}}
]
});
Точные настройки моделей
Вы можете использовать модели, настроенные с помощью API Google Gemini. Следуйте инструкциям API Gemini или настройте модель с помощью AI Studio .
В процессе настройки используется базовая модель, например Gemini 1.5 Flash, и предоставленные вами примеры для создания новой настроенной модели. Запомните использованную базовую модель и скопируйте идентификатор новой модели.
При вызове настроенной модели в Genkit используйте базовую модель в качестве параметра model
и передайте идентификатор настроенной модели как часть блока config
. Например, если вы использовали Gemini 1.5 Flash в качестве базовой модели и получили идентификатор модели tunedModels/my-example-model-apbm8oqbvuv2
вы можете вызвать ее с помощью:
const ai = genkit({
plugins: [googleAI()],
});
const llmResponse = await ai.generate({
prompt: `Suggest an item for the menu of fish themed restruant`,
model: gemini15Flash.withConfig({
version: "tunedModels/my-example-model-apbm8oqbvuv2",
}),
});