本教程面向初学者,将教你如何使用来自不同 AI 服务商的模型,比较它们的优势,并根据实际需求选择最合适的模型。在深入学习 LangChain 之前,理解各类模型的特点至关重要------因为 LangChain 能让你在这些模型之间无缝切换。
学习目标
- 配置并使用 OpenAI、Anthropic 和 Google 的 API
- 比较各模型的能力、定价与性能表现
- 通过 Ollama 在本地运行开源模型
- 构建与具体服务商无关(provider-agnostic)的应用程序
为什么在学习 LangChain 前要先了解不同模型?
作为初学者,理解不同 AI 模型的特点,有助于你在构建应用时做出更明智的决策。LangChain 虽然让模型切换变得非常简单,但只有真正了解各模型的优势与局限,你才能为每个任务选择最合适的工具。本教程正是为你打下这一基础!
模型对比概览
| 提供商 | 最适合场景 | 核心特性 | 定价模式 |
|---|---|---|---|
| GPT(OpenAI) | 通用任务、代码生成、创意写作 | 支持函数调用、JSON 模式、视觉理解、DALL-E 图像生成 | 按 token 计费(输入/输出) |
| Claude(Anthropic) | 长上下文处理、深度分析、安全敏感场景 | 支持 200K 上下文长度、宪法 AI(Constitutional AI)、Artifacts 功能 | 按 token 计费(输入/输出) |
| Gemini(Google) | 多模态任务、与 Google 生态集成 | 原生多模态支持、基于搜索的 grounding 能力 | 按字符数或请求计费 |
| 开源模型(Open Source) | 隐私保护、高度定制、离线使用 | 支持本地部署、可微调(fine-tuning)、无使用限制 | 免费(仅需承担计算资源成本) |
配置不同提供商的模型
Claude(Anthropic)配置
- 安装 Anthropic SDK:
pip
pip install anthropic
或
uv add anthropic
- 在 Python 中使用 Claude:
python
import anthropic
client = anthropic.Anthropic(
api_key="your-api-key"
)
response = client.messages.create(
model="claude-3-opus-20240229",
max_tokens=1000,
messages=[
{"role": "user", "content": "Hello, Claude!"}
]
)
print(response.content[0].text)
Gemini(Google)配置
- 安装 Google AI SDK:
pip
pip install google-genai
或
uv add google-genai
- 在 Python 中使用 Gemini:
python
from dotenv import load_dotenv
from google import genai
# 加载环境变量
load_dotenv()
client = genai.Client()
response = client.models.generate_content(
model='gemini-2.5-flash',
contents='你好,你能干什么?'
)
print(response.text)
使用 Ollama 运行开源模型
- 从 ollama.ai 安装 Ollama
- 拉取并运行模型:
bash
ollama pull llama2
ollama run llama2
- 通过 Python 调用:
python
import requests
import json
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": "llama2",
"prompt": "Hello, Llama!",
"stream": False
}
)
print(json.loads(response.text)["response"])
使用 LangChain 统一接口
LangChain 提供了统一的接口,让你能无缝地与多个模型提供商交互:
python
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_community.llms import Ollama
# 初始化不同模型
gpt4 = ChatOpenAI(model="gpt-4", temperature=0.7)
claude = ChatAnthropic(model="claude-3-opus-20240229")
gemini = ChatGoogleGenerativeAI(model="gemini-pro")
llama = Ollama(model="llama2")
# 对所有模型使用相同的调用方式
prompt = "用简单的话解释量子计算"
gpt_response = gpt4.invoke(prompt)
claude_response = claude.invoke(prompt)
gemini_response = gemini.invoke(prompt)
llama_response = llama.invoke(prompt)
LangChain 的优势:
- 所有提供商使用一致的 API
- 切换模型极其简便
- 内置重试与错误处理机制
- 所有模型均支持流式输出(streaming)
新手选型指南:如何选择合适的 AI 模型?
追求速度与成本效益
→ GPT-3.5 Turbo:速度快、价格低、质量可靠
→ Claude Haiku:Anthropic 推出的最快模型
→ Gemini Flash:Google 的轻量级选项
追求最高质量
→ GPT-4:复杂推理能力最强
→ Claude Opus:分析类任务表现出色
→ Gemini Ultra:强大的多模态能力
针对特定场景
→ 长文档处理:Claude(支持 200K 上下文)
→ 代码生成:GPT-4、Claude
→ 多模态任务:Gemini、GPT-4V
注重隐私与控制
→ Llama 2/3:可本地运行,数据不出设备
→ Mistral:高效的本地模型
→ Phi-2:体积小但能力不弱
注意: 我们国内大部分都是本地部署的国内的大模型,比如千问、deepseek等
成本优化策略
- 模型路由(Model Routing)
将简单查询路由至便宜模型,复杂任务交由高端模型处理。 - 响应缓存(Caching)
缓存常见请求的响应,避免重复调用 API。 - 批量处理(Batch Processing)
部分提供商对批量请求提供折扣。 - 用量监控
跟踪各提供商的 token 消耗与费用支出。
最佳实践
开发阶段
- 开发初期优先使用成本较低的模型
- 在多个模型上测试提示词(prompts)效果
- 构建与具体服务商解耦的抽象层
- 实现完善的错误处理机制
生产环境
- 使用环境变量管理 API 密钥
- 配置备用模型(fallback models)以提高鲁棒性
- 监控延迟与成本指标
- 注意各平台的速率限制(rate limits)和配额(quotas)
恭喜你!现在可以开始 LangChain 之旅了!
太棒了!你已经完成了这份面向初学者的 AI 模型入门指南。你掌握了 AI API 的基本使用、提示工程(prompt engineering)以及模型选型的核心技能------这些都是你后续学习 LangChain 所必需的基础。
现在,你已准备好深入 LangChain 的世界,在那里,你将运用这些知识构建更复杂的 AI 应用,包括链式调用(chains)、智能代理(agents)等强大功能。继续你的学习之旅吧!