前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >开源:LLMCompiler高性能工具调用框架

开源:LLMCompiler高性能工具调用框架

作者头像
马超的博客
发布2025-02-21 17:32:23
发布2025-02-21 17:32:23
8000
代码可运行
举报
文章被收录于专栏:马超的博客马超的博客
运行总次数:0
代码可运行

LLMCompiler

 LLMCompiler 是一种 Agent 架构,旨在通过在DAG中快速执行任务来加快 Agent 任务的执行速度。它还通过减少对 LLM 的调用次数来节省 Tokens 使用的成本。实现 灵感来自《An LLM Compiler for Parallel Function Calling》。

 这里以使用 SQL 查询数据为例,介绍该框架的核心作用。生成 SQL 执行计划的核心流程包括语法解析、语义分析、优化器介入、生成执行计划。LLMCompiler 基于用户指令执行工具调用时其实可以理解为 LLM 帮用户做了类似 SQL 生成执行计划的过程,只不过这里生成的计划是一个 DAG,DAG描述了工具之间的调用关系和参数依赖传递逻辑。

 当 Agent 需要调用大量工具时,此实现非常有用。如果您需要的工具超过 LLM 的上下文限制,您可以基于此工具扩展代理节点。将工具分为不同的 代理并组装它们以创建更强大的 LLMCompiler。另外已经有案例是在生产级应用中得到验证的,这个案例中配置了大约 60 种工具,与 Few-shot 搭配时准确率超过 90%。

LLMCompiler 框架图

LLMCompiler Frame Diagram

任务提取单元

Task Fetching Unit

使用方式

代码语言:javascript
代码运行次数:0
复制
# https://github.com/crazyyanchao/llmcompiler
# 如果您对这个项目感兴趣别忘了点个`star`:) 

pip install llmcompiler
代码语言:javascript
代码运行次数:0
复制
from llmcompiler.result.chat importChatRequest
from llmcompiler.tools.tools importDefineTools
from langchain_openai.chat_models.base importChatOpenAI
from llmcompiler.chat.run importRunLLMCompiler

chat =ChatRequest(message="<YOUR_MESSAGE>")

# tools 是基于 Langchain BaseTool 的列表。
# 默认配置仅用于演示,建议继承BaseTool来实现Tool,这样可以更好地控制一些细节。
# 对于多参数依赖,可以继承 DAGFlowParams,实现参考为`llmcompiler/tools/basetool/fund_basic.py`。 
tools =DefineTools().tools()

# 支持BaseLanguageModel的实现类。
llm =ChatOpenAI(model="gpt-4o", temperature=0, max_retries=3)

llm_compiler =RunLLMCompiler(chat, tools, llm)
result = llm_compiler()
print(result)

# 更多使用方式可以在`issue`中讨论,后续还会继续完善文档。

参考链接

  • • 论文: An LLM Compiler for Parallel Function Calling[2]
  • • 部分参考代码: LLMCompiler From Github[3]
引用链接

[1] TOC: 开源:LLMCompiler高性能工具调用框架 [2] 论文: An LLM Compiler for Parallel Function Calling: https://arxiv.org/abs/2312.04511 [3] 部分参考代码: LLMCompiler From Github: https://github.com/langchain-ai/langgraph/blob/main/examples/llm-compiler/LLMCompiler.ipynb

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马超的博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LLMCompiler
    • LLMCompiler 框架图
    • 任务提取单元
    • 使用方式
    • 参考链接
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档