这两年大模型卷得飞起:ChatGPT、通义千问、文心一言层出不穷。对普通用户来说,在网页上聊两句就够了;但对开发者 / 研究者 / 数据分析党来说,真正有用的是三件事:
-
• 在本地跑起来 -
• 用 API 把模型接进自己的业务 -
• 在开发工具里无缝用上“会写代码的 AI”
这篇推文,就带你用 Ollama + 本地/云端 API + + LLM封装打通这条链路,做一套「自己的 AI 工作流」。
一、本地部署:为什么越来越多人选择 Ollama?
很多人第一反应:
“我直接用在线大模型不香吗?为什么还要折腾本地部署?”
本地部署有几大优势:
-
1. 隐私&安全:代码、数据不出本机,对企业 / 研究来说很关键 -
2. 可控成本:不用担心 API token 一不小心跑爆预算 -
3. 可定制:可以下载特定领域模型(代码、金融、法律等),甚至做 LoRA 微调 -
4. 离线可用:断网的时候,它还在
而在一众本地部署方案里,Ollama 的优点是:
-
• 跨平台(Windows / macOS / Linux) -
• 一行命令拉模型、一行命令跑起来 -
• 自带 HTTP API,很适合接前端、后端、脚本 二、Ollama 安装 & 跑通第一个本地模型
1. 安装 Ollama
🔍 可以去官网搜索 “Ollama”,根据系统下载对应安装包,直接默认路径下载即可。https://ollama.com/download

安装完成后,命令行终端里可以输入ollama看到帮助信息。输入ollama -v查看安装版本。

安装好后,打开https://ollama.com/library随便找一个模型下载,例如DeepSeek-r1。

打开Ollama,第一种是直接打开下载好的APP。安装后,Ollama 的图标会显示在桌面右下角的系统托盘区域。也可以直接在这里面对话。


第二种是终端启动。打开终端,试试直接跑一个模型。例如:

ollama serve #启动(如果APP启动了本命令忽略)
ollama run deepseek-r1:1.5b #下载模型到本地,后面可替换为其它模型
终端会自动帮你:
-
下载对应模型(第一次会稍微久一点),显示即下载成功。 -
下载完后进入对话模式,你可以直接在命令行里和本地模型聊天

到这里,你的 “本地 ChatGPT” 已经跑起来了。
三、把本地模型当作 API 用:Ollama HTTP 调用示例
1. Ollama 默认的 API 地址
安装并启动 Ollama 后,一般会默认在本机开一个 HTTP 服务:
http://127.0.0.1:11434
我们调用的核心接口通常是:
POST /api/generate
POST /api/chat
2. 用 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,包括生成的内容。可以看到输出有点混乱,所以这种调用方式不常用。

3. Python 调用Ollama API 示例
下面是一个最简 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)
大模型能够理解、创作并处理文字、图像、视频等复杂信息,展现出强大的认知能力和广泛的应用场景,适用于人工智能领域中的多任务协同和数据驱动决策。
4. Ollama包调用方法(两者选其一)
! 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,专注于理解、分析和解答复杂的查询。我擅长提供深入的解析和详细的信息解释,并能够快速响应用户的问题。我的独特服务是提供高效的解决方案,帮助用户在复杂的信息中快速找到所需答案。
有了这个模板,你可以很容易把本地模型:
-
• 接到自己的 后端服务(Flask / FastAPI / Django) -
• 接到 桌面工具 / 自动脚本 -
• 接入你正在写的量化回测、数据清洗、报告生成等工作流
四、 除了本地模型,还可以调用各种云端 API
虽然本地模型(例如 Ollama + DeepSeek-R1 本地版)能够实现“离线可用”“数据不出本机”等优势,但在很多实际场景中,云端 API 依然不可替代:
-
• 需要高推理能力(如 GPT-4.1、Claude 3.7、DeepSeek V3) -
• 对稳定性、速度要求更高 -
• 属于大规模在线业务,而非个人电脑部署 -
• 多模型混合调用(翻译用 Qwen、推理用 GPT、编程用 DeepSeek)
因此,本章补充如何调用主流云端大模型 API,让读者可以完成:
“本地 + 云端”混合式 LLM 工作流。
1. 主流云端 API 模型一览
下面是目前开发者最常用的几类云端大模型:
|
类型 |
代表模型 |
特点 |
|
国际强模型 |
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功能和支持可能有所不同。选择一个符合你需求的平台能大大提高开发效率和效果。
获取方法:
-
1. 访问 ChatGPT 官方接口平台:https://platform.openai.com
较为麻烦且,费用高,支付方式不友好(如果你本身就有就直接用)
-
2. 用国内模型的官方接口,便宜好用,充值方便。如(deepseek,通义千问等)
-
DeepSeek
https://platform.deepseek.com/usage
-
3. 用第三方接口平台:https://sg.uiuiapi.com(推荐使用!注册免费送0.3美元的额度,能 调用好几百次,且聚合了多种模型,足够测试使用)
3. 云端 API 调用示例:OpenAI
安装 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 封装层”管理多个模型
现实中,我们经常会有这种需求:
-
• 日常小任务、本地模型够用 -
• 关键任务、追求效果时,用 GPT-4 / 更强的云端模型 -
• 甚至根据任务自动选择:翻译 → 某模型,写代码 → 另一个模型
这个时候比较推荐的做法是:在自己项目里写一层统一的 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}")
就完成了 **“本地 + 云端混合大模型架构”**。
总结一下:
-
本地部署(Ollama)让我们可以在自己的电脑上跑大模型,数据不出本机; -
通过 HTTP API,我们可以像调 OpenAI 一样调本地模型,接入任何应用;

