keras-llm-robot
基于Langchain和FastChat的一站式大模型实验平台,通过Streamlit Web界面支
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于Langchain和FastChat的一站式大模型实验平台,通过Streamlit Web界面支
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你是福州一家科技公司的产品经理,每天和研发团队沟通技术方案时,总是对「transformer 架构」「RAG 检索增强」「多模态推理」这些概念似懂非懂。想自己上手试试,却被 GitHub 上各种模型的下载、配置、微调文档吓退——光是搭建环境就要折腾一整天,还动不动报 CUDA 版本不兼容的错误。
Keras-llm-robot 正是为解决这个问题而生。这个由独立开发者 YIN MA(GitHub: smalltong02)创建的项目,最初只是一个「为了学习大模型」的个人实验,目标是让任何人都能在自己的电脑上,通过一个 Web 界面,与几乎所有主流开源大模型对话、实验和探索。它脱胎于 Langchain-Chatchat 项目,底层用 Langchain 和 Fastchat 驱动,顶层用 Streamlit 呈现简洁的图形界面,支持离线部署 HuggingFace 上的绝大多数开源模型。
项目采用分层架构设计,从底层到顶层依次为:
底层:大模型推理引擎
项目支持极其丰富的模型格式,包括原生 HuggingFace Transformers 模型、GGUF 量化模型(通过 llama-cpp-python)、GPTQ/AWQ 量化模型(需要 GPU)、以及直接的 OpenAI/Google 在线 API 调用。支持的模型覆盖 3B 到 70B 参数量级,既有 Llama2/3、Qwen、Yi、ChatGLM 等国产/国际主流开源模型,也有 Phi-3、Mistral、Codellama 等垂直领域专用模型。这意味着用户可以在消费级 GPU(8GB 显存)上跑 7B 模型,也可以用多卡并行加载 70B 模型。
中间层:Langchain Agent 编排
Langchain 是整个系统的核心粘合剂。项目使用 Langchain 的 Chain 机制串联:LLM Chain 负责任务规划,Retrieval Chain 负责知识库问答,Agent Chain 负责工具调用和任务分解。当用户向系统提出一个问题时,Langchain 会自动判断是否需要调用检索工具(FAISS/Milvus/PGVector 向量数据库)、代码解释器、语音合成、或者图像生成工具,然后将结果汇总返回给用户。
应用层:Streamlit Web UI
整个用户体验通过 Streamlit 实现,划分为三个主要界面:聊天界面、配置界面、工具代理界面。聊天界面支持纯文本对话;配置界面允许用户实时切换语言模型(基础模型/多模态模型/特殊量化模型/在线 API 模型);工具代理界面则集中管理向量检索、代码执行、TTS、STT、图像识别、图像生成等辅助模型。界面截图展示了清晰的功能分区,每个模块都可以独立加载和卸载。
项目支持超过 60 种语言模型,按类型分为四大类:
模型加载支持 CPU/GPU 切换、8bit 量化(4bit 效果不佳被标注为无效),GGUF 模型优先使用 CPU 以节省显存。配置界面实时显示当前加载状态,用户无需重启程序即可切换模型。
项目深度集成向量检索能力,支持 FAISS(CPU/GPU)、Milvus(分布式向量数据库)和 PGVector(PostgreSQL 向量扩展)三种向量数据库后端。配合 sentence-transformers 和 bge 等embedding模型,可以构建本地知识库问答系统。用户上传 PDF、Markdown、TXT 等文档后,系统自动分块、向量化并存储到选定的向量数据库中。查询时,用户的自然语言问题会被转换为向量,在知识库中检索最相关的文档片段,然后交给 LLM 生成答案。
项目构建了一个完整的多模态管道:
内置 Keras-llm-interpreter 代码执行环境,大模型可以直接调用 Python 解释器执行代码,实现数据分析、数学计算、自动化脚本生成等能力。同时支持 Function Calling 功能,允许大模型根据对话内容决定调用哪些外部工具(如搜索天气、查汇率、调用 API),而不只是生成文本。
项目内置三种预置 Agent 场景:智能客服代理(自动回答用户咨询)、实时翻译代理(多语言即时互译)、虚拟私人助理(日常任务管理和信息查询)。这些 Agent 都能调用上述各类工具,形成完整的问题解决闭环。
项目明确支持 Windows、Ubuntu、MacOS 三大平台,提供了分别针对各平台的 requirements 文件和安装指南。然而,部署过程涉及多个技术环节:
优点:
python __webgui_server__.py --webui 一行命令即可启动本地 Web UI缺点:
部署难度被评定为「困难」,适合有 Python 环境管理经验、了解 GPU 环境的开发者或 AI 爱好者。对于没有技术背景的用户,建议等待社区贡献 Dockerfile 或使用纯 CPU 量化模型(GGUF)进行入门体验。
项目代码组织清晰,采用功能模块化分层:
WebUI/ 目录存放 Streamlit 前端配置和页面组件models/ 目录预定义了 100+ 模型的加载配置(README),方便用户按图索骥tools/ 目录包含 SSL 反向代理工具(ssl-proxy-linux/darwin)用于 HTTPS 访问__webgui_server__.py 和 webui.py 是核心启动脚本项目使用 Apache-2.0 开源许可证,代码可供自由使用和修改。文档质量较高,提供中英文双语言 README,16 个 GitHub Topics 精准描述了项目能力范围。不过项目没有公开测试覆盖率数据,也没有接入 CI/CD 流水线,代码质量评分基于静态分析给出中等偏上评价。
作为本地部署项目,所有数据处理都在本地完成,不涉及云端传输。用户可以完全控制自己的对话数据、上传的文档和使用的模型。API Key(OpenAI、Google Azure、百度 Qianfan 等)通过本地 .env 文件配置,不进入版本控制,隐私安全性高。
Keras-llm-robot 代表了当前开源 AI 社区的一个重要趋势:让大模型能力从云端 API 普惠到本地消费级硬件。项目将 RAG、多模态理解、语音交互、Agent 编排等多种前沿能力集成到一个界面中,降低了 AI 实验的门槛。它的 Star 增长(252 ★,35 Fork)虽然不及明星项目,但在「个人开发者主导的 AI 应用类」项目中属于活跃水平。
从技术演进角度,项目紧跟开源模型生态:从早期支持 Llama-2 到现在支持 Llama-3、Qwen-2、GLM-4、Phi-3、Gemma 等最新模型,持续更新中。最近一次代码更新为 2026-06-02,说明项目仍在活跃维护。
对于福州本地 AI 爱好者和开发者而言,这个项目是一个优秀的本地 AI 实验平台,适合:学习 Langchain Agent 编排机制、探索不同开源模型的对话效果对比、构建本地知识库问答系统、以及实验多模态 AI 应用开发。