Ollama प्लगिन

Ollama प्लगिन, Ollama के साथ काम करने वाले सभी स्थानीय एलएलएम के लिए इंटरफ़ेस उपलब्ध कराता है.

इंस्टॉल करना

npm i --save genkitx-ollama

कॉन्फ़िगरेशन

इस प्लग इन के लिए आवश्यक है कि आप पहले ollama सर्वर को इंस्टॉल करें और चलाएं. इसके लिए, यहां दिए गए निर्देशों का पालन करें: https://ollama.com/download

आपके पास अपनी पसंद का मॉडल डाउनलोड करने के लिए, Ollama CLI का इस्तेमाल करने का विकल्प है. जैसे:

ollama pull gemma

इस प्लग इन का इस्तेमाल करने के लिए, configureGenkit() को कॉल करते समय इसके बारे में बताएं.

import { ollama } from 'genkitx-ollama';

export default configureGenkit({
  plugins: [
    ollama({
      models: [
        {
          name: 'gemma',
          type: 'generate', // type: 'chat' | 'generate' | undefined
        },
      ],
      serverAddress: 'http://127.0.0.1:11434', // default local address
    }),
  ],
});

पुष्टि करना

अगर आपको उन ollama के रिमोट डिप्लॉयमेंट को ऐक्सेस करना है जिनके लिए कस्टम हेडर (स्टैटिक, जैसे कि एपीआई पासकोड या डाइनैमिक हेडर, जैसे कि पुष्टि करने वाले हेडर) की ज़रूरत होती है, तो आपके पास उन्हें ollama कॉन्फ़िगरेशन प्लगिन में तय करने का विकल्प होता है:

स्टैटिक हेडर:

ollama({
  models: [{ name: 'gemma'}],
  requestHeaders: {
    'api-key': 'API Key goes here'
  },
  serverAddress: 'https://my-deployment',
}),

हर अनुरोध के लिए, डाइनैमिक तौर पर हेडर भी सेट किए जा सकते हैं. यहां एक उदाहरण दिया गया है. इसमें Google की पुष्टि वाली लाइब्रेरी का इस्तेमाल करके, आईडी टोकन सेट करने का तरीका बताया गया है:

import { GoogleAuth } from 'google-auth-library';
import { ollama, OllamaPluginParams } from 'genkitx-ollama';
import { configureGenkit, isDevEnv } from '@genkit-ai/core';

const ollamaCommon = {models: [{name: "gemma:2b"}]};
const ollamaDev = {
  ...ollamaCommon,
  serverAddress: 'http://127.0.0.1:11434',
} as OllamaPluginParams;
const ollamaProd = {
  ...ollamaCommon,
  serverAddress: 'https://my-deployment',
  requestHeaders: async (params) => ({
    Authorization: `Bearer ${await getIdToken(params.serverAddress)}`,
  }),
} as OllamaPluginParams;

export default configureGenkit({
  plugins: [
    ollama(isDevEnv() ? ollamaDev: ollamaProd),
  ],
});

export async function getIdToken(url: string): Promise<string> {
  const auth = getAuthClient();
  const client = await auth.getIdTokenClient(url);
  return client.idTokenProvider.fetchIdToken(url);
}

let auth: GoogleAuth;
function getAuthClient() {
  // Lazy load GoogleAuth client.
  if (!auth) {
    auth = new GoogleAuth();
  }
  return auth;
}

इस्तेमाल किए जाने से जुड़ी जानकारी

यह प्लगिन, मॉडल रेफ़रंस को स्टैटिक तौर पर एक्सपोर्ट नहीं करता. स्ट्रिंग आइडेंटिफ़ायर का इस्तेमाल करके कॉन्फ़िगर किए गए मॉडल में से किसी एक के बारे में बताएं:

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