Плагин Оллама

Плагин Ollama предоставляет интерфейсы для любого локального LLM, поддерживаемого Ollama .

Предварительные условия

Этот плагин требует, чтобы вы сначала установили и запустили сервер Ollama. Вы можете следовать инструкциям на странице загрузки Ollama .

Используйте интерфейс командной строки Ollama для загрузки интересующих вас моделей. Например:

ollama pull gemma3

Для разработки вы можете запустить Ollama на своей машине разработки. Развернутые приложения обычно запускают Ollama на машине с графическим ускорением, отличной от той, на которой размещается серверная часть приложения, на которой работает Genkit.

Конфигурация

Чтобы использовать этот плагин, передайте ollama.Ollama в WithPlugins() в инициализаторе Genkit, указав адрес вашего сервера Ollama:

import "github.com/firebase/genkit/go/plugins/ollama"
g, err := genkit.Init(context.Background(), genkit.WithPlugins(&ollama.Ollama{ServerAddress: "http://127.0.0.1:11434"}))

Использование

Чтобы создать контент, сначала необходимо создать определение модели на основе модели, которую вы установили и хотите использовать. Например, если вы установили Gemma 2:

model := ollama.DefineModel(
    ollama.ModelDefinition{
        Name: "gemma3",
        Type: "chat", // "chat" or "generate"
    },
    &ai.ModelInfo{
        Multiturn:  true,
        SystemRole: true,
        Tools:      false,
        Media:      false,
    },
)

Затем вы можете использовать ссылку на модель для отправки запросов на ваш сервер Ollama:

resp, err := genkit.Generate(ctx, g, ai.WithModel(model), ai.WithPrompt("Tell me a joke."))
if err != nil {
    return err
}

log.Println(resp.Text())

Дополнительную информацию см. в разделе Создание контента .