# LangChain-learn **Repository Path**: Liangfactory/lang-chain-learn ## Basic Information - **Project Name**: LangChain-learn - **Description**: 本项目用于学习和实践基于 LangChain 的大语言模型(LLM)应用开发技术,涵盖模型调用、流式输出、批量处理等核心概念。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-07 - **Last Updated**: 2026-10-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LangChain 大模型应用开发学习项目 本项目用于学习和实践基于 LangChain 的大语言模型(LLM)应用开发技术,涵盖模型调用、流式输出、批量处理等核心概念。 ## 📚 项目结构 ``` ├── chapter01/ # 第一章:基础入门(待补充) ├── chapter02/ # 第二章:LangChain 模型基础 │ ├── 01-model-init-online.ipynb # 在线模型初始化 │ ├── 02-model-init-params.ipynb # 模型参数配置 │ ├── 03-model-init-ollama.ipynb # Ollama 本地模型 │ ├── 04-model-invoke.ipynb # 模型调用与推理 │ └── 05-model-stream-batch.ipynb # 流式输出与批量处理 ├── .env # 环境变量配置(已忽略,勿提交) ├── .gitignore # Git 忽略规则 └── main.py # Python 入口文件 ``` ## 🛠️ 技术栈 - **Python 3.11** - **LangChain** - LLM 应用开发框架 - **Jupyter Notebook** - 交互式学习记录 - **主流 API 支持**: OpenAI、DeepSeek、智谱 AI、ZAI 等 - **本地部署**: Ollama(可选) ## 📋 环境配置 ### 1. 安装依赖 ```bash pip install langchain langchain-openai jupyter ``` ### 2. 配置环境变量 复制 `.env.example` 到 `.env` 并填入你的 API Key: ```bash cp .env.example .env ``` 主要环境变量: | 变量名 | 说明 | 示例 | |---------------------|-----------------|--------------------------------------| | `OPENAI_API_KEY` | OpenAI API 密钥 | `sk-...` | | `OPENAI_BASE_URL` | OpenAI API 地址 | 自定义代理或兼容接口 | | `DEEPSEEK_API_KEY` | DeepSeek API 密钥 | `sk-...` | | `DEEPSEEK_BASE_URL` | DeepSeek API 地址 | https://api.deepseek.com/v1 | | `ZHIPU_BASE_URL` | 智谱 AI API 地址 | https://open.bigmodel.cn/api/paas/v4 | | `ZAI_API_KEY` | ZAI API 密钥 | `sk-...` | | `API_KEY` | 通用 API 密钥 | - | > ⚠️ **注意**: `.env` 文件包含敏感密钥,已被 `.gitignore` 忽略,不会上传到远程仓库。 ## 📖 学习内容 ### 第二章:LangChain 模型基础 #### 1. 在线模型初始化 ([01-model-init-online.ipynb](chapter02/01-model-init-online.ipynb)) - 使用 OpenAI GPT 模型 - 配置 API Key 和 Base URL - 创建第一个 LLM 实例 #### 2. 模型参数配置 ([02-model-init-params.ipynb](chapter02/02-model-init-params.ipynb)) - Temperature 控制输出随机性 - Max Tokens 限制生成长度 - Top P、Top K 等高级参数调优 #### 3. Ollama 本地模型 ([03-model-init-ollama.ipynb](chapter02/03-model-init-ollama.ipynb)) - 安装与配置 Ollama - 下载本地模型(如 Llama、Qwen) - 离线调用本地 LLM #### 4. 模型调用 ([04-model-invoke.ipynb](chapter02/04-model-invoke.ipynb)) - 基本 prompt 与响应 - System Message 与 User Message 角色设定 - Chain 构建与复杂对话流程 #### 5. 流式输出与批量处理 ([05-model-stream-batch.ipynb](chapter02/05-model-stream-batch.ipynb)) - Stream 模式实现实时输出 - Batch 批量处理多个请求 - 错误处理与重试机制 ## 🚀 使用方法 ### 运行 Jupyter Notebook ```bash jupyter notebook chapter02/ ``` 在浏览器中打开对应的 `.ipynb` 文件进行学习实验。 ### 运行 Python 脚本 ```bash python main.py ``` ## 🔑 安全建议 1. **永远不要**将 `.env` 文件提交到版本控制系统 2. 定期轮换 API Key,防止泄露 3. 如果使用公共仓库,建议使用脱敏的 `.env.example` 作为参考 4. 如发现密钥泄露,立即在服务商后台重置 API Key ## 📝 学习进度 - [x] 第一章:基础理论(待补充) - [x] 第二章:LangChain 模型基础 - [x] 在线模型初始化 - [x] 模型参数配置 - [x] Ollama 本地模型 - [x] 模型调用 - [x] 流式输出与批量处理 - [ ] 第三章:Prompt Engineering(待添加) - [ ] 第四章:Chat Models & Conversations(待添加) - [ ] 第五章:Memory & Chains(待添加) - [ ] 第六章:RAG & Retrieval(待添加) ## 🤝 贡献指南 欢迎提出 Issues 和 Pull Requests!如果你有任何学习心得或改进建议,请随时分享。 ## 📄 License 本项目仅供学习研究使用。 ## 📧 联系方式 如有问题,联系 **mars8879** 或者欢迎通过 Issue 讨论。 --- > 💡 **提示**: 本项目随学习进度持续更新,关注星号(⭐)以获取最新进展!