从零开始的大模型应用开发:本地部署(Ollama)、网络基础与 HTTP 协议详解
·
在当今的大模型(LLM)时代,开发者不仅需要了解如何调用模型,更需要掌握模型部署的基本方式,以及支撑这些技术运行的底层网络通信基础。本文将从大模型部署出发,延伸至网络通信协议(HTTP),帮助读者构建一个系统化的知识框架。
一、 大模型部署的双轨制:本地部署与云端 API
目前,使用大模型主要有两种主流路径:本地部署与对接云端开放API。
1. 本地部署:以 Ollama 为例
本地部署是指将模型权重下载到本地设备(如个人电脑或服务器)上运行。
- 工具推荐:Ollama 是一款开源的本地大模型运行框架,支持一键拉取并运行 Llama、Mistral、DeepSeek 等主流开源模型。
- 优势:数据隐私安全、无需联网、无调用资费。
- 劣势:受限于本地硬件(尤其是显存大小),难以运行超大规模参数的模型。
2. 云端 API:以 DeepSeek API 开放平台为例
对于复杂应用,使用厂商提供的云端 API 往往更具性价比。
- 平台代表:DeepSeek API 开放平台提供了高性能、低延迟的模型调用服务。
- 优势:无需高配置硬件,开箱即用,模型推理能力更强(通常运行在数千亿参数级别)。
- 劣势:需要网络连接,存在数据外泄风险,且按 Token 使用量计费。
💡 本地部署与云端 API 对比总结
| 维度 | 本地部署 (以 Ollama 为例) | 云端 API (以 DeepSeek 为例) |
|---|---|---|
| 硬件要求 | 较高(依赖本地 CPU/GPU/显存) | 极低(只需联网设备) |
| 数据安全性 | 极高(数据完全留在本地) | 中等(数据需传输至云端) |
| 模型规模 | 受限(通常为 1.5B - 32B 参数) | 庞大(通常为千亿级参数完整版) |
| 费用模式 | 硬件一次性投入,后续免费 | 按使用量(Token)付费 |
二、 支撑服务运行的网络基石
无论是访问本地部署的 Ollama 还是云端的 DeepSeek API,都离不开网络基础协议的支持。
1. IP 地址(Internet Protocol Address)
IP 地址是设备在网络中的唯一标识。
- IPv4:32位二进制组成,通常用点分十进制表示(如
192.168.1.1)。由于互联网设备激增,IPv4 地址资源已接近枯竭。 - IPv6:128位二进制组成,解决了地址空间不足的问题。
- 特殊地址
127.0.0.1:称为本地回环地址(Loopback Address),代表本机。当我们在本地启动 Ollama 服务时,通常可以通过访问http://127.0.0.1:11434来与之交互。
2. 域名(Domain Name)
由于二进制或十进制的 IP 地址难以记忆,人们设计了域名(如 ollama.com)。
- DNS(域名解析服务器):充当网络中的“电话簿”,负责将人类易读的域名解析为计算机易读的 IP 地址。
3. 端口号(Port)
端口号是一个范围在 0 - 65535 之间的整数,用于标识一台计算机中运行的具体程序。
小结:如果说 IP 地址是“某栋大楼的地址”,那么端口号就是“大楼里的房间号”,指引数据准确找到对应接收的应用程序。
4. 网络模型
互联网中传输的数据庞大且复杂,为了规范管理,国际标准化组织制定了网络通信模型。
- OSI 网络模型:全球网络互连的 7 层标准模型(理论指导)。
- TCP/IP 网络模型:实际应用中的 4 层模型,可以看作是 OSI 模型的简化版本。
三、 深入理解 HTTP 协议
在调用大模型 API 时,应用最广泛的应用层协议就是 HTTP 协议(超文本传输协议)。它规定了客户端与服务器之间的数据传输规则。
1. HTTP 协议三大特性
- 基于文本:协议内容主要为文本格式,底层基于 TCP 协议传输,保障了数据传输的稳定性。
- 请求-响应模型:一次请求对应一次响应,必须由客户端主动发起,服务端无法主动向客户端推送数据(不含 WebSocket 等特殊协议)。
- 无状态:服务端不会保存与客户端的交互历史,每次请求都是独立的。
2. 请求方式:GET 与 POST 的区别
| 特性 | GET 请求 | POST 请求 |
|---|---|---|
| 参数位置 | 请求行(拼接在 URL 后面,如 /api/chat?model=deepseek) | 请求体(Body)中 |
| 数据大小 | 受浏览器/服务器 URL 长度限制 | 理论上无大小限制 |
| 安全性 | 较低(参数暴露在 URL 中,易被缓存) | 相对较高(适合传输敏感信息) |
| 典型场景 | 获取数据、查询信息 | 提交表单、调用大模型生成文本 |
3. HTTP 请求数据格式
一个完整的 HTTP 请求通常由以下三部分组成:
- 请求行:包含请求方式(GET/POST)、资源路径(URL)和协议版本。
- 请求头:以
Key: Value格式存在的元数据,用于描述客户端环境、期望的响应格式等。 - 请求体:实际传输的数据内容(GET 方式通常没有请求体,POST 方式将参数存放在此)。

4. HTTP 响应数据格式
服务端接收到请求并处理后,会返回一个 HTTP 响应,其结构如下:
- 响应行:包含协议版本和状态码(如
200 OK、404 Not Found)。 - 响应头:描述服务器状态、返回数据的类型等。
- 响应体:存放服务端返回给客户端的真实数据(如大模型返回的 JSON 文本)。

更多推荐


所有评论(0)