Plugin AI Generatif Google

Plugin AI Generatif Google menyediakan antarmuka ke model Gemini Google melalui Gemini API.

Penginstalan

npm i --save @genkit-ai/googleai

Konfigurasi

Untuk menggunakan plugin ini, tentukan saat Anda memanggil configureGenkit():

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

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

Plugin ini memerlukan kunci API untuk Gemini API, yang dapat Anda peroleh dari Google AI Studio.

Konfigurasikan plugin untuk menggunakan kunci API Anda dengan melakukan salah satu hal berikut:

  • Tetapkan variabel lingkungan GOOGLE_GENAI_API_KEY ke kunci API Anda.

  • Tentukan kunci API saat Anda menginisialisasi plugin:

    googleAI({ apiKey: yourKey });
    

    Namun, jangan sematkan kunci API Anda secara langsung di dalam kode. Gunakan fitur ini saja bersama dengan layanan seperti Cloud Secret Manager atau yang serupa.

Beberapa model (seperti Gemini 1.5 Pro) masih dalam pratinjau dan hanya tersedia melalui v1beta API. Anda dapat menentukan apiVersion untuk mendapatkan akses ke model tersebut:

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

atau Anda dapat menentukan beberapa versi jika ingin menggunakan versi model yang berbeda secara bersamaan.

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

Penggunaan

Plugin ini mengekspor referensi secara statis ke model yang didukungnya:

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

Anda dapat menggunakan referensi ini untuk menentukan model yang digunakan generate():

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

atau menggunakan embeddingder (mis. textEmbeddingGecko001) dengan embed atau pengambil:

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

Gemini Files API

Anda dapat menggunakan file yang diupload ke Gemini Files API dengan 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}}
  ]
});

Model yang di-fine-tune

Anda dapat menggunakan model yang disesuaikan dengan Google Gemini API. Ikuti petunjuk dari Gemini API atau sesuaikan model menggunakan AI Studio.

Proses penyesuaian menggunakan model dasar—misalnya, Gemini 1.5 Flash—dan contoh yang Anda sediakan untuk membuat model baru yang telah disesuaikan. Ingat model dasar yang Anda gunakan, dan salin ID model baru.

Saat memanggil model yang disesuaikan di Genkit, gunakan model dasar sebagai parameter model, lalu teruskan ID model yang disesuaikan sebagai bagian dari blok config. Misalnya, jika Anda menggunakan Gemini 1.5 Flash sebagai model dasar, dan mendapatkan ID model tunedModels/my-example-model-apbm8oqbvuv2, Anda dapat memanggilnya dengan blok seperti berikut:

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