El complemento de IA generativa de Google proporciona interfaces para los modelos de Gemini de Google a través de la API de Gemini.
Instalación
npm i --save @genkit-ai/googleai
Configuración
Para usar este complemento, especifícalo cuando llames a configureGenkit()
:
import { googleAI } from '@genkit-ai/googleai';
export default configureGenkit({
plugins: [googleAI()],
// ...
});
El complemento requiere una clave de API para la API de Gemini, que puedes obtener en Google AI Studio
Configura el complemento para usar tu clave de API mediante una de las siguientes acciones:
Establece la variable de entorno
GOOGLE_GENAI_API_KEY
en tu clave de API.Especifica la clave de API cuando inicialices el complemento:
googleAI({ apiKey: yourKey });
Sin embargo, no incorpores tu clave de API directamente en el código. Usa solo esta característica junto con un servicio como Cloud Secret Manager o uno similar.
Algunos modelos (como Gemini 1.5 Pro) están en versión preliminar y solo están disponibles a través del
API de v1beta
. Puedes especificar el apiVersion
para obtener acceso a esos modelos:
configureGenkit({
plugins: [googleAI({ apiVersion: 'v1beta' })],
});
o puedes especificar varias versiones si deseas usar diferentes versiones de modelos de AA al mismo tiempo.
configureGenkit({
plugins: [googleAI({ apiVersion: ['v1', 'v1beta'] })],
});
Uso
Este complemento exporta de forma estática referencias a sus modelos compatibles:
import {
gemini15Flash,
gemini15Pro,
textEmbeddingGecko001,
} from '@genkit-ai/googleai';
Puedes usar estas referencias para especificar qué modelo usa generate()
:
const llmResponse = await generate({
model: gemini15Flash,
prompt: 'Tell me a joke.',
});
o usar incorporaciones (p. ej., textEmbeddingGecko001
) con embed
o retrievers:
const embedding = await embed({
embedder: textEmbeddingGecko001,
content: input,
});
API de Gemini Files
Puedes usar los archivos subidos a la API de archivos de Gemini con Genkit:
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}}
]
});