- Move notebooks to dedicated notebooks/ directory - Create src/ directory for reusable code (utils/, chains/) - Add tests/ directory for unit tests - Add comprehensive .gitignore file - Update CLAUDE.md and README.md with new structure - Remove old app/ directory 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .idea | ||
| notebooks | ||
| src | ||
| tests | ||
| .env | ||
| .gitignore | ||
| CLAUDE.md | ||
| README.md | ||
| requirements.txt | ||
README.md
LangChain 学习项目
这是一个 LangChain 学习演示项目,涵盖了从基础调用到高级应用(RAG、Agent)的完整示例。
项目结构
lang-demo1/
├── notebooks/ # Jupyter 学习笔记
│ ├── demo1.ipynb # 核心示例(7个主题)
│ └── sample.ipynb # 基础示例
├── src/ # 可复用代码
│ ├── utils/ # 工具函数
│ └── chains/ # 自定义链
├── tests/ # 单元测试
├── data/ # 数据文件
└── models/ # 模型文件
快速开始
1. 安装依赖
pip install -r requirements.txt
主要依赖:
langchain- LangChain 核心库langchain-openai- OpenAI 集成langchain-community- 社区工具faiss-cpu- 向量数据库python-dotenv- 环境变量管理
2. 配置环境变量
在项目根目录创建 .env 文件:
# OpenAI API 配置
OPENAI_BASE_URL=你的API地址
OPENAI_API_KEY1=你的API密钥
# LangSmith 追踪配置(可选)
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=你的LangSmith密钥
LANGSMITH_PROJECT=你的项目名
3. 运行示例
jupyter notebook
# 或
jupyter lab
然后打开 notebooks/demo1.ipynb 开始学习。
学习内容
1. 基础 LLM 调用
使用 ChatOpenAI 进行基本的模型调用
2. 提示词模板
使用 ChatPromptTemplate 创建结构化提示词
3. 输出解析器
使用 JsonOutputParser 将输出解析为 JSON 格式
4. 向量存储
使用 FAISS 向量数据库存储和检索文档
5. RAG (检索增强生成)
结合向量检索和 LLM 实现知识问答
6. Agent 系统
使用 LangChain Agent 实现工具调用和自主决策
技术栈
- LLM: GPT-4.1-nano (通过 OpenAI 兼容接口)
- Embeddings: text-embedding-3-small
- 向量数据库: FAISS
- Web 抓取: BeautifulSoup4
- 开发环境: Jupyter Notebook/Lab
注意事项
- 代码中使用
OPENAI_API_KEY1而不是标准的OPENAI_API_KEY - 向量数据存储在内存中,未做持久化
.env文件包含敏感信息,已在.gitignore中排除