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 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 servidor do Ollama:

import "github.com/firebase/genkit/go/plugins/ollama"
// Init with Ollama's default local address.
if err := ollama.Init(ctx, &ollama.Config{
	ServerAddress: "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 no 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:

text, err := ai.GenerateText(ctx, model, ai.WithTextPrompt("Tell me a joke."))
if err != nil {
	return err
}

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