SuperAPI AI 工具集

llama-cpp-agent

llama-cpp-agent 是一个用于简化与大语言模型(LLM)交互的 Python 框架,支持聊天、结构化函数调用与结构化输出。它通过引导采样(grammars 与 JSON schema)约束模型输出,使未针对函数调用和 JSON 输出微调的模型也能完成此类任务。框架兼容 llama.cpp server、llama-cpp-python 及其 server、TGI 和 vllm 服务器。仓库页面显示该项目已不再维护,建议改用 ToolAgents 或其他 Python 智能体框架。

访问官网

工具介绍

用途

llama-cpp-agent 框架旨在简化与大语言模型(LLM)的交互。它提供聊天、执行函数调用、生成结构化输出、执行检索增强生成(RAG)以及使用带工具的智能体链处理文本的接口。

主要能力

  • 简单聊天界面:与 LLM 进行对话。
  • 结构化输出:从 LLM 生成结构化输出(对象)。
  • 单个与并行函数调用:使用 LLM 执行函数,支持并行调用。
  • RAG(检索增强生成):执行检索增强生成,支持 colbert 重排序。
  • 智能体链:使用带工具的智能体链处理文本,支持 Conversational、Sequential 和 Mapping 链。
  • 引导采样:借助 grammars 和 JSON schema 生成实现引导采样,使大多数 7B LLM 能够进行函数调用和结构化输出。
  • 多提供商:支持 llama-cpp-python、llama.cpp server、TGI server 和 vllm server 作为提供方。
  • 兼容性:兼容 Python 函数、pydantic 工具、llama-index 工具和 OpenAI 工具 schema。

使用方式

使用 pip 安装:pip install llama-cpp-agent。如需使用 RAGColbertReranker 类和 RAG 示例,需安装可选的 rag 依赖:pip install llama-cpp-agent[rag]。仓库提供文档和入门指南,并包含多个示例,如使用 llama.cpp server 后端的简单聊天、并行函数调用、结构化输出、带 colbert 重排序的 RAG、llama-index 工具、Sequential 链、Mapping 链和知识图谱创建。

框架提供预定义消息格式化器,MessagesFormatterType 枚举包含:MISTRAL、CHATML、VICUNA、LLAMA_2、SYNTHIA、NEURAL_CHAT、SOLAR、OPEN_CHAT、ALPACA、CODE_DS、B22、LLAMA_3、PHI_3、AUTOCODER、DEEP_SEEK_CODER_2。也可通过实例化 MessagesFormatter 类并传入所需参数创建自定义格式化器。

适用场景

适用于从日常聊天到特定函数执行的各种应用,例如从非结构化数据生成书籍数据集条目、使用 Sequential 链创建完整的产品发布活动、使用 Mapping 链将多篇文章汇总为单一摘要,以及创建知识图谱。

限制

仓库页面显示:Not Longer Maintained. Use instead ToolAgents or other Python agentic frameworks.(已不再维护,请改用 ToolAgents 或其他 Python 智能体框架。)

其他信息

项目采用 MIT License。欢迎贡献,贡献流程为:从 master 创建分支、确保代码符合项目代码风格与约定、编写清晰简洁的提交信息和拉取请求描述、提交前充分测试、向 master 分支发起拉取请求。如遇问题或有改进建议,可在 GitHub 仓库提交 issue。