本地部署Ollama后,5个常用API+新增接口,简洁够用(项目直接调用)
大家好,我是直奔標杆!专注于分享实用技术干货,助力各位开发者少走弯路、直奔技术标杆~ 今天给大家整理的是Ollama本地部署后的常用API,都是项目开发中高频用到的,无需复杂配置,复制示例就能直接调用,新手也能快速上手!
Ollama作为一款轻量易用的本地大模型部署工具,最大的优势就是部署简单、接口简洁,本地部署完成后,默认会在11434端口开放一套RESTful API,无需额外配置,直接通过HTTP请求就能调用本地大模型的全部能力,轻松实现AI集成到私有应用中,提升职场开发效率。
下面先给大家梳理接口基础信息,再详细拆解最常用的5个核心接口,额外补充2个实用接口,覆盖模型管理、文本生成、多轮对话、向量生成等90%的开发场景,干货满满,建议收藏备用!

一、接口基础信息(必看)
在调用接口前,先明确基础配置,避免踩坑:
-
默认接口地址:
http://localhost:11434/api(本地部署后直接可用,无需修改端口,若需修改可参考Ollama配置文档) -
请求/响应格式:统一为JSON,支持流式输出(实时返回结果,适合聊天界面)和非流式输出(一次性返回完整结果,适合批量处理)两种模式,可根据业务场景灵活选择
-
默认端口:11434(若端口被占用,可通过修改Ollama配置文件调整)
-
调用工具:支持curl、Postman、Python requests等任意可发送HTTP请求的工具,示例以curl为主,兼顾Python调用示例,方便不同开发场景使用
二、核心常用API(5个,项目必用)
这5个接口是本地AI调用的核心,覆盖模型管理、文本生成、多轮对话、向量生成等核心场景,简洁高效,无需多余参数,项目中直接套用即可。
1. /api/tags(查看本地已安装模型)
-
请求方法:GET(无需提交参数,直接请求即可)
-
核心作用:快速列出本地所有已下载、可调用的Ollama模型,包含模型名称、大小、修改时间、量化级别等基础信息,方便开发者快速确认模型是否部署成功、是否可用,是模型管理的基础接口。
-
curl示例:
-
curl http://localhost:11434/api/tags -
补充说明:返回结果会包含模型的详细元数据,比如模型格式、参数规模等,可用于批量获取模型信息,便于后续接口调用时确认模型名称是否正确。
2. /api/generate(单次文本生成/单轮问答)
-
请求方法:POST(需提交JSON格式参数)
-
核心作用:实现单轮文本生成、单次问答,无上下文记忆功能,适合简单的指令生成、单次查询场景(如生成文案、解释概念、简单计算等),是最基础的文本生成接口。
-
核心参数(必传):
-
model:模型名称(需与本地已安装模型一致,如qwen2.5:7b、llama3.2:8b)
-
prompt:用户指令/问题(明确告知模型需要做什么)
-
stream:是否开启流式输出(true=实时逐字返回,false=一次性返回完整结果)
-
-
可选参数:可添加options参数设置模型生成规则(如temperature控制生成随机性、num_predict控制最大生成token数),也可添加suffix参数在响应后追加指定文本,满足个性化生成需求。
-
curl示例:
-
curl http://localhost:11434/api/generate -d '{"model": "qwen2.5:7b","prompt": "解释什么是软包拆垛","stream": false}' -
SpringAI框架Java调用示例(贴合项目实战,直接集成到SpringBoot项目):
-
1. 先在pom.xml中引入SpringAI Ollama依赖 -
<dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-ollama</artifactId> <version>1.0.0-M1</version> // 请使用最新稳定版本 </dependency> -
2. 配置application.yml(指定Ollama服务地址) -
spring: ai: ollama: base-url: http://localhost:11434/api model: qwen2.5:7b -
3. 编写调用接口(SpringBoot接口示例) -
import org.springframework.ai.ollama.OllamaChatClient; import org.springframework.ai.ollama.api.OllamaApi; import org.springframework.ai.ollama.api.OllamaOptions; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class OllamaGenerateController { private final OllamaChatClient ollamaChatClient; // 注入Ollama客户端(SpringAI自动配置) public OllamaGenerateController(OllamaApi ollamaApi) { this.ollamaChatClient = new OllamaChatClient(ollamaApi); } // 单次文本生成接口示例 @GetMapping("/generate") public String generate(@RequestParam String prompt) { // 配置生成参数(非流式输出,可根据需求调整) OllamaOptions options = OllamaOptions.create() .withModel("qwen2.5:7b") .withStream(false); // 调用/api/generate接口,返回生成结果 return ollamaChatClient.generate(prompt, options); } }
3. /api/chat(多轮对话,带上下文记忆)
-
请求方法:POST(需提交JSON格式参数)
-
核心作用:实现多轮对话交互,模型会记住历史对话内容,适合聊天机器人、连续问答等场景(如用户追问、多步骤咨询),比/api/generate更贴近实际交互场景,是对话类项目的核心接口。
-
核心参数(必传):
-
model:模型名称(与本地已安装模型一致)
-
messages:对话历史列表,每个元素包含role(角色,可选user/assistant)和content(对话内容),需按对话顺序排列,模型会根据历史内容生成响应
-
stream:是否开启流式输出(建议聊天场景设为true,提升交互体验)
-
-
补充说明:多轮对话时,需将每次的用户提问和模型响应依次加入messages列表,确保上下文连贯;若需清除上下文,只需清空messages列表即可重新开始对话。
-
curl示例:
-
curl http://localhost:11434/api/chat -d '{"model": "llama3.2:8b","messages": [{"role": "user", "content": "软包拆垛抓手怎么选"}],"stream": false}' -
多轮对话扩展示例(curl):
-
curl http://localhost:11434/api/chat -d '{"model": "llama3.2:8b","messages": [{"role": "user", "content": "软包拆垛抓手怎么选"},{"role": "assistant", "content": "软包拆垛抓手需根据软包材质、重量、拆垛效率选择,优先考虑柔性抓手,避免损伤软包"},{"role": "user", "content": "柔性抓手有哪些类型"}],"stream": false}'
4. /api/embed(文本向量生成)
-
请求方法:POST(需提交JSON格式参数)
-
核心作用:将文本转换为向量表示(嵌入向量),主要用于RAG(检索增强生成)、文本相似度匹配、文本聚类等场景,是构建私有知识库、检索系统的核心接口,能帮助模型更好地理解文本语义关系。
-
核心参数(必传):
-
model:建议使用专门的嵌入模型(如nomic-embed-text、all-MiniLM-L6-v2,需提前下载)
-
input:需要生成向量的文本(可单个文本,也可传入文本列表批量生成)
-
-
补充说明:生成的向量可用于后续的语义检索,比如将知识库文本生成向量存储,用户提问生成向量后,通过相似度匹配找到最相关的知识库内容,再结合生成接口返回精准回答,大幅提升回答质量。
-
curl示例:
-
curl http://localhost:11434/api/embed -d '{"model": "nomic-embed-text","input": "Ollama本地部署接口调用"}'
5. /api/show(查看模型详细信息)
-
请求方法:POST(需提交JSON格式参数)
-
核心作用:查看指定模型的详细配置信息,包括模型参数(如temperature默认值、上下文窗口大小)、提示词模板、系统提示词、模型格式、量化级别等,便于开发者调试模型、优化生成效果,尤其适合自定义模型配置的场景。
-
核心参数(必传):model:需要查看详情的模型名称(与本地已安装模型一致)
-
curl示例:
-
curl http://localhost:11434/api/show -d '{"model": "qwen2.5:7b"}' -
补充说明:通过该接口可快速获取模型的默认配置,若需修改模型的系统提示、生成规则,可结合Modelfile文件进行配置,提升模型适配性。
三、新增2个实用接口(补充拓展,提升效率)
除了上面5个核心接口,再给大家补充2个高频实用接口,覆盖模型启停、批量操作场景,进一步满足项目开发需求,建议一起掌握~
1. /api/delete(删除本地模型)
-
请求方法:POST
-
核心作用:删除本地已安装的模型,释放磁盘空间,适合模型迭代、清理无用模型的场景(比如替换更高版本的模型、删除不常用的模型),是模型管理的重要补充接口。
-
核心参数:model(需删除的模型名称,与/api/tags返回的模型名称一致)
-
curl示例:
-
curl http://localhost:11434/api/delete -d '{"model": "qwen2.5:7b"}'
2. /api/pull(拉取远程模型)
-
请求方法:POST
-
核心作用:从Ollama官方仓库拉取指定模型到本地,无需通过命令行操作,直接通过接口即可完成模型下载,适合批量部署、自动化拉取模型的场景,提升部署效率。
-
核心参数:model(需拉取的模型名称,如llama3:70b、mistral:latest,可在Ollama官方仓库查询可用模型)
-
curl示例:
-
curl http://localhost:11434/api/pull -d '{"model": "llama3:70b"}' -
补充说明:拉取模型时,接口会返回下载进度,可通过监控接口响应,实现模型下载进度的可视化展示,便于批量管理模型下载任务。
四、接口一句话总结(快速记忆,备用查询)
为了方便大家快速记忆和查询,整理了所有接口的核心作用,贴在代码注释或备忘录里,随用随查:
-
/api/tags:查看本地已装模型(模型管理基础)
-
/api/generate:单轮文本生成/单次问答(无上下文)
-
/api/chat:多轮对话(带上下文记忆,聊天场景首选)
-
/api/embed:生成文本向量(RAG、检索场景必备)
-
/api/show:查看模型详细参数(调试、优化模型用)
-
/api/delete:删除本地模型(清理磁盘空间)
-
/api/pull:拉取远程模型(自动化部署模型)
五、实用小贴士(避坑指南)
结合自己的开发经验,给大家分享几个接口调用的避坑点,新手必看,少踩弯路:
-
调用接口前,务必确认Ollama服务已启动(终端执行ollama serve或至少运行过一次ollama run 模型名称),否则会出现Connection refused错误,无法连接接口。
-
model参数必须与本地已安装的模型名称完全一致(包括标签,如qwen2.5:7b不能写成qwen2.5),否则会返回“model not found”错误,可通过/api/tags接口确认模型名称。
-
流式输出(stream: true)适合实时交互场景(如前端聊天界面),非流式输出(stream: false)适合批量处理、需要完整结果的场景,根据业务需求合理选择,避免不必要的性能消耗。
-
生成向量时,建议使用专门的嵌入模型(如nomic-embed-text),不要使用对话模型(如llama3、qwen2.5),否则会导致向量生成效果较差,影响检索精度。
-
默认情况下,Ollama会在模型最后一次使用后将其保存在内存中5分钟,若需立即释放内存,可通过终端执行ollama stop 模型名称,或调整keep_alive参数控制模型在内存中的保持时长。
六、总结
以上就是Ollama本地部署后最常用、最实用的7个API,覆盖了模型管理、文本生成、多轮对话、向量生成等90%以上的本地AI开发场景,接口简洁、无需复杂配置,复制示例就能直接调用,非常适合新手入门和项目快速集成。
我是直奔標杆,始终坚持“共同学习、分享经验”的理念,后续会持续分享Ollama相关的实战技巧(如RAG知识库搭建、接口批量调用、模型优化等),助力大家快速掌握本地大模型部署与调用技巧,少走弯路、直奔技术标杆!
如果大家在接口调用过程中遇到问题,或者有更好的实战经验,欢迎在评论区留言交流,一起进步、一起成长~ 觉得有用的话,别忘了点赞+收藏,后续查找更方便!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)