Plug-in do Ollama

O plug-in Ollama fornece interfaces para qualquer um dos LLMs locais com suporte do Ollama.

Pré-requisitos

Esse plug-in exige que você primeiro instale e execute o servidor Ollama. Siga as instruções do download na página do Ollama.

Use a CLI do Ollama para fazer o download dos modelos do seu interesse. Exemplo:

ollama pull gemma3

Para desenvolvimento, é possível executar o Ollama na sua máquina de desenvolvimento. Apps implantados geralmente executam o Ollama em uma máquina acelerada por GPU diferente da que hospeda o back-end do app que executa o Genkit.

Configuração

Para usar esse plug-in, transmita ollama.Ollama para WithPlugins() no inicializador do Genkit, especificando o endereço do servidor 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"}))

Uso

Para gerar conteúdo, primeiro é preciso criar uma definição de modelo com base no modelo que você instalou e quer usar. Por exemplo, se você instalou o Gemma 2:

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

Em seguida, use a referência do modelo para enviar solicitações ao servidor 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())

Consulte Como gerar conteúdo para mais informações.