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

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

تثبيت

npm i --save @genkit-ai/googleai

الإعداد

لاستخدام هذا المكوّن الإضافي، حدِّده عند الاتصال بـ configureGenkit():

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

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

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

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

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

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

    googleAI({ apiKey: yourKey });
    

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

إنّ بعض النماذج (مثل Gemini 1.5 Pro) متوفّرة في إصدار تجريبي ولا يمكن استخدامها إلا من خلال واجهة برمجة التطبيقات v1beta. يمكنك تحديد 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.',
});

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

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}}
  ]
});

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

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

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

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

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