# LangChainDemo **Repository Path**: ji_wei_yang/LangChainDemo ## Basic Information - **Project Name**: LangChainDemo - **Description**: 本项目是一个基于LangChain的示例集合,涵盖了从基础的大模型交互到高级功能如自定义工具、代理执行、文本向量化以及检索增强生成(RAG)等应用场景。每个文件代表了不同的学习阶段和技能点。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-07-09 - **Last Updated**: 2025-11-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LangChainDemo [![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/downloads/) [![LangChain](https://img.shields.io/badge/LangChain-0.3+-green.svg)](https://langchain.com/) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) ## 项目结构 ``` . ├── config │ ├── __init__.py │ └── load_key.py ├── 1_1langchain第一战.py ├── 1_2快速切换其他大模型.py ├── 1_3大模型的其他交互方式.py ├── 2_1LCEL链式表达式.py ├── 2_2基于 Redis 保存历史聊天信息.py ├── 2_3聊天历史整合 LCEL.py ├── 3_1AI大模型工具机制.py ├── 3_2深度定制本地工具.py ├── 3_3使用Agent执行工具.py ├── 4_1文本向量化.py ├── 4_2持久化向量数据.py ├── 5_1RAG之 Indexing 建立索引.py ├── 5_2RAG之 Retrivel 检索增强.py ├── 5_3RAG之提升质量.py ├── 8_1MCP_Server.py ├── 8_2MCP_Client.py ├── 8_3LangChain_MCP.py └── Keys.json ``` ## 项目描述 本项目是一个基于LangChain的示例集合,涵盖了从基础的大模型交互到高级功能如自定义工具、代理执行、文本向量化以及检索增强生成(RAG)等应用场景。每个文件代表了不同的学习阶段和技能点。 ## 配置说明 配置文件`Keys.json`中包含了必要的API密钥和服务地址,确保程序能够正确访问外部服务。_此文件会在首次调用大模型时自动生成_ ```json { "siliconflow_base_url": "https://api.siliconflow.cn/v1", "siliconflow_api_key": "sk-xxxxxxxxxx", "deepseek_api_key": "sk-xxxxxxxx", "REDIS_URL": "redis://localhost:6379/0" } ``` **本项目大量使用的是[硅基流动](https://cloud.siliconflow.cn/i/3esVN9SY)的大模型,请确保在运行任何脚本之前已经正确配置了API密钥。** 通过我的[邀请链接](https://cloud.siliconflow.cn/i/3esVN9SY)注册可以获得14元的API额度 ## 文件详情 - `config/load_key.py`: 加载配置文件中的密钥。 - `1_1langchain第一战.py`: 初识LangChain,简单的翻译任务。 - `1_2快速切换其他大模型.py`: 展示如何快速切换不同的大模型。 - `1_3大模型的其他交互方式.py`: 探索大模型的多种交互方式,如流式输出、提示词模板和定制参数。 - `2_1LCEL链式表达式.py`: 使用LCEL构建链式表达式处理任务。 - `2_2基于 Redis 保存历史聊天信息.py`: 利用Redis保存和恢复聊天历史。 - `2_3聊天历史整合 LCEL.py`: 将聊天历史整合进LCEL流程。 - `3_1AI大模型工具机制.py`: 定义和使用自定义工具与大模型互动。 - `3_2深度定制本地工具.py`: 将自定义的链转换为工具供大模型调用。 - `3_3使用Agent执行工具.py`: 使用Agent来执行一系列工具。 - `4_1文本向量化.py`: 文本向量化及相似度计算。 - `4_2持久化向量数据.py`: 向量数据的持久化存储与检索。 - `5_1RAG之 Indexing 建立索引.py`: 构建文档索引以支持后续的检索。 - `5_2RAG之 Retrivel 检索增强.py`: 实现检索增强生成,提高回答的质量。 - `5_3RAG之提升质量.py`: 提升RAG应用质量的方法论。 - `8_1MCP_Server.py`: MCP协议的服务端实现。 - `8_2MCP_Client.py`: MCP协议的客户端实现。 - `8_3LangChain_MCP.py`: 将MCP协议集成到LangChain中。 ## 安装依赖 运行以下命令安装项目所需的依赖: ``` pip install -r requirements.txt ``` ## 运行指南 根据具体的需求运行相应的脚本文件。例如,要运行基本的LangChain示例,可以执行: ``` python 1_1langchain第一战.py ``` 请确保在运行任何脚本之前已经正确配置了所有必要的API密钥和其他环境设置。