Plug-in da IA generativa do Google

O plug-in da IA generativa do Google fornece interfaces para os modelos do Gemini do Google pela API Gemini.

Instalação

npm i --save @genkit-ai/googleai

Configuração

Para usar esse plug-in, especifique-o ao chamar configureGenkit():

import { googleAI } from '@genkit-ai/googleai';

export default configureGenkit({
  plugins: [googleAI()],
  // ...
});

O plug-in exige uma chave de API para a API Gemini, que você pode acessar no Google AI Studio.

Siga um destes procedimentos para configurar o plug-in para usar sua chave de API:

  • Defina a variável de ambiente GOOGLE_GENAI_API_KEY como sua chave de API.

  • Especifique a chave de API ao inicializar o plug-in:

    googleAI({ apiKey: yourKey });
    

    No entanto, não incorpore a chave de API diretamente no código. Use este recurso apenas em conjunto com um serviço como Cloud Secret Manager ou similar.

Alguns modelos (como o Gemini 1.5 Pro) estão em pré-lançamento e só podem ser disponibilizados pelo API v1beta. É possível especificar o apiVersion para ter acesso a esses modelos:

configureGenkit({
  plugins: [googleAI({ apiVersion: 'v1beta' })],
});

ou você pode especificar várias versões se quiser usar diferentes versões do ao mesmo tempo.

configureGenkit({
  plugins: [googleAI({ apiVersion: ['v1', 'v1beta'] })],
});

Uso

Esse plug-in exporta estaticamente referências aos modelos compatíveis:

import {
  gemini15Flash,
  gemini15Pro,
  textEmbeddingGecko001,
} from '@genkit-ai/googleai';

É possível usar essas referências para especificar qual modelo o generate() usa:

const llmResponse = await generate({
  model: gemini15Flash,
  prompt: 'Tell me a joke.',
});

ou use embedders (por exemplo, textEmbeddingGecko001) com embed ou recuperadores:

const embedding = await embed({
  embedder: textEmbeddingGecko001,
  content: input,
});

API Gemini Files

É possível usar arquivos enviados para a API Gemini Files com o 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}}
  ]
});

Modelos ajustados

Você pode usar modelos ajustados com a API Google Gemini. Siga as instruções da API Gemini ou ajuste um modelo usando o Google AI Studio.

O processo de ajuste usa um modelo base, por exemplo, o Gemini 1.5 Flash, e os exemplos fornecidos para criar um novo modelo ajustado. Lembre-se do modelo base que você usou e copie o ID do novo modelo.

Ao chamar o modelo ajustado no Genkit, use o modelo base como o parâmetro model e transmita o ID do modelo ajustado como parte do bloco config. Por exemplo, se você usou o Gemini 1.5 Flash como modelo base e recebeu o ID de modelo tunedModels/my-example-model-apbm8oqbvuv2, é possível fazer a chamada com um bloco como este:

const llmResponse = await generate({
  prompt: `Suggest an item for the menu of fish themed restruant`,
  model: gemini15Flash,
  config: {
    version: "tunedModels/my-example-model-apbm8oqbvuv2",
  },
});