项目介绍:keras-llm-robot
项目背景
keras-llm-robot 项目继承自 Langchain-Chatchat 项目,其底层架构采用了 Langchain 和 Fastchat 等开源框架,顶层通过 Streamlit 实现。该项目完全开源,旨在实现 Hugging Face 网站上大部分开源模型的离线部署和测试。此外,它还通过配置支持多模型组合,实现多模态、RAG、Agent 等功能。
主要功能
快速开始
要使用 keras-llm-robot,首先需要准备运行环境,然后可以通过 Python 启动本地 Web UI,使用 HTTP 接口访问。
python __webgui_server__.py --webui
对于云服务器部署,通过反向代理和 HTTPS 启动 Web UI,可以在本地使用 HTTPS 访问。
// Ubuntu平台示例
python __webgui_server__.py --webui
chmod +x ./tools/ssl-proxy-linux
./tools/ssl-proxy-linux -from 0.0.0.0:4480 -to 127.0.0.1:8818
环境设置
-
安装工具:需要安装 Anaconda 或 Miniconda、Git。Windows 用户还需安装 CMake 工具,Ubuntu 用户需要安装 gcc 等工具。
-
创建虚拟环境:使用 conda 创建名为 keras-llm-robot 的虚拟环境,并安装 Python 3.10 或 3.11。
-
克隆仓库:从 GitHub 克隆项目代码。
-
激活虚拟环境:使用命令激活创建的虚拟环境。
-
安装 CUDA(如果有 NVIDIA GPU):根据 CUDA Toolkit 的版本安装 PyTorch CUDA 版本。
-
安装依赖:根据系统平台选择适合的 requirements 文件安装依赖项。
-
支持语音功能:需要安装 ffmpeg 工具。
-
下载模型:如果想离线执行模型,需要从 Hugging Face 网站下载模型并存放到 "models" 目录中。
功能概述
接口概述
-
配置接口:用户可以选择加载适合的语言模型,分为基础模型、多模态模型、专用模型和在线模型。
-
工具和代理接口:可以加载辅助模型,如检索、代码执行、文本转语音、语音识别、图像识别和图像生成等工具。
语言模型功能
-
模型加载:可以选择在 CPU 或 GPU 上加载基础模型,多模态模型和特殊模型也支持。
-
量化:使用开源工具为通用模型创建量化版本。
-
微调:用户可以使用私有数据集微调语言模型。
-
角色扮演:支持语言模型在不同角色之间进行切换,以提供专业人士的响应。
辅助模型功能
-
检索:支持向量数据库和嵌入模型为语言模型提供长期记忆能力。
-
代码解释器:增加语言模型的代码执行能力,支持在本地运行或在 Docker 容器中运行。
-
语音识别和生成:为语言模型提供语音输入和输出能力。
-
图像识别和生成:支持静态图像生成和动态图像生成功能。
-
网络搜索引擎:为语言模型提供网络搜索能力。
-
函数调用:允许语言模型调用功能,赋予模型使用工具的能力。
-
工具箱:通过 Google 工具箱集成管理邮件、日历、云存储等功能。
AI 生成器
项目通过结合不同的模型和工具,创建了高效生产力的 AI 代理。
-
智能客服代理:为用户提供个性化和高效的客户服务。
-
实时语言翻译代理:实现多语言之间的翻译,支持用户在不同语言环境中的交流。
-
虚拟个人助理代理:结合自然语言处理等功能,理解和执行用户指令,提高工作和生活的效率。
项目演示和视频演示中展示了这些功能的具体实现,包括不同模型在各种场景下的表现。新的功能更新也在持续进行,保证项目的实用性和前沿性。
最后,keras-llm-robot 项目通过开放和灵活的架构,为研究者和开发者提供了一个强大而多样化的平台,可以在不同领域的 AI 应用中进行测试和创新。