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