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/chatcurl发一个最小请求先在终端试一下最小 demo(以 chat 接口为例):
curl.exe-XPOST 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 示例脚本,你可以放在自己项目里:
importrequests
importjson
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" 字段
returndata.get("message", {}).get("content","")
if__name__ =="__main__":
answer = chat_with_ollama("帮我写一段 50 字以内的大模型介绍")
print(answer)大模型能够理解、创作并处理文字、图像、视频等复杂信息,展现出强大的认知能力和广泛的应用场景,适用于人工智能领域中的多任务协同和数据驱动决策。
!pipinstallollama#下载ollama包
fromollamaimportClient
# 关键步骤:创建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#换成你的APIKEY
OPENAI_API_BASE=https://sg.uiuiapi.com/v1#用uiuiapi这行可以不用修改importos
# 加载 .env 文件
load_dotenv('你的openai.env的绝对路径', override=True)
# 定义环境变量
API_KEY = os.getenv("OPENAI_API_KEY"))
API_BASE = os.getenv("OPENAI_API_BASE"))调用示例(最新版用法):
fromopenaiimportOpenAI
# 初始化 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 封装,对外只暴露一个方法:
defllm_chat(provider, prompt, **kwargs):
...比如简单示意:
# 定义chat_with_ollama
defchat_with_ollama(prompt, model="deepseek-r1:1.5b"):
response = client.chat(
model=model,
messages=[
{"role":"user","content": prompt}
]
)
returnresponse['message']['content']
#定义chat_with_openai
defchat_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}")就完成了**“本地+云端混合大模型架构”**。
总结一下:
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |