Plug-in di IA generativa di Google

Il plug-in di IA generativa di Google fornisce interfacce per i modelli Gemini di Google tramite l'API Gemini.

Installazione

npm i --save @genkit-ai/googleai

Configurazione

Per utilizzare questo plug-in, specificalo quando avvii Genkit:

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

const ai = genkit({
  plugins: [googleAI()],
});

Il plug-in richiede una chiave API per l'API Gemini, che puoi ottenere da Google AI Studio.

Configura il plug-in in modo che utilizzi la tua chiave API effettuando una delle seguenti operazioni:

  • Imposta la variabile di ambiente GOOGLE_GENAI_API_KEY sulla tua chiave API.
  • Specifica la chiave API quando inizilizi il plug-in:

    googleAI({ apiKey: yourKey });
    

    Tuttavia, non incorporare la chiave API direttamente nel codice. Utilizza questa funzionalità solo in combinazione con un servizio come Cloud Secret Manager o uno simile.

Utilizzo

Questo plug-in esporta in modo statico i riferimenti ai modelli supportati:

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

Puoi utilizzare questi riferimenti per specificare il modello utilizzato da generate():

const ai = genkit({
  plugins: [googleAI()],
  model: gemini15Flash,
});

const llmResponse = await ai.generate('Tell me a joke.');

o utilizzare componenti embed (ad es. textEmbedding004) con embed o cani da riporto:

const ai = genkit({
  plugins: [googleAI()],
});

const embedding = await ai.embed({
  embedder: textEmbedding004,
  content: input,
});

API Gemini Files

Puoi utilizzare i file caricati nell'API Gemini Files con 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}}
  ]
});

Modelli ottimizzati

Puoi utilizzare i modelli ottimizzati con l'API Google Gemini. Segui le istruzioni dell'API Gemini o perfeziona un modello utilizzando AI Studio.

La procedura di ottimizzazione utilizza un modello di base, ad esempio Gemini 1.5 Flash, e gli esempi forniti per creare un nuovo modello ottimizzato. Ricorda il modello di base che hai utilizzato e copia l'ID del nuovo modello.

Quando chiami il modello ottimizzato in Genkit, utilizza il modello di base come parametro model e passa l'ID del modello ottimizzato all'interno del blocco config. Ad esempio, se hai utilizzato Gemini 1.5 Flash come modello di base e hai ottenuto l'ID modello tunedModels/my-example-model-apbm8oqbvuv2, puoi chiamarlo con:

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",
  }),
});