Skip to content

可运行 Demo ​

本目录为上一级 01-08 专题文档提供两类示例:

  • 01_chat_basics.py 至 08_enterprise_rag.py:每章综合 Demo。
  • 章节目录/概念.py:一次只讲一个概念的最小 Demo。

所有脚本均包含中文说明和 main() 入口。标记为“离线”的脚本不会调用模型或写入远端服务,适合先理解数据结构和执行流程。

一次性准备 ​

本页只展示示例索引。示例源码位于 docs/public/langchain-examples/,博客构建不会执行 Python;如需运行,请回到原项目安装对应依赖。

macOS / Linux(zsh、bash)

bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e .
cp .env.example .env

Windows(PowerShell)

powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e .
Copy-Item .env.example .env

在 .env 中填写:

示例会调用外部模型服务。请使用你自己的密钥,不要把密钥或生产数据提交到仓库。

dotenv
OPENAI_API_KEY=sk-...
OPENAI_MODEL=gpt-4o-mini
OPENAI_BASE_URL=https://api.openai.com/v1

从项目根目录运行任一脚本,例如:

bash
python docs/public/langchain-examples/02_core/messages.py

综合 Demo ​

脚本对应主题运行条件验证内容
01_chat_basics.py生态分层需要 OpenAIPrompt -> Chat Model -> OutputParser
02_core_chain.pylangchain_core需要 OpenAIMessage、Runnable、结构化输出
03_model_calling.py模型调用需要 OpenAIinvoke、stream、batch、Embedding
04_rag_pipeline.pyRAG需要 OpenAI文档、切分、向量检索、引用回答
05_agent_tools.pyAgent需要 OpenAI模型选择并调用工具
06_langgraph.pyLangGraph需要 OpenAIState、Node、Edge 与模型节点
07_langsmith.pyLangSmith需要 OpenAI 和 LangSmith包含模型调用的 Trace
08_enterprise_rag.py企业 RAG需要 OpenAI权限过滤、引用和无命中兜底

单概念 Demo ​

01 生态分层 ​

脚本运行条件概念
01_ecosystem/ecosystem_layers.py离线Prompt、Runnable、模型适配层和解析器之间的数据流

02 LangChain Core ​

脚本运行条件概念
02_core/messages.py离线System、Human、AI、Tool Message
02_core/prompts.py离线PromptTemplate 与 ChatPromptTemplate
02_core/runnables.py离线组合、invoke、batch、stream
02_core/tools.py离线Tool 名称、描述、参数 Schema 和调用
02_core/output_parsers.py离线字符串、JSON、Pydantic 解析与失败兜底

03 模型调用 ​

脚本运行条件概念
03_models/chat_model.py需要 OpenAIChat Model 输入与 AIMessage 输出
03_models/stream_and_batch.py需要 OpenAI流式和批量调用
03_models/embeddings.py需要 OpenAI文档向量与查询向量
03_models/model_selection.py离线参数记录与任务模型路由

04 RAG 基础链路 ​

脚本运行条件概念
04_rag/documents.py离线正文与可追溯 Metadata
04_rag/loaders.py离线自定义 Markdown Loader
04_rag/text_splitters.py离线Chunk 大小、重叠和 Metadata 继承
04_rag/vector_store.py离线确定性 Embedding 与内存向量库
04_rag/retrievers.py离线top_k、MMR 与 Metadata 过滤
04_rag/context_building.py离线去重、排序和引用标签拼接

完整联网链路继续运行 04_rag_pipeline.py。

05 Agent 与工具 ​

脚本运行条件概念
05_agents/tool_definition.py离线Tool 输入、返回和异常兜底
05_agents/tool_schema.py离线工具描述与参数 Schema
05_agents/agent_loop.py离线判断、调用、观察、结束和最大步骤
05_agents/agentic_rag.py离线查询改写、充分性判断和有限重试

需要观察真实模型工具调用时运行 05_agent_tools.py。

06 LangGraph ​

脚本运行条件概念
06_langgraph/state_node_edge.py离线State、Node、Edge
06_langgraph/conditional_edges.py离线显式条件分支
06_langgraph/bounded_loop.py离线带结束条件的有限循环
06_langgraph/checkpointer.py离线Checkpointer 与 thread_id 隔离
06_langgraph/human_in_the_loop.py离线interrupt() 与 Command(resume=...)
06_langgraph/enterprise_rag_graph.py离线多节点企业 RAG Graph

07 LangSmith ​

脚本运行条件概念
07_langsmith/trace.py需要 LangSmithTrace 输入、输出、标签和元数据
07_langsmith/dataset.py默认离线;--write 写远端Dataset 与批量 Examples
07_langsmith/evaluation.py离线检索、答案和引用指标
07_langsmith/feedback.py默认离线;--write 写远端用户反馈闭环
07_langsmith/monitoring_metrics.py离线成功率、P95、Token 与空检索比例

运行 07_langsmith/trace.py 前,需要配置 LANGSMITH_API_KEY 和 LANGSMITH_TRACING=true。远端写入示例必须显式追加参数:

bash
python docs/public/langchain-examples/07_langsmith/dataset.py --write --name enterprise-rag-eval
python docs/public/langchain-examples/07_langsmith/feedback.py --write --trace-id <TRACE_ID>

08 企业 RAG 工程化 ​

脚本运行条件概念
08_enterprise/access_control.py离线检索前权限过滤
08_enterprise/knowledge_updates.py离线版本、Chunk ID、删除旧 Chunk 和增量更新
08_enterprise/citations.py离线文件、章节、页码与 Chunk 引用
08_enterprise/cost_and_latency.py离线调用次数、Token、耗时和成本
08_enterprise/fallbacks.py离线权限、超时、工具、解析和空检索兜底

推荐运行顺序 ​

先按章节运行离线单概念脚本,再运行同章综合脚本。这样可以先确认每个对象的输入输出,再观察真实模型链路,出现问题时也更容易定位到具体步骤。

评论

正在加载评论…