Wtyczka Google Generative AI

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