基于 LangGraph 实现的聊天机器人,接入 DeepSeek、Qwen、智谱 AI 多个 LLM 模型,支持在线搜索和文件解析。
## 🎉 News - [x] [2025.05.02] 🎯📢可自定义网页搜索返回的网页数量;用户查询关键字提取逻辑优化;向量召回后添加 rerank 操作。 - [x] [2025.04.29] 🎯📢现已接入火山方舟(ARK),支持选择`doubao-embedding-text-240715`和`doubao-embedding-large-text-240915` Embedding 模型,分别对应 2560 和 4096 向量维度。 --- ## 简介 > 项目效果展示: [LangGraphChatBot](http://14.103.121.86:8090/) > <table> > <tr> > <td style="text-align: center;"><img src="./resources/websearch.png" width="600"/></td> > <td style="text-align: center;"><img src="./resources/file_retrival.png" width="600"/></td> > </tr> > </table> LangGraphChatBot 是基于 LangChain 和 LangGraph 的 AI 聊天机器人,可以用于回答问题、生成文章、联网搜索、处理文件等。该应用具备以下功能: 1. 根据对话类型将请求路由到适当的处理节点 2. 支持联网搜索(基于 `Tavily API`),获取实时信息 3. 根据问题和对话历史生成优化的搜索提示词,优化搜索精度 4. 利用编程专用的 `LLM` 解决代码相关问题,支持连续对话、支持流式回答展示 5. 支持文件上传与 `RAG` 处理,切分文档,转换为向量表示,基于提供的文档内容和用户提问,进行相似度搜索和 `rerank` 优化,总结生成答案 6. 多个 `LLM` 基座模型及 `Embedding` 模型可供选择,支持在线调节模型参数 7. `TODO:` 接入第三方工具,如天气、翻译等,支持更多功能 8. `TODO:` 当前联网搜索链路回复较慢,优化响应时间 > 🎉 更多 Agent 个人项目请参考:[Agent](https://github.com/kdjlyy/Agent) ## 快速开始 以下指南将帮助你在本地机器上安装和运行该项目,进行本地对话。 1. 克隆仓库 ```bash git clone [email protected]:kdjlyy/LangGraphChatBot.git cd LangGraphChatBot ``` 2. 安装依赖 本项目推荐使用 uv 管理虚拟环境和依赖,如果没有安装 uv 也可以使用项目根目录下的 [requirements.txt](./requirements.txt) 文件拉取相关依赖。uv 的安装使用方法如下: ```bash # 安装 uv pip install uv # 查看 uv 版本 uv --version # 创建虚拟环境 uv venv # 激活虚拟环境 source .venv/bin/activate # 安装依赖 uv sync ``` 拉取 `python` 和 `torch` 相关包时可能会遇到网络问题,可以尝试使用国内源。 3. 项目配置 项目从根目录的 `.env` 文件读取配置信息,包括模型路径、模型参数、API 密钥等。如果需要修改配置信息,可以修改 `.env` 文件,也可以在运行时通过命令行参数指定配置信息。相关配置项的描述详见:[.env.example](./.env.example) 文件注释。 ```bash # 创建 .env 文件 cp .env.example .env ``` 4. 控制台运行项目 ```bash # 运行项目 uv run main.py ``` 现在你可以在控制台输入问题,等待模型返回结果。 5. 使用 Streamlit 运行项目 ```bash # 运行项目 streamlit run app.py ``` ## 项目结构 项目的主要目录结构如下: ``` . ├── chains # 智能体 │ ├── generate.py │ ├── models.py │ └── summary.py ├── embedding # embedding 兼容 │ ├── ark_embedding.py # 火山方舟的 embedding │ └── base_embedding.py # embed
HAL 分层混合模型工作流 — 强模型(Claude)负责理解/拆解/验收,低成本模型(DeepSeek)负责检索/提取/清洗。Hermes Agent skill。
An LLM agent fine-tuned on DeepSeek for spaced repetition, dynamically integrating knowledge points based on the Ebbinghaus forgetting curve.
基于 STM32F103 构建的端到端 AI 智能手表生态。自研“零重定位”原生机器码动态加载引擎与页面栈式 UI 框架;集成生产级 OTA 回滚保护机制与高带宽(921600 baud)串口协议栈。通过 Node.js 中继实现 DeepSeek AI 语义控制及 ASRPRO 语音全双工交互,是一个集成了分布式计算、现代存储管理与 AI Agent 的嵌入式全栈工程。
A Meta-Agent-Driven Self-Evolving Multi-Agent System for UAV Detection and Tracking
One command to run Hermes AI Agent with a browser UI. Zero prerequisites. 一行命令,AI 就位。
网页应用Agent,接入DeepSeek、Mimo等模型