langchain-learning/README.md
2026-04-12 20:12:56 +08:00

96 lines
3.2 KiB
Markdown

# LangChain Learning
[![](https://img.shields.io/badge/version-0.0.3-blue.svg)](https://github.com/your-repo/langchain-learning)
[![](https://img.shields.io/badge/python-3.11+-green.svg)](https://www.python.org/)
[![](https://img.shields.io/badge/LangChain-v1.2-orange.svg)](https://www.langchain.com/)
> LangChain 框架学习项目,集成 SiliconFlow API
## 功能特性
- **多 LLM 集成**:支持 OpenAI API、SiliconFlow 及 LangChain 抽象层
- **流式响应**:实时流式输出,带来更好的使用体验
- **Prompt 工程**:多种 Prompt 模板构建方式
- **Token 用量追踪**:轻松监控 API 调用消耗
- **实战示例**:从基础到进阶的使用模式
## 快速开始
### 1. 安装依赖
```bash
pip install langchain>=1.2.15 langchain-community>=0.4.1 langchain-siliconflow>=1.0.0 requests>=2.33.1
```
### 2. 配置环境变量
在项目根目录创建 `.env` 文件:
```env
SILICONFLOW_API_KEY=your_api_key_here
SILICONFLOW_BASE_URL=https://api.siliconflow.cn/v1
```
### 3. 运行示例
**Hello World 示例**
| 示例 | 命令 | 说明 |
|------|------|------|
| 直接调用 API | `python helloworld/helloworld.py` | 使用 requests 直接调用 SiliconFlow API |
| LangChain + ChatOpenAI | `python helloworld/helloworld_langchain_openai.py` | 通过 OpenAI 接口调用 LLM |
| LangChain + ChatSiliconFlow | `python helloworld/helloworld_siliconflow.py` | 使用 LangChain SiliconFlow 集成 |
| OpenAI 客户端 + SiliconFlow | `python helloworld/openai_siliconflow.py` | OpenAI 客户端兼容 SiliconFlow |
**Prompt 示例**
| 示例 | 命令 | 说明 |
|------|------|------|
| PromptTemplate | `python prompt/prompt_demo.py` | 演示 PromptTemplate 模板构建 |
| Few-shot Learning | `python prompt/fewshot_demo.py` | 带示例的少样本提示学习 |
| 从文件加载 Prompt | `python prompt/promt_from_file.py` | 从 YAML 文件加载提示词模板 |
**Token 用量示例**
| 示例 | 命令 | 说明 |
|------|------|------|
| Token 追踪 | `python token/token_demo.py` | 使用 get_openai_callback 追踪 token 消耗 |
## 项目结构
```
langchain-learning/
├── helloworld/
│ ├── helloworld.py # 直接调用 SiliconFlow API
│ ├── helloworld_langchain_openai.py # LangChain + ChatOpenAI
│ ├── helloworld_siliconflow.py # LangChain + ChatSiliconFlow
│ └── openai_siliconflow.py # OpenAI 客户端 + SiliconFlow
├── prompt/
│ ├── prompt_demo.py # PromptTemplate 模板示例
│ ├── fewshot_demo.py # Few-shot Learning 示例
│ ├── promt_from_file.py # 从文件加载 Prompt
│ └── prompt_from_file.yaml # Prompt 模板文件
├── token/
│ └── token_demo.py # Token 用量追踪示例
├── main.py # 入口文件
├── pyproject.toml # 项目配置
└── README.md
```
## 可用模型
- `deepseek-ai/DeepSeek-R1-0528-Qwen3-8B`
- `Qwen/Qwen3.5-4B`
## 技术栈
| 类别 | 技术 |
|------|------|
| 框架 | LangChain |
| LLM 提供商 | SiliconFlow |
| 语言 | Python 3.11+ |
## 许可证
MIT License