Pular para o conteúdo principal

Construção de Ollama

Instalação de Ollama

官网

Github更多教程

Windows文档

Porta padrão: 11434

Comando Shell

Lista de modelos

ollama list

Modelos em

ollama ps

Mostrar detalhes do modelo

ollama show llama3.1

Acesso

RESTful API (em inglês)

参考

完整文档

curl http://localhost:11434/api/generate -d '{
"model": "llama3.1",
"prompt":"Why is the sky blue?",
"stream": false
}'

Interfaces compatíveis com OpenAI

文档

Versão LangChain-TS

@langchain/ollama

    • Biblioteca de instalação * *
pnpm add @langchain/ollama

文档

教程

Iniciação rápida

import { StringOutputParser } from "@langchain/core/output_parsers";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { ChatOllama } from "@langchain/ollama";

export async function main() {
const model = new ChatOllama({
baseUrl: "http://ai.cdatatec.cn:11434",
model: "llama3.1",
temperature: 0,
});
const prompt = ChatPromptTemplate.fromTemplate(
"讲一个关于{topic}的笑话"
);
const parser = new StringOutputParser();

const chain = prompt.pipe(model).pipe(parser);
const stream = await chain.stream({
topic: "parrot",
});
for await (const chunk of stream) {
console.log(`${chunk}|`);
}
}

Configurar o endereço do servidor Ollama via baseUrl

  • Multimodal * *
import { ChatOllama } from "@langchain/ollama";
import { HumanMessage } from "@langchain/core/messages";
import * as fs from "fs/promises";

export async function main() {
console.log(process.cwd());
const imageData = await fs.readFile("src/ollama/hot-dog.png");

const llmForMultiModal = new ChatOllama({
model: "llava-llama3",
baseUrl: "http://ai.cdatatec.cn:11434",
});

const multiModalRes = await llmForMultiModal.invoke([
new HumanMessage({
content: [
{
type: "text",
text: "图片里有什么?",
},
{
type: "image_url",
image_url: `data:image/jpeg;base64,${imageData.toString("base64")}`,
},
],
}),
]);
console.log(multiModalRes);
console.log(multiModalRes.content);
}

Modelo comum

Apoio à visão

模型描述Sizes
llava一种新颖的端到端训练的大型多模态模型,结合了视觉编码器和Vicuna,用于通用视觉和语言理解。7B, 13B, 34B
llava-llama3一个从Llama 3 Instruct微调而来的LLaVA模型,在多个基准测试中表现更佳。8B
llava-phi3一个从Phi 3 Mini微调而来的新型小型LLaVA模型。3B
moondreammoondream2是一个小型视觉语言模型,专为在边缘设备上高效运行而设计。Not specified
bakllava一个多模态模型,由Mistral 7B基础模型和LLaVA架构增强而成。7B

Suporte a função Call

模型参数描述
mistral7BMistral AI发布的7B模型,更新到0.3版本。
llama3.18B, 70BLlama 3.1是Meta的新型最先进模型
mixtral8x7B, 8x22BMistral AI开发的具有开放权重的专家混合(MoE)模型集,有8x7B和8x22B两种参数规模。
mistral-nemo12BMistral AI与NVIDIA合作开发的最先进12B模型,具有128k的上下文长度。
command-r-plus104BCommand R+是一个强大、可扩展的大型语言模型,专为擅长现实世界的企业用例而构建。
mistral-large123BMistral Large 2是Mistral的新旗舰模型,在代码生成、数学和推理方面能力显著提升,具有128k的上下文窗口,并支持数十种语言。
llama3-groq-tool-use8B, 70BGroq开发的一系列模型,代表了开源AI在工具使用/函数调用能力方面的重大进步。
hermes38BHermes 3是Nous Research开发的旗舰Hermes系列LLM的最新版本。
firefunction-v270B基于Llama 3的开放权重函数调用模型,其函数调用能力可与GPT-4相媲美。