LangChain 高级技巧与最佳实践

本文总结 LangChain 的高级技巧、性能优化和最佳实践,帮助你构建更强大的 LLM 应用。

## 1. 性能优化

### 1.1 并发处理
“`python
from langchain_core.runnables import RunnableParallel

parallel_chain = RunnableParallel({
“summary”: summarize_prompt | llm,
“translation”: translate_prompt | llm,
“sentiment”: sentiment_prompt | llm
})
result = parallel_chain.invoke({“text”: “今天天气不错”})
# 比顺序调用快 3 倍
“`

### 1.2 批处理
“`python
questions = [“什么是 Python?”, “什么是 JavaScript?”, “什么是 AI?”]
responses = llm.batch(questions) # 一次调用,处理多个输入
“`

### 1.3 流式处理
“`python
for chunk in llm.stream(“讲一个很长的故事”):
print(chunk.content, end=””, flush=True)
“`

### 1.4 缓存机制
“`python
from langchain.cache import InMemoryCache

cache = InMemoryCache()
llm = ChatOpenAI(model=”gpt-4o-mini”, cache=cache)
# 相同内容的第二次调用从缓存返回
“`

## 2. 高级链式组合

### 2.1 条件路由
“`python
from langchain_core.runnables import RunnableBranch

branch = RunnableBranch(
(lambda x: x[“route”] == “math”, math_chain),
(lambda x: x[“route”] == “translate”, translate_chain),
)
“`

### 2.2 循环链
对于需要迭代优化的场景,可以实现 RunnableLoop 模式,反复执行直到满足条件。

## 3. 错误处理和重试
“`python
from tenacity import retry, stop_after_attempt, wait_exponential

@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=1, max=10))
def safe_invoke(chain, input_data):
return chain.invoke(input_data)
“`

## 4. 成本优化
– Token 使用监控:使用 `get_openai_callback()` 跟踪成本
– 智能模型选择:简单任务用 gpt-4o-mini,复杂任务用 gpt-4o
– 提示词优化:精简提示词,减少 token 消耗

## 5. 安全最佳实践
– 输入验证:检查输入长度、格式,防止注入攻击
– 输出过滤:过滤敏感信息(电话号码、身份证、邮箱)
– 权限控制:限制 Agent 可访问的工具和数据范围

LangChain 高级技巧与最佳实践

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Scroll to top
Copyright © 2026 Claude Code实战记录. 粤ICP备19017554号