微信扫码
添加专属顾问
我要投稿
本地部署大模型,打造专属AI工作流,Ollama助你轻松实现隐私、可控与定制化需求。 核心内容: 1. Ollama本地部署的优势与安装指南 2. 通过API将本地模型接入业务的具体方法 3. LLM封装实现开发工具无缝集成AI功能
这两年大模型卷得飞起:ChatGPT、通义千问、文心一言层出不穷。对普通用户来说,在网页上聊两句就够了;但对开发者 / 研究者 / 数据分析党来说,真正有用的是三件事:
这篇推文,就带你用 Ollama + 本地/云端 API + + LLM封装打通这条链路,做一套「自己的 AI 工作流」。
一、本地部署:为什么越来越多人选择 Ollama?
很多人第一反应:
“我直接用在线大模型不香吗?为什么还要折腾本地部署?”
本地部署有几大优势:
ollama看到帮助信息。输入ollama -v查看安装版本。ollama serve #启动(如果APP启动了本命令忽略)
ollama run deepseek-r1:1.5b #下载模型到本地,后面可替换为其它模型
终端会自动帮你:
到这里,你的 “本地 ChatGPT” 已经跑起来了。
安装并启动 Ollama 后,一般会默认在本机开一个 HTTP 服务:
http://127.0.0.1:11434
我们调用的核心接口通常是:
POST /api/generate
POST /api/chat
curl 发一个最小请求
先在终端试一下最小 demo(以 chat 接口为例):
curl.exe -X POST http://127.0.0.1:11434/api/chat `
-H "Content-Type: application/json" `
-d '{\"model\": \"deepseek-r1:1.5b\",
\"messages\": [{\"role\": \"user\",
\"content\": \"用三句话介绍一下你自己\"}]}'
如果一切正常,你会看到模型返回的 JSON,包括生成的内容。可以看到输出有点混乱,所以这种调用方式不常用。下面是一个最简 Python 示例脚本,你可以放在自己项目里:
import requests
import json
OLLAMA_URL = "http://127.0.0.1:11434/api/chat"
defchat_with_ollama(prompt, model="deepseek-r1:1.5b"):
payload = {
"model": model,
"messages": [
{"role": "user", "content": prompt}
],
"stream": False# 如果想要流式输出,可以改为 True
}
resp = requests.post(OLLAMA_URL, json=payload)
resp.raise_for_status()
data = resp.json()
# Ollama 的 chat 返回里一般有 "message" 字段
return data.get("message", {}).get("content", "")
if __name__ == "__main__":
answer = chat_with_ollama("帮我写一段 50 字以内的大模型介绍")
print(answer)
大模型能够理解、创作并处理文字、图像、视频等复杂信息,展现出强大的认知能力和广泛的应用场景,适用于人工智能领域中的多任务协同和数据驱动决策。
! pip install ollama #下载ollama包
from ollama import Client
# 关键步骤:创建Client时指定明确的host
client = Client(host='http://127.0.0.1:11434')
# 然后使用client进行对话
response = client.chat(
model='deepseek-r1:1.5b',
messages=[
{
'role': 'user',
'content': '用三句话介绍一下你自己',
},
]
)
print(response['message']['content'])
我是人工智能助手DeepSeek-R1,专注于理解、分析和解答复杂的查询。我擅长提供深入的解析和详细的信息解释,并能够快速响应用户的问题。我的独特服务是提供高效的解决方案,帮助用户在复杂的信息中快速找到所需答案。
有了这个模板,你可以很容易把本地模型:
虽然本地模型(例如 Ollama + DeepSeek-R1 本地版)能够实现“离线可用”“数据不出本机”等优势,但在很多实际场景中,云端 API 依然不可替代:
因此,本章补充如何调用主流云端大模型 API,让读者可以完成:
“本地 + 云端”混合式 LLM 工作流。
下面是目前开发者最常用的几类云端大模型:
类型 |
代表模型 |
特点 |
国际强模型 |
GPT-4.1 / o1 / Claude 3.7 |
推理最强、稳定性最高 |
国内旗舰模型 |
通义千问 Qwen-Max / Qwen-Plus |
中文任务强、成本适中 |
国内高性价比模型 |
DeepSeek V3 / R1 / Chat |
性价比极高、推理能力强 |
其他云厂商模型 |
文心 4.0 / 讯飞星火 / 腾讯混元 |
SDK 完备、适合集成到企业系统 |
2. API key(必备)
申请API接口的流程通常包括以下步骤:
选择合适的API平台、
注册并获取API密钥、
阅读文档和示例代码、
测试和集成。
其中,选择合适的API平台是最关键的一步,因为不同的平台提供的API功能和支持可能有所不同。选择一个符合你需求的平台能大大提高开发效率和效果。
获取方法:
较为麻烦且,费用高,支付方式不友好(如果你本身就有就直接用)
DeepSeek
https://platform.deepseek.com/usage
安装 SDK:
! pip install openai #安装openai包
! pip install dotenv #安装读取环境变量的包
从环境变量读取API KEY和BASE:
OPENAI_API_KEY=sk-J #换成你的API KEY
OPENAI_API_BASE=https://sg.uiuiapi.com/v1 #用uiuiapi这行可以不用修改
import os
# 加载 .env 文件
load_dotenv('你的openai.env的绝对路径', override=True)
# 定义环境变量
API_KEY = os.getenv("OPENAI_API_KEY"))
API_BASE = os.getenv("OPENAI_API_BASE"))
调用示例(最新版用法):
from openai import OpenAI
# 初始化 OpenAI 服务。
client = OpenAI(
api_key = API_KEY, # 换成你的API KEY
base_url = API_BASE # API 请求地址,可以是 OpenAI 官网,也可以是代理地址
)
# 调用 GPT-4o-mini 模型
response = client.chat.completions.create(
model = "gpt-4o-mini",
messages = [{"role": "system", "content": "用三句话介绍一下你自己"}]
)
print(response.choices[0].message.content)
我是一个人工智能助手,专注于提供信息和解决问题。我的目标是帮助用户找到所需的答案,并提供有用的建议。无论你有什么问题,我都会尽力为你提供支持。
其它云端API的调用方法一样,只需要替换.env文件里的API key 和URL即可。
现实中,我们经常会有这种需求:
这个时候比较推荐的做法是:在自己项目里写一层统一的 LLM 封装,对外只暴露一个方法:
def llm_chat(provider, prompt, **kwargs):
...
比如简单示意:
# 定义chat_with_ollama
def chat_with_ollama(prompt, model="deepseek-r1:1.5b"):
response = client.chat(
model=model,
messages=[
{"role": "user", "content": prompt}
]
)
return response['message']['content']
#定义chat_with_openai
def chat_with_openai(prompt, model="gpt-4.1-mini"):
client = OpenAI(api_key=API_KEY,
base_url=API_BASE")
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}]
)
return r.choices[0].message.content
#封装
def llm_chat(provider, prompt, **kwargs):
if provider == "ollama":
return chat_with_ollama(prompt, model=kwargs.get("model", "deepseek-r1:1.5b"))
elif provider == "openai":
return chat_with_openai(prompt, model=kwargs.get("model", "gpt-4.1-mini"))
else:
raise ValueError("未知 provider,请使用 ollama/openai/qwen/deepseek")
这样,你只需要在任务代码里写:
text = llm_chat("ollama", "用三句话介绍一下你自己")
code = llm_chat("openai", "写一段 Python 代码计算1-100的和")
print("文本回答:", text)
print("代码回答:", code)
输出结果
文本回答: 我是一个人工智能助手,旨在帮助用户解答问题和提供信息。我的知识覆盖广泛,从科学和技术到文化和历史。虽然我没有情感,但我可以根据用户的需求提供有用的建议和支持。
代码回答: ```python
total = sum(range(1, 101))
print(f"1 到 100 的和是: {total}")
就完成了 **“本地 + 云端混合大模型架构”**。 总结一下:
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-12-04
一文看懂AI智能体系统背后的重要技术——上下文工程(Context Engineering)
2025-12-04
Enterprise AI的三层架构
2025-12-04
Claude Opus 4.5 的灵魂文档被人逆向提取!Anthropic 负责人承认属实
2025-12-03
一文详解容器面向大模型与AI Agent的技术变革
2025-12-03
详解Palantir AIP大模型调用工具:Query Objects
2025-12-03
Bun × Anthropic:AI 运行时变革的信号?
2025-12-03
人民大学与清华大学研究团队突破:让AI像数据科学家一样思考和工作
2025-12-03
Palantir AIPCon 8大客户演示案例:重新定义企业大模型未来的突破性实践
2025-09-19
2025-10-26
2025-10-02
2025-09-16
2025-09-08
2025-09-17
2025-09-29
2025-09-14
2025-10-07
2025-09-30