Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

🧠 LangChain 智能助手

Python LangChain License Last Commit


📖 项目简介

基于 LangChain 框架开发的智能 AI 助手,融合了 RAG 知识库检索、联网搜索、天气查询 等多功能工具集。创新性地引入 自反思机制,通过多轮质量审查确保 AI 回答的准确性、完整性和有用性。

🚀 这是一个生产级的 AI 助手项目模板,适用于构建私有知识库问答系统、智能客服等应用场景。


✨ 核心特性

🔧 强大的工具生态

功能 描述
📚 RAG 知识库 基于 ChromaDB 向量数据库,支持本地 PDF 文档的智能检索与语义匹配
🌐 联网搜索 集成 DuckDuckGo 搜索,获取实时最新信息
🌤️ 天气查询 支持实时天气和未来预报查询
💾 记忆系统 轻量级对话记忆,支持上下文理解与用户偏好学习

🧠 智能化回答质量保障

特性 描述
🔄 自反思机制 AI 生成回答后自动进行多维度质量审查
✅ 完整性检查 确保回答覆盖用户的所有问题
🎯 准确性验证 识别并纠正事实错误或误导性信息
🔒 安全性审查 检测潜在风险或不当内容

🏗️ 先进的 Agent 架构

  • ReAct 范式:理性推理与工具调用协同工作
  • 多轮对话:保持对话连贯性,理解上下文
  • 可扩展工具:模块化设计,便于添加新工具

🏛️ 项目架构

┌─────────────────────────────────────────────────────────────┐
│                        用户界面层                             │
│                      (Terminal / CLI)                        │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                     Self-Reflective Agent                    │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                    反思审查层                          │   │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐          │   │
│  │  │ 完整性   │  │ 准确性   │  │ 有用性   │          │   │
│  │  │ 检查     │  │ 验证     │  │ 评估     │          │   │
│  │  └──────────┘  └──────────┘  └──────────┘          │   │
│  └─────────────────────────────────────────────────────┘   │
│                              │                              │
│  ┌─────────────────────────────────────────────────────┐   │
│  │                   Smart Assistant                    │   │
│  │                    (ReAct Agent)                     │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                         工具层                               │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌──────────┐    │
│  │ RAG检索  │  │ 搜索    │  │ 天气    │  │ 记忆    │    │
│  └──────────┘  └──────────┘  └──────────┘  └──────────┘    │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                        LLM 层                               │
│              (讯飞星火 / 智谱 AI Embedding)                   │
└─────────────────────────────────────────────────────────────┘

📁 项目结构

agent_langchain_open/
├── main.py                        # 🎯 主程序入口
├── init_rag.py                    # 📦 RAG 向量数据库初始化
├── config.py                      # ⚙️  配置文件
├── requirements.txt               # 📋 Python 依赖列表
│
├── agent/                         # 🤖 Agent 核心模块
│   ├── smart_assistant.py              # 基础智能助手 (ReAct Agent)
│   └── self_reflective_assistant.py    # 带反思机制的智能助手
│
├── memory/                        # 💾 记忆系统模块
│   ├── history.py                     # 对话历史管理器
│   └── light_memory.py                # 轻量级记忆系统
│
├── tools/                         # 🛠️  工具集
│   ├── rag_tool.py                     # RAG 知识库检索工具
│   ├── search_tool.py                  # 联网搜索工具
│   └── weather_tool.py                 # 天气查询工具
│
├── llm_spark.py                   # 🔥 讯飞星火 LLM 调用
├── embedding_zhipu.py             # 🧠 智谱 AI Embedding
│
└── docs/                          # 📄 知识库文档目录
    └── (放置 PDF 文档)

🚀 快速开始

环境要求

要求 版本说明
Python 3.9 或更高版本
API Key 讯飞星火 API / 智谱 AI API

1️⃣ 克隆项目

git clone https://github.com/L3n3L/agent_langchain_open.git
cd agent_langchain_open

2️⃣ 安装依赖

pip install -r requirements.txt

3️⃣ 配置环境变量

# 复制环境变量模板
cp .env.example .env

编辑 .env 文件,填入你的 API 密钥:

# ===========================================
# 讯飞星火大模型 API 配置
# https://console.xfyun.cn/services/bm35
# ===========================================
SPARK_APP_ID=your_app_id_here
SPARK_API_KEY=your_api_key_here
SPARK_API_SECRET=your_api_secret_here

# ===========================================
# 智谱 AI API 配置
# https://open.bigmodel.cn/
# ===========================================
ZHIPU_API_KEY=your_zhipu_api_key_here

4️⃣ 初始化知识库(可选)

# 将 PDF 文档放入 docs/ 目录
# 运行初始化脚本
python init_rag.py

5️⃣ 启动助手

python main.py

📖 使用指南

交互命令

命令 别名 说明
/help help, 帮助 显示帮助信息
/reset reset, 重置 重置对话历史
/history history, 历史 查看对话历史
/stats stats, 状态 查看知识库统计
/memory memory, 记忆 查看记忆摘要
/reflection reflection, 反思 切换反思机制
/trace trace, 追踪 显示执行追踪
/pref pref, 偏好 查看用户偏好
/setpref setpref 设置用户偏好
/quit quit, exit, 退出 退出程序

💬 对话示例

============================================================
  LangChain 智能助手
  支持:RAG知识库 / 联网搜索 / 天气查询 / 多轮对话
============================================================

初始化 LLM...
✓ 反思机制: 已启用
✓ 记忆系统: light (最大 15 条消息)
Agent 已就绪,已加载 6 个工具

命令:
  /help         - 显示帮助
  /reset        - 重置对话历史
  ...

你: 你好,请介绍一下自己
[阶段1] 生成初始回答...
[阶段2] 反思检查 (1/2)...
[反思结果] 回答通过

AI: 您好!我是基于 LangChain 的智能助手...

⚙️ 高级配置

调整反思迭代次数

编辑 main.py 中的配置:

enable_reflection = True
max_reflections = 2  # 最大反思次数

调整记忆容量

memory_type = "light"
max_memory_messages = 15  # 最大保留消息数

切换 Agent 类型

# 基础 Agent(无反思)
agent = create_agent(llm, tools, ...)

# 带反思的 Agent(推荐)
agent = create_reflective_agent(llm, tools, ...)

🛠️ 技术栈

类别 技术 版本
核心框架 LangChain ≥ 0.1.0
LLM 讯飞星火大模型 -
Embedding 智谱 AI -
向量数据库 ChromaDB ≥ 0.4.0
搜索 DuckDuckGo ≥ 4.0.0
PDF 解析 pdfplumber ≥ 0.10.0

🤝 贡献指南

欢迎提交 Issue 和 Pull Request!

开发流程

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

📝 更新日志

[1.0.0] - 2024-xx-xx

  • ✨ 初始版本发布
  • 🎉 支持 RAG 知识库检索
  • 🎉 支持联网搜索
  • 🎉 支持天气查询
  • 🎉 引入自反思机制

📄 许可证

本项目采用 MIT 许可证。


📧 联系方式


如果这个项目对你有帮助,请给它一个 ⭐ Star!

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages