免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

大模型“落地三件套”:Ollama本地部署、API 调用和LLM封装

发布日期:2025-12-04 20:52:49 浏览次数: 1532
作者:小灰编程

微信搜一搜,关注“小灰编程”

推荐语

本地部署大模型,打造专属AI工作流,Ollama助你轻松实现隐私、可控与定制化需求。

核心内容:
1. Ollama本地部署的优势与安装指南
2. 通过API将本地模型接入业务的具体方法
3. LLM封装实现开发工具无缝集成AI功能

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

 

这两年大模型卷得飞起:ChatGPT、通义千问、文心一言层出不穷。对普通用户来说,在网页上聊两句就够了;但对开发者 / 研究者 / 数据分析党来说,真正有用的是三件事:

  • • 在本地跑起来
  • • 用 API 把模型接进自己的业务
  • • 在开发工具里无缝用上“会写代码的 AI”

这篇推文,就带你用 Ollama + 本地/云端 API + + LLM封装打通这条链路,做一套「自己的 AI 工作流」。

一、本地部署:为什么越来越多人选择 Ollama?

很多人第一反应:
“我直接用在线大模型不香吗?为什么还要折腾本地部署?”
本地部署有几大优势:

  1. 1. 隐私&安全:代码、数据不出本机,对企业 / 研究来说很关键
  2. 2. 可控成本:不用担心 API token 一不小心跑爆预算
  3. 3. 可定制:可以下载特定领域模型(代码、金融、法律等),甚至做 LoRA 微调
  4. 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.5#下载模型到本地,后面可替换为其它模型

终端会自动帮你:

  1. 下载对应模型(第一次会稍微久一点),显示即下载成功。
  2. 下载完后进入对话模式,你可以直接在命令行里和本地模型聊天

到这里,你的 “本地 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. 1. 访问 ChatGPT 官方接口平台:https://platform.openai.com

     较为麻烦且,费用高,支付方式不友好(如果你本身就有就直接用)

  1. 2. 用国内模型的官方接口,便宜好用,充值方便。如(deepseek,通义千问等)
  1. DeepSeek

    https://platform.deepseek.com/usage
  1. 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(1101))
print(f"1 到 100 的和是: {total}")
  就完成了 **“本地 + 云端混合大模型架构”**。 


   总结一下:

  • 本地部署(Ollama)让我们可以在自己的电脑上跑大模型,数据不出本机;
  • 通过 HTTP API,我们可以像调 OpenAI 一样调本地模型,接入任何应用;

   后面我会继续更新:
    大模型在科研中的具体应用,包括代码模板、实战案例和踩坑记录。
    如果你也在折腾本地大模型、API 调用或者 AI 编程工具,欢迎在评论区交流 👇
    🔁 分享给身边也在用大模型写代码的朋友
    ⭐ 点个“在看”,我就知道这一系列该继续更下去啦~

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询