Complemento Ollama

El complemento Ollama proporciona interfaces para cualquiera de los LLM locales compatibles con Ollama:

Requisitos previos

Este complemento requiere que primero instales y ejecutes el servidor de Ollama. Puedes sigue las instrucciones que se indican en el artículo para descargar Ollama. .

Usa la CLI de Ollama para descargar los modelos que te interesan. Por ejemplo:

ollama pull gemma2

Para el desarrollo, puedes ejecutar Ollama en tu máquina de desarrollo. Apps implementadas Por lo general, ejecuta Ollama en una máquina diferente acelerada por GPU desde el backend de la app. que ejecuta Genkit.

Configuración

Para usar este complemento, llama a ollama.Init() y especifica la dirección de tu Ollama. servidor:

import "github.com/firebase/genkit/go/plugins/ollama"
// Init with Ollama's default local address.
if err := ollama.Init(ctx, "http://127.0.0.1:11434"); err != nil {
    return err
}

Uso

Para generar contenido, primero debes crear una definición de modelo basada en el modelo que instalaste y quieres usar. Por ejemplo, si instalaste Gemma 2:

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

Luego, puedes usar la referencia del modelo para enviar solicitudes al servidor de Ollama:

genRes, err := model.Generate(ctx, ai.NewGenerateRequest(
    nil, ai.NewUserTextMessage("Tell me a joke.")), nil)
if err != nil {
    return err
}

Consulta Generación de contenido para obtener más información.