المكوّن الإضافي للذكاء الاصطناعي التوليدي من Google

يقدّم المكوّن الإضافي "الذكاء الاصطناعي التوليدي من Google" واجهات لنماذج Gemini من Google من خلال Gemini API.

تثبيت

npm i --save @genkit-ai/googleai

الإعداد

لاستخدام هذا المكوّن الإضافي، حدِّده عند إعداد Genkit:

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

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

يتطلّب المكوّن الإضافي مفتاح واجهة برمجة تطبيقات لخدمة Gemini API، والذي يمكنك الحصول عليه من Google AI Studio.

يمكنك ضبط المكوّن الإضافي لاستخدام مفتاح واجهة برمجة التطبيقات من خلال تنفيذ أحد الإجراءَين التاليَين:

  • اضبط متغيّر البيئة GOOGLE_GENAI_API_KEY على مفتاح واجهة برمجة التطبيقات.
  • حدِّد مفتاح واجهة برمجة التطبيقات عند إعداد المكوّن الإضافي:

    googleAI({ apiKey: yourKey });
    

    ومع ذلك، لا تُدرِج مفتاح واجهة برمجة التطبيقات مباشرةً في الرمز. لا تستخدِم هذه الميزة إلا مع خدمة مثل Cloud Secret Manager أو ما شابه.

الاستخدام

يصدِّر هذا المكوِّن الإضافي بشكلٍ ثابت إشارات إلى النماذج المتوافقة معه:

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

يمكنك استخدام هذه الإشارات لتحديد النموذج الذي يستخدمه generate():

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

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

أو استخدام أدوات التضمين (مثل textEmbedding004) مع embed أو برامج الاسترجاع:

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

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

Gemini Files API

يمكنك استخدام الملفات التي تم تحميلها إلى Gemini Files API باستخدام 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}}
  ]
});

النماذج المحسَّنة

يمكنك استخدام النماذج التي تم تحسينها باستخدام Google Gemini API. اتّبِع تعليمات Gemini API أو حسِّن نموذجًا باستخدام AI Studio.

تستخدِم عملية الضبط نموذجًا أساسيًا، مثل Gemini 1.5 Flash، و الأمثلة التي قدّمتها لإنشاء نموذج جديد معدَّل. تذكَّر النموذج الأساسي الذي استخدَمته وانسخ رقم تعريف النموذج الجديد.

عند استدعاء النموذج المحسَّن في Genkit، استخدِم النموذج الأساسي كمَعلمة model ، وأرسِل رقم تعريف النموذج المحسَّن كجزء من العنصر config. على سبيل المثال، إذا استخدمت نموذج Gemini 1.5 Flash كنموذج أساسي، وحصلت على معرّف النموذج tunedModels/my-example-model-apbm8oqbvuv2، يمكنك استدعاؤه باستخدام:

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