Plug-in Ollama

O plug-in Ollama fornece interfaces para qualquer um dos LLMs locais com suporte do Ollama (em inglês).

Pré-requisitos

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

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

ollama pull gemma2

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

Configuração

Para usar esse plug-in, chame ollama.Init(), especificando o endereço do 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 gerar conteúdo, primeiro é preciso criar uma definição de modelo com base do modelo que você instalou e quer usar. Por exemplo, se você instalou o Gemma 2:

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

Em seguida, use a referência do modelo para enviar solicitações ao servidor Ollama:

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

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