Este artigo descreve como usar o Ollama API . Esta documentação tem o objetivo de ajudar os desenvolvedores a começar rapidamente e aproveitar ao máximo os recursos do Ollama. Você pode usá-lo em um ambiente Node.js ou importar o módulo diretamente no seu navegador. Ao estudar este documento, você poderá integrar facilmente o Ollama aos seus projetos.
Instalar Ollama
npm i ollama
Uso
import ollama from 'ollama'
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: '为什么天空是蓝色的?' }],
})
console.log(response.message.content)
Uso do navegador
Para usar essa biblioteca sem o Node.js, importe o módulo do navegador.
import ollama from 'ollama/browser'
resposta de streaming
Isso pode ser feito definindo o stream: true Habilite o streaming de resposta para que uma chamada de função retorne um AsyncGenerator em que cada parte é um objeto no fluxo.
import ollama from 'ollama'
const message = { role: 'user', content: '为什么天空是蓝色的?' }
const response = await ollama.chat({ model: 'llama3.1', messages: [message], stream: true })
for await (const part of response) {
process.stdout.write(part.message.content)
}
Saída estruturada
Usando a biblioteca Ollama JavaScript, a arquitetura como um JSON é passado para o objeto format você pode, opcionalmente, usar o parâmetro object ou você pode usar o Zod (recomendado) para passar o formato zodToJsonSchema() Arquitetura de serialização de métodos.
import ollama from 'ollama';
import { z } from 'zod';
import { zodToJsonSchema } from 'zod-to-json-schema';
const Country = z.object({
name: z.string(),
capital: z.string(),
languages: z.array(z.string()),
});
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: 'Tell me about Canada.' }],
format: zodToJsonSchema(Country),
});
const country = Country.parse(JSON.parse(response.message.content));
console.log(country);
Criação de modelos
import ollama from 'ollama'
const modelfile = `
FROM llama3.1
SYSTEM "你是超级马里奥兄弟中的马里奥。"
`
await ollama.create({ model: 'example', modelfile: modelfile })
API
A API da biblioteca JavaScript da Ollama foi projetada com base na API REST da Ollama. Se você quiser saber mais sobre a implementação subjacente e as informações completas do ponto de extremidade da API, recomendamos consultar a seção Guia do usuário da API da Ollama
bate-papos
ollama.chat(request)
request<Object>Objeto de solicitação que contém parâmetros de bate-papo.model<string>O nome do modelo a ser usado para o bate-papo.messages<Message[]>Objetos de mensagem: Uma matriz de objetos de mensagem que representam o histórico de bate-papo.role<string>Função: A função do remetente da mensagem ("usuário", "sistema" ou "assistente").content<string>Conteúdo da mensagem: O conteúdo da mensagem.images<Uint8Array[] | string[]>Imagem: (Opcional) A imagem a ser incluída na mensagem, seja um Uint8Array ou uma string codificada em base64.
format<string>(Opcional) Defina o formato esperado da resposta (json).stream<boolean>(Opcional) Se verdadeiro, retornaAsyncGenerator.keep_alive<string | number>(Opcional) Mantém o período de tempo em que o modelo é carregado.tools<Tool[]>(Opcional) Uma lista de ferramentas que podem ser chamadas pelo modelo.options<Options>(Opcional) Configure as opções de tempo de execução.
- Devoluções.
<ChatResponse>
gerando
ollama.generate(request)
request<Object>Objeto de solicitação que contém os parâmetros gerados.model<string>O nome do modelo a ser usado para o bate-papo.prompt<string>:: Dicas enviadas ao modelo.suffix<string>(Opcional) O sufixo é o texto que segue o texto inserido.system<string>(Opcional) Substituir os avisos do sistema do modelo.template<string>(Opcional) Substituir modelos de modelos.raw<boolean>(Opcional) Ignora o modelo de prompt e passa o prompt diretamente para o modelo.images<Uint8Array[] | string[]>Imagem: (Opcional) A imagem a ser incluída, seja um Uint8Array ou uma string codificada em base64.format<string>(Opcional) Defina o formato esperado da resposta (json).stream<boolean>(Opcional) Se verdadeiro, retornaAsyncGenerator.keep_alive<string | number>(Opcional) Mantém o período de tempo em que o modelo é carregado.options<Options>(Opcional) Configure as opções de tempo de execução.
- Devoluções.
<GenerateResponse>
modelo de tração
ollama.pull(request)
request<Object>Objeto de solicitação que contém os parâmetros pull.model<string>O nome do modelo a ser extraído.insecure<boolean>(Opcional) Extrair de servidores que não podem se autenticar.stream<boolean>(Opcional) Se verdadeiro, retornaAsyncGenerator.
- Devoluções.
<ProgressResponse>
modelo push
ollama.push(request)
request<Object>Objeto de solicitação que contém parâmetros de envio.model<string>O nome do modelo a ser enviado.insecure<boolean>(Opcional) Enviar para um servidor que não pode autenticar a identidade.stream<boolean>(Opcional) Se verdadeiro, retornaAsyncGenerator.
- Devoluções.
<ProgressResponse>
Criação de modelos
ollama.create(request)
request<Object>Objeto de solicitação: contém o objeto de solicitação para o qual os parâmetros foram criados.model<string>O nome do modelo a ser criado.path<string>(Opcional) Caminho para o arquivo de modelo a ser criado.modelfile<string>(Opcional) O conteúdo do arquivo de modelo a ser criado.stream<boolean>(Opcional) Se verdadeiro, retornaAsyncGenerator.
- Devoluções.
<ProgressResponse>
Excluir modelo
ollama.delete(request)
request<Object>Objeto de solicitação que contém o parâmetro de exclusão.model<string>O nome do modelo a ser excluído.
- Devoluções.
<StatusResponse>
Modelos de replicação
ollama.copy(request)
request<Object>Objeto de solicitação que contém os parâmetros de replicação.source<string>O nome do modelo a ser copiado.destination<string>O nome do modelo para o qual copiar.
- Devoluções.
<StatusResponse>
Lista de modelos locais
ollama.list()
- Devoluções.
<ListResponse>
Exibição de informações do modelo
ollama.show(request)
request<Object>Objeto de solicitação que contém os parâmetros de exibição.model<string>O nome do modelo a ser exibido.system<string>(Opcional) Substitui o valor de retorno do prompt do sistema do modelo.template<string>(Opcional) Substitui o valor de retorno do modelo.options<Options>(Opcional) Configure as opções de tempo de execução.
- Devoluções.
<ShowResponse>
Gerar incorporação
ollama.embed(request)
request<Object>Objeto de solicitação que contém parâmetros incorporados.model<string>O nome do modelo usado para gerar a incorporação.input<string> | <string[]>Entrada usada para gerar a incorporação.truncate<boolean>(Opcional) Truncar a entrada para ajustá-la ao comprimento máximo de contexto suportado pelo modelo.keep_alive<string | number>(Opcional) Mantém o período de tempo em que o modelo é carregado.options<Options>(Opcional) Configure as opções de tempo de execução.
- Devoluções.
<EmbedResponse>
curso
ollama.ps()
- Devoluções.
<ListResponse>
Clientes personalizados
Clientes personalizados podem ser criados usando os seguintes campos:
host<string>(Opcional) Endereço do host Ollama. Padrão."http://127.0.0.1:11434".fetch<Object>Biblioteca de busca: (Opcional) A biblioteca de busca usada para fazer solicitações ao host Ollama.
import { Ollama } from 'ollama'
const ollama = new Ollama({ host: 'http://127.0.0.1:11434' })
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: '为什么天空是蓝色的?' }],
})
construir (algo abstrato)
Para criar o arquivo de projeto, execute:
npm run build
Consulte a documentação:ollama-js

































