文章目录
- 一、什么是大模型
- 二、API接入
- 三、SDK接入
- 四、本地部署(Ollama)
- 五、Claude Code 接入
- 六、其他接入方式
前言:本文面向刚开始接触大模型开发的小伙伴,不需要深厚的算法基础,只需具备基本的编程常识即可阅读。全文分为五个部分:从大模型的基本概念出发,依次介绍如何通过 API、SDK、本地部署(Ollama)以及 Claude Code 路由等方式将大模型接入自己的项目。读完本文,你将对大模型的接入方式有一个完整的横向认识,并能根据自己的需求选择合适的方案。
一、什么是大模型
模型是从数据中学习规律的“函数”或“程序”,一个模型通常只能做特定的任务,在模型训练中不一定输出结果都是对的需要人工参与,也就是数据标注员。
大模型又称⼤语⾔模型(Large Language Model,LLM):指基于⼤规模神经⽹络(参数规模通常达数⼗亿⾄万亿级别,例如GPT-3包含1750亿参数),通过⾃监督或半监督⽅式,对海量⽂本进⾏训练的语⾔模型。
- 参数:参数是模型从数据中学习到的“知识要点”或“内部规则”,参数越大判断的越精确,训练的复杂度也越高。
- 神经网络:是模仿人的大脑的工作方式,由多个神经元构成,每个神经元处理一点点信息,整个神经网络就能处理复杂的任务。
简单说:神经⽹络就是⼀个通过数据训练出来的、由⼤量参数组成的复杂决策系统。
监督学习
想象在教一个小孩认动物。拿着一张猫的图片告诉他"这是猫",拿着狗的图片说"这是狗"。每张图片都有人告诉他答案。需要投入大量的人力。
这就是监督学习——每一条数据都有人工标注好的答案。
- 半监督学习:需要少量人工标注作为起点,其余靠模型自己补充。这次只告诉他几十张图片的答案,剩下几千张没有标注。模型会先从这少量的"已知答案"中学习规律,再去推断那些没有标注的数据大概是什么。
- 自监督学习:不需要任何人来标注,数据自己就能给自己出题。模型在做了几千亿次这样的"完形填空"之后,慢慢就理解了语言的规律、逻辑,甚至常识。
生成型模型
给它一段话,它给你生成一段话回来。就像你问一个人"帮我写封邮件",他思考之后写出来给你。它的核心能力是创造内容,而且每次输出的都是人类能直接阅读和使用的东西。我们平时在web端或移动端app使用的AI就是生成型模型。
嵌入型模型
把文字变成一串数字(向量),比如几百个到几千个数字组成的列表。这串数字人类看不懂,是给计算机看的。通常用来搜索语义相似的数据(RAG)。
二、API接入
API调用通常都是使用HTTP请求,把信息放在Json里通过POST发送。再接收Json格式的回复。
这里我们使用Apifox来做测试,Apifox 是一款集 API 设计、调试、测试于一体的工具,支持 HTTP 请求调试,非常适合在接入大模型前进行接口验证。
下面以DeepSeek为例进行测试,ChatGPT、Gemini、Claude等等同理。
DeepSeek放平台:https://platform.deepseek.com/api_keys
API接入说明文档:https://api-docs.deepseek.com/zh-cn/
正文字段:
响应结果:
三、SDK接入
官方网示例:
# Please install OpenAI SDK first: `pip3 install openai`importosfromopenaiimportOpenAI client=OpenAI(api_key=os.environ.get('DEEPSEEK_API_KEY'),base_url="https://api.deepseek.com")response=client.chat.completions.create(model="deepseek-chat",messages=[{"role":"system","content":"You are a helpful assistant"},{"role":"user","content":"Hello"},],stream=False)print(response.choices[0].message.content)示例:
importosfromopenaiimportOpenAI client=OpenAI(base_url="https://api.deepseek.com",api_key=os.environ.get("DEEPSEEK_API_KEY"))response=client.chat.completions.create(model="deepseek-chat",messages=[{"role":"user","content":"你是谁?"}],stream=False)print(response.choices[0].message.content)四、本地部署(Ollama)
如果你觉得调用API太烧钱或者想对模型进行一些微调,那么可以找一些开源的模型下载下来部署到本地。
下面是常用大模型开源社区:
- Hugging Face:https://huggingface.co/
- 魔塔社区:https://modelscope.cn/models
Ollama 是目前最流行的本地大模型运行工具,支持 Llama、Mistral、Qwen、Gemma 等主流开源模型,一条命令即可完成部署。
- 注意:在本地部署时需要考虑电脑性能能不能跑得通。
- 注意:即使模型开源,若通过运营商提供的 API 调用,消耗的是对方算力,需要付费。
安装 Ollama
Linux / macOS:
curl-fsSLhttps://ollama.com/install.sh|shWindows:
前往 https://ollama.com/download 下载.exe安装包。安装完成后 Ollama 会作为系统服务自动启动,并在任务栏托盘显示图标。
Windows 用户安装后无需手动执行
ollama serve,服务已在后台运行。
拉取并运行模型
# 拉取并运行模型ollama run<模型名称>常用管理命令
# 查看已下载的模型列表ollama list# 查看正在运行的模型ollamaps# 删除模型ollamarm<模型名称># 查看模型详情ollama show<模型名称>模型下载下来占用空间是很大的,如果你不想让你的C盘炸请关注一下存储路径
| 平台 | 默认存储路径 |
|---|---|
| Linux | ~/.ollama/models |
| macOS | ~/.ollama/models |
| Windows | C:\Users\<用户名>\.ollama\models |
Windows 修改模型存储路径(可选):
- 打开「系统属性」→「环境变量」
- 新建系统变量:变量名
OLLAMA_MODELS,值填入目标路径,例如D:\ollama\models - 重启 Ollama 服务生效
Linux / macOS 修改模型存储路径:
exportOLLAMA_MODELS=/data/ollama/models ollama serve或者在Ollama应用的设置中更改存储路径。
配置 Ollama 允许外部访问
默认情况下 Ollama 仅监听本机(127.0.0.1),如需局域网访问需额外配置。
Linux / macOS(临时生效):
OLLAMA_HOST=0.0.0.0 ollama serveLinux(永久生效,systemd):
sudosystemctl edit ollama.service# 在弹出的编辑器中 [Service] 段下添加:# Environment="OLLAMA_HOST=0.0.0.0"sudosystemctl daemon-reloadsudosystemctl restart ollamaWindows(永久生效):
- 打开「系统属性」→「环境变量」
- 新建系统变量:变量名
OLLAMA_HOST,值0.0.0.0 - 在任务栏托盘重启 Ollama 服务
Ollama 服务接口
Ollama 启动后默认在http://localhost:11434提供服务,兼容 OpenAI API 格式:
| 接口 | 方法 | 说明 |
|---|---|---|
/api/generate | POST | 文本生成(Ollama 原生格式) |
/api/chat | POST | 多轮对话(Ollama 原生格式) |
/v1/chat/completions | POST | OpenAI 兼容接口 |
/v1/models | GET | 获取模型列表 |
使用 Modelfile 自定义模型
FROM qwen2.5:7b SYSTEM """ 你是一个专业的代码助手,擅长 Python、JavaScript 和 Go 语言开发。 请用简洁清晰的中文回答问题。 """ PARAMETER temperature 0.7 PARAMETER top_p 0.9 PARAMETER num_ctx 4096Linux / macOS:
ollama create my-coder-f./Modelfile ollama run my-coderWindows(CMD):
ollama create my-coder -f .\Modelfile ollama run my-coder五、Claude Code 接入
claude-code-router是Github的一个开源项目,可以将其他模型接入到Claude Code上。相当与给其他模型套一个Claude Code的壳,获取了Claude Code 整套工程能力。
你的代码任务 ↓ Claude Code(任务理解、工具调用、上下文管理) ↓ claude-code-router(智能路由) ↓ ┌─────────────┬──────────────┬─────────────┐ DeepSeek-V3 Gemini 2.5 Qwen-Max ... (便宜) (长上下文) (中文强)操作步骤:
下载claude code
npminstall-g@anthropic-ai/claude-code下载claude code router
npminstall-g@musistudio/claude-code-router创建并配置文件~/.claude-code-router/config.json,即在家目录下创建.claude-code-router文件夹,在该文件夹下再创建config.json
注意:如果需要使用skills,需将skills文件夹放在.claude-code-router文件夹下。
config.json的配置:
示例:
{"Providers":[{"name":"grok","api_base_url":"xxxxxx","api_key":"your-key","models":["grok-4.20-0309"]},{"name":"ollama","api_base_url":"http://localhost:11434/v1/chat/completions","api_key":"ollama","models":["your-model"]}],"Router":{"default":"grok,grok-4.20-0309"}}以上是最简洁的配置,相关的字段也是必须要有的,Providers里可以配置多个模型,包括本地和远程模型。
效果示例:
- 注意:
ollama配置的本地模型(可选),其中api_key直接填ollama即可。
官方示例:
{"APIKEY":"your-secret-key","PROXY_URL":"http://127.0.0.1:7890","LOG":true,"API_TIMEOUT_MS":600000,"NON_INTERACTIVE_MODE":false,"Providers":[{"name":"openrouter","api_base_url":"https://openrouter.ai/api/v1/chat/completions","api_key":"sk-xxx","models":["google/gemini-2.5-pro-preview","anthropic/claude-sonnet-4","anthropic/claude-3.5-sonnet","anthropic/claude-3.7-sonnet:thinking"],"transformer":{"use":["openrouter"]}},{"name":"deepseek","api_base_url":"https://api.deepseek.com/chat/completions","api_key":"sk-xxx","models":["deepseek-chat","deepseek-reasoner"],"transformer":{"use":["deepseek"],"deepseek-chat":{"use":["tooluse"]}}},{"name":"ollama","api_base_url":"http://localhost:11434/v1/chat/completions","api_key":"ollama","models":["qwen2.5-coder:latest"]},{"name":"gemini","api_base_url":"https://generativelanguage.googleapis.com/v1beta/models/","api_key":"sk-xxx","models":["gemini-2.5-flash","gemini-2.5-pro"],"transformer":{"use":["gemini"]}},{"name":"volcengine","api_base_url":"https://ark.cn-beijing.volces.com/api/v3/chat/completions","api_key":"sk-xxx","models":["deepseek-v3-250324","deepseek-r1-250528"],"transformer":{"use":["deepseek"]}},{"name":"modelscope","api_base_url":"https://api-inference.modelscope.cn/v1/chat/completions","api_key":"","models":["Qwen/Qwen3-Coder-480B-A35B-Instruct","Qwen/Qwen3-235B-A22B-Thinking-2507"],"transformer":{"use":[["maxtoken",{"max_tokens":65536}],"enhancetool"],"Qwen/Qwen3-235B-A22B-Thinking-2507":{"use":["reasoning"]}}},{"name":"dashscope","api_base_url":"https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions","api_key":"","models":["qwen3-coder-plus"],"transformer":{"use":[["maxtoken",{"max_tokens":65536}],"enhancetool"]}},{"name":"aihubmix","api_base_url":"https://aihubmix.com/v1/chat/completions","api_key":"sk-","models":["Z/glm-4.5","claude-opus-4-20250514","gemini-2.5-pro"]}],"Router":{"default":"deepseek,deepseek-chat","background":"ollama,qwen2.5-coder:latest","think":"deepseek,deepseek-reasoner","longContext":"openrouter,google/gemini-2.5-pro-preview","longContextThreshold":60000,"webSearch":"gemini,gemini-2.5-flash"}}APIKEY(可选):设置访问 router 本身的密钥,客户端需在 Authorization 或 x-api-key 头中携带HOST(可选):服务绑定地址。若未设置APIKEY,强制锁定为127.0.0.1PROXY_URL(可选):为 API 请求设置代理,如http://127.0.0.1:7890LOG(可选):是否启用日志,true/falseProviders:配置各模型providerRouter:设置路由规则,default字段指定默认模型
注意:每次配置结束后使用ccr restart重启保证配置生效。
ccr model:选择模型ccr code:启动claude code
六、其他接入方式
除了以上这些接入方式,还有LangChain和LangGraph等框架可供选择:
LangChain:封装了「调模型→处理结果→调工具→再调模型」这个循环的框架,你写应用逻辑,它帮你管模型调用、Prompt模板、RAG、记忆等。适合快速搭建问答机器人、文档摘要、RAG检索等相对线性的应用场景。
LangGraph:LangChain的升级版,把流程从线性链变成图结构,节点可以循环、分支、多Agent并行。适合需要多步推理、条件判断或多个 Agent 协作的复杂任务,比如自动化研究助手、代码审查流水线等。
关于LangChain和LangGraph的介绍和使用请期待后文。
非常感谢您能耐心读完这篇文章。倘若您从中有所收获,还望多多支持呀!