پلاگین هوش مصنوعی Google Generative

افزونه Google Generative AI رابط هایی را برای مدل های Gemini گوگل از طریق Gemini API فراهم می کند.

نصب و راه اندازی

npm i --save @genkit-ai/googleai

پیکربندی

برای استفاده از این افزونه، هنگام فراخوانی configureGenkit() آن را مشخص کنید:

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

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

این افزونه به یک کلید API برای Gemini API نیاز دارد که می‌توانید آن را از Google AI Studio دریافت کنید.

با انجام یکی از موارد زیر، افزونه را برای استفاده از کلید API خود پیکربندی کنید:

  • متغیر محیطی GOOGLE_GENAI_API_KEY را روی کلید API خود تنظیم کنید.

  • هنگامی که افزونه را مقداردهی اولیه می کنید، کلید API را مشخص کنید:

    googleAI({ apiKey: yourKey });
    

    با این حال، کلید API خود را مستقیماً در کد قرار ندهید! از این ویژگی فقط در ارتباط با سرویسی مانند Cloud Secret Manager یا موارد مشابه استفاده کنید.

برخی از مدل ها (مانند Gemini 1.5 Pro) در پیش نمایش هستند و فقط از طریق v1beta API قابل دسترسی هستند. برای دسترسی به این مدل ها می توانید apiVersion را مشخص کنید:

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

یا اگر می خواهید از نسخه های مختلف مدل ها به طور همزمان استفاده کنید، می توانید چندین نسخه را مشخص کنید.

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

استفاده

این افزونه به صورت ایستا مراجع به مدل های پشتیبانی شده خود صادر می کند:

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

می توانید از این ارجاعات برای تعیین اینکه از کدام مدل generate() استفاده می کند استفاده کنید:

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

یا از embedder ها (مثلا textEmbeddingGecko001 ) با embed یا retriever استفاده کنید:

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

Gemini Files API

می توانید از فایل های آپلود شده در Gemini Files API با 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}}
  ]
});