客户端安装
在 Ollama 本地运行模型后,其实已经内置了一个 HTTP API 服务,默认监听:
http://localhost:11434
你可以像调用普通 REST API 一样调用它。下面给你从 接口结构 → curl 调用 → Node.js 调用 → 前端调用注意事项完整讲一遍。
一、确认 Ollama API 服务是否运行
先确认服务是否启动:
ollama serve
或者直接运行模型:
ollama run qwen2.5
默认 API:
http://localhost:11434/api
常用接口:
| 接口 | 作用 |
|---|---|
/api/generate |
文本生成 |
/api/chat |
Chat 对话 |
/api/tags |
查看本地模型 |
/api/embeddings |
向量生成 |
二、最常用:生成文本 /api/generate
curl 示例
curl http://localhost:11434/api/generate \
-d '{
"model": "qwen2.5",
"prompt": "介绍一下人工智能"
}'
返回示例:
{
"model": "qwen2.5",
"response": "人工智能(AI)是...",
"done": true
}
三、Chat 对话接口 /api/chat
这个更接近 ChatGPT形式。
curl
curl http://localhost:11434/api/chat \
-d '{
"model": "qwen2.5",
"messages": [
{ "role": "user", "content": "你好" }
]
}'
返回:
{
"message": {
"role": "assistant",
"content": "你好!有什么可以帮助你?"
}
}
四、Node.js 调用(推荐)
如果你是做前端 + Node 后端,这是最常见方式。
const res = await fetch("http://localhost:11434/api/chat", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "qwen2.5",
messages: [{ role: "user", content: "介绍一下Vue3" }],
}),
});
const data = await res.json();
console.log(data.message.content);
五、流式输出(最常用)
Ollama默认是 stream流式返回。
关闭流:
{
"stream": false
}
完整示例:
curl http://localhost:11434/api/generate \
-d '{
"model": "qwen2.5",
"prompt": "写一个Vue3例子",
"stream": false
}'
六、查看本地模型
curl http://localhost:11434/api/tags
返回:
{
"models": [
{
"name": "qwen2.5:7b"
}
]
}
七、远程调用(局域网)
如果你想 让其他设备调用你的Mac Ollama:
启动:
OLLAMA_HOST=0.0.0.0 ollama serve
然后访问:
http://你的IP:11434/api/chat
例如
http://192.168.1.10:11434
八、OpenAI兼容接口(很多AI工具用这个)
很多工具(如:
- Continue
- Open WebUI
支持 OpenAI格式。
Ollama可以这样调用:
http://localhost:11434/v1/chat/completions
示例:
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen2.5",
"messages": [
{"role": "user", "content": "Hello"}
]
}'
九、你做前端项目的推荐架构
你现在是 Vue + AI项目开发,建议架构:
Vue前端
│
│ HTTP
│
Node / Python API
│
│
Ollama API
原因:
- 前端直接请求会 跨域
- API key / 模型管理安全
- 可以做 prompt工程
- 可以做 RAG知识库
十、我建议你一定要知道的 3 个高级用法
如果你是做 AI应用开发,这三个是核心:
1️⃣ Streaming流式输出
类似ChatGPT逐字输出
2️⃣ System Prompt
{
"messages": [{ "role": "system", "content": "你是心理咨询师" }]
}
3️⃣ temperature
控制随机性
{
"options": {
"temperature": 0.7
}
}
💡 如果你的目标是:
- 本地 AI 助手
- AI 心理咨询应用
- AI 聊天小程序
- VSCode AI 编程
我可以给你一套 完整的 Ollama + Vue3 + Node 的 AI项目架构(可直接开发)。 很多开发者都不知道这套结构,做 AI 应用会非常省事。