# llm-agent **Repository Path**: openkylin/llm-agent ## Basic Information - **Project Name**: llm-agent - **Description**: No description available - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 2 - **Created**: 2024-08-16 - **Last Updated**: 2025-11-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LLM-Agent 欢迎来到 LLM-Agent 项目!本项目旨在开发一个超越传统智能对话的人工智能系统,利用大型语言模型(LLM)实现多轮对话、任务执行、推理能力及一定程度的自主行为。以下是项目的详细说明。 ## 目录 - [特性](#特性) - [安装与配置](#安装与配置) - [使用方法](#使用方法) - [组件说明](#组件说明) - [贡献](#贡献) - [许可证](#许可证) ## 特性 - **多模型支持**:同时支持本地大模型与云端大模型,用户可根据需求选择最适合的模型。 - **多轮对话支持**:通过记忆模块,存储会话上下文和用户特征,实现自然流畅的对话体验。 - **多场景与场景定制能力**:支持多种场景(如翻译、编程、演讲等),并允许用户根据具体需求进行场景定制。 - **知识检索增强能力**:通过接入外部知识库,实时检索相关信息以增强对话的准确性和丰富性。 - **系统交互能力**:支持截屏、播放音乐、发送电子邮件等系统级别的操作,增强用户体验。 - **开放API接口**:通过 WebSocket 或 HTTP 请求提供 API 接口,便于其他应用集成、交互和调用。 ## TODO - **高效推理能力**:优化推理算法,显著提升响应速度和效率,支持复杂场景下的实时交互。 - **任务规划能力**:将复杂任务拆解为可执行的子任务,自动评估执行策略。 - **思维链推理**:展示思维链推理和思维树结构,以便建立逻辑关系并解决问题。 - **定制文本生成**:根据上下文和目标生成个性化文本,适用于电子邮件、公文、通知等。 - **工具扩展**:通过接入外部工具(如 API、插件),增强系统能力,支持处理多种任务。 - **自我批判与用户评判**:具备自我反思能力,根据用户反馈和自我评估不断改进表现,优化交互体验。 ## 安装与配置 1. **克隆仓库**: ```bash git clone https://gitee.com/openkylin/llm-agent.git cd llm-agent ``` 2. **环境配置**:安装CUDA、CUDNN、conda ``` 1、安装cuda sudo sh cuda_11.8.0_520.61.05_linux.run --silent --toolkit --tmpdir=./ sudo sh cuda_12.2.2_535.104.05_linux.run --silent --toolkit --tmpdir=./ 2、安装cudnn sudo dpkg -i cudnn-local-repo-debian12-9.10.0_1.0-1_amd64.deb sudo cp /var/cudnn-local-repo-debian12-9.10.0/cudnn-*-keyring.gpg /usr/share/keyrings/ sudo apt update sudo apt -y install cudnn 3、安装conda sh Anaconda3-2023.09-0-Linux-x86_64.sh 4、修改环境变量 vim ~/.bashrc 添加以下内容 export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 5、安装conda及运行环境 conda create -n llm_env python=3.10 -y conda activate llm_env pip --default-timeout=10000 install torch==2.2.1 --index-url https://download.pytorch.org/whl/cu118 pip --default-timeout=10000 install auto-gptq --no-build-isolation --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ pip install pytrie -i https://pypi.tuna.tsinghua.edu.cn/simple export PATH=$PATH:/usr/local/cuda/bin/ LD_LIBRARY_PATH="$home/anaconda3/envs/llm_env/lib:$LD_LIBRARY_PATH" LDFLAGS="-L$home/anaconda3/envs/llm_env/lib -Wl,-rpath,$home/anaconda3/envs/llm_env/lib" CMAKE_ARGS="-DGGML_CUDA=on -DLLAVA_BUILD=off" FORCE_CMAKE=1 pip install llama-cpp-python ``` 3. **安装依赖**: 建立conda环境并使用 pip 安装项目所需的依赖库: ```bash conda create -n llm_env python=3.10 -y conda activate llm_env pip --default-timeout=10000 install torch==2.2.1 --index-url https://download.pytorch.org/whl/cu118 pip --default-timeout=10000 install auto-gptq --no-build-isolation --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ pip install pytrie -i https://pypi.tuna.tsinghua.edu.cn/simple export PATH=$PATH:/usr/local/cuda/bin/ LD_LIBRARY_PATH="$HOME/anaconda3/envs/llm_env/lib:$LD_LIBRARY_PATH" LDFLAGS="-L$HOME/anaconda3/envs/llm_env/lib -Wl,-rpath,$HOME/anaconda3/envs/llm_env/lib" CMAKE_ARGS="-DGGML_CUDA=on -DLLAVA_BUILD=off" FORCE_CMAKE=1 pip install llama-cpp-python pip install -r requirements.txt ``` 4. **模型及资源下载**: 模型已分享到夸克网盘 夸克链接:https://pan.quark.cn/s/e1ad27a6494c?pwd=K4Ts 提取码:K4Ts 5. **拓展**:openkylin系统交互环境配置与调用 ``` 1、克隆仓库到本地: git clone https://gitee.com/openkylin/kylin-actuator.git 2、安装: ./tools/install.sh 3、打包: ./tools/make-deb.sh ``` 详细可以参考项目**https://gitee.com/openkylin/kylin-actuator** ,内有md文件说明。 ## 使用方法 启动 LLM-Agent: ```bash python main.py ``` ## 通过HTTP 请求或 WebSocket与 LLM-Agent 进行交互: ### 示例 模型调用 请求 #### 模拟会话调用大模型 ![会话](examples/会话.png) 示例代码为**examples/llm_client.py**、**examples/stream_client.py** ## 组件说明 - **大型语言模型(LLM)**:负责理解和生成文本的核心组件,支持本地和云端模型的切换。 - **记忆模块(Memory)**:用于存储会话上下文和用户特征。 - **知识检索模块(Knowledge Retrieval)**:与外部知识库交互,提供实时信息检索能力。 - **系统交互模块(System Interaction)**:实现截屏、播放音乐、发送电子邮件等功能,以增强用户体验。 - **工具使用模块(Tool Use)**:与外部工具交互以实现更复杂的功能。 - **API模块(API Module)**:提供开放的 HTTP 和 WebSocket 接口,便于其他应用进行集成。 ## 参与贡献 欢迎对本项目的贡献!请遵循以下步骤: 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目使用 GPL-3.0 许可证,详情请参见 [LICENSE](LICENSE) 文件。 --- 感谢您对 LLM-Agent 项目的关注和支持!如有任何问题,请随时在 Gitee 上提出问题或创建讨论。