🚀 欢迎来到我的CSDN博客:Optimistic _ chen ✨ 一名热爱技术与分享的全栈开发者,在这里记录成长,专注分享编程技术与实战经验,助力你的技术成长之路,与你共同进步!
🚀我的专栏推荐:
| 🔥C语言从入门到精通 | 系统讲解基础语法、指针、内存管理、项目实战 | 零基础新手、考研党、复习 |
| 🔥Java基础语法 | 系统解释了基础语法、类与对象、继承 | Java初学者 |
| 🔥Java核心技术 | 面向对象、集合框架、多线程、网络编程、新特性解析 | 有一定语法基础的开发者 |
| 🔥Java EE 进阶实战 | Servlet、JSP、SpringBoot、MyBatis、项目案例拆解 | 想快速入门Java Web开发的同学 |
| 🔥Java数据结构与算法 | 图解数据结构、LeetCode刷题解析、大厂面试算法题 | 面试备战、算法爱好者、计算机专业学生 |
| 🔥Redis系列 | 从数据类型到核心特性解析 | 项目必备 |
🚀我的承诺: ✅ 文章配套代码:每篇技术文章都提供完整的可运行代码示例
✅ 持续更新:专栏内容定期更新,紧跟技术趋势
✅ 答疑交流:欢迎在文章评论区留言讨论,我会及时回复(支持互粉)
🚀 关注我,解锁更多技术干货! ⏳ 每天进步一点点,未来惊艳所有人!✍️ 持续更新中,记得⭐收藏关注⭐不迷路 ✨
📌 标签:#技术博客 #编程学习 #Java #C语言 #算法 #程序员
文章目录
- 前言
- API接入
- 本地接入
- SDK接入
- 三种接入方式优缺点
-
- 选择建议
- 解决LLM的限制
前言
前面几篇博客我们分别讲述了RAG、Agents、MCP、Tool Calling、Prompt等属于大语言模型的技术组件,是让原生LLM突破能力限制,落地实际业务的关键技术。而所有应用开发的前提是完成大模型服务对接,不同部署形态对接不同接入方法,这篇博客主要介绍LLM不同的的接入方式。
API接入
通过HTTP请求直接调用模型服务商提供部署在云端的服务模型,这也是目前最流行、最方便的LLM接入方式,尤其适用于快速开发、集成到现有应用不用管理硬件资源的场景。
接入流程:

使用postman简单构建一个HTTP请求: 请求头中给出Content-Type和Authorization(API Key),请求体中按照接口文档给出模型的相关参数

除了这种方式,在代码中的接入文档也有示例: 
本地接入
大模型本地部署,这种方式是将开源的大语言模型部署在自己的硬件环境中。 部署流程:
一般的笔记本只能安装7b或者8b的模型,感兴趣的同学可以自己玩一玩。
SDK接入
严格来讲,SDK 不属于独立的 LLM 接入方案,其本质只是对原生 HTTP 接口调用的上层封装,依附于公有云 API、私有化推理服务这两类基础接入方式。 各大模型厂商会推出适配 Java、Python、Go 等语言的官方 SDK,底层仍然是发送 HTTP/HTTPS 网络请求,只是把鉴权 Header、请求体序列化、异常捕获、流式回调、参数校验等底层逻辑全部封装完毕。 开发者无需手动拼接 curl 请求、处理 JSON 序列化、维护超时与重试逻辑,直接调用面向对象风格的函数 / 方法即可发起对话、工具调用、RAG 相关请求,大幅降低编码成本。
import os
from dotenv import load_dotenv
from openai import OpenAI
# 加载环境变量
load_dotenv()
# 初始化DeepSeek客户端
client = OpenAI(
api_key=os.getenv("DEEPSEEK_API_KEY"),
base_url=os.getenv("DEEPSEEK_BASE_URL")
)
def chat_normal():
response = client.chat.completions.create(
model="deepseek-v4=-pro", # 对话模型
messages=[
{"role": "system", "content": "你是专业AI技术讲师,简洁回答问题"},
{"role": "user", "content": "解释RAG和Agent的区别"}
],
temperature=0.7,
max_tokens=1024
)
# 打印完整回复
print(response.choices[0].message.content)
if __name__ == "__main__":
chat_normal()
相比较直接构造HTTP请求,代码更简洁,更易维护。
三种接入方式优缺点
为了帮助您根据自身场景选择最合适的接入方式,以下是三种方式的优缺点对比:
| API 接入 |
|
|
|
| 本地接入 |
|
|
|
| SDK 接入 |
|
|
|
选择建议
总而言之,SDK 是提升开发体验的最佳实践,而 API 与本地部署则是底层算力来源的路线选择。请根据您的具体需求在“便捷性”、“安全性”、“成本”和“可控性”之间做出权衡。
解决LLM的限制
首先明确一个点,所有的LLM都有固定的上下文窗口,我们无法将超过窗口的数据塞给模型;其次模型训练的数据截至它停止训练的那天,模型不能回答私有的数据的问题;最后模型的输出格式不可控,即使我们通过提示词要求模型输出JSON格式,但他仍可能产生错误的内容。
为了解决这些问题,我们就可以采用前面说过的技术组件,RAG 用来加载私有资料、压缩文本适配上下文窗口;Tool Calling 让模型可以调取外部实时数据,不用局限于训练时的旧知识;再搭配结构化输出约束和 Agent 自检,强制规范返回 JSON 等固定格式,解决输出混乱、解析报错的问题。




