当前位置: 首页 > news >正文

GraphLLM:基于图的框架,通过大型语言模型处理数据

GraphLLM是一个创新的框架,它允许用户通过一个或多个大型语言模型(LLM)来处理数据。这个框架不仅提供了一个强大的代理,能够执行网络搜索和运行Python代码,还提供了一套工具来抓取网页数据,并将其重新格式化为对LLM更友好的格式。

GraphLLM的特点

GraphLLM提供了以下一系列特点:

  • 基于图的框架:使用LLM处理数据。
  • 强大的代理能力:能够执行网络搜索和运行Python代码。
  • 数据抓取和格式化工具:提供工具来抓取网页并重新格式化数据。
  • 示例列表:提供了一系列示例,帮助用户快速开始。
  • 低层次框架:提供对原始提示和模型输出的完全控制,库的内部工作机制不隐藏在任何抽象之后。
  • 图形用户界面(GUI):虽然仍在开发中,但已经提供了基本功能。

GraphLLM的GUI

GraphLLM的GUI受到了ComfyUI的启发,前端界面相似,但后端完全不同,因此项目之间的节点不兼容。这是因为开发者希望提供更高级的功能和对复杂图的支持。GraphLLM GUI的一些特点包括:

  • 循环:可以在图中包含任何类型的循环,甚至可以无限运行一个图。
  • 条件语句:节点的拓扑结构可以部分地根据输入值进行更改。这有助于构建状态机。
  • 节点的并行执行:更多的节点可以并行执行,这对于同时进行多个LLM调用非常有用。
  • 结果流式传输:可以在LLM节点产生输出时实时查看输出。可以在图运行时连接观察节点。
  • 层次化图:图可以包含其他图,没有限制。
  • 额外功能:图可以调用外部工具,例如网络刮刀、YouTube下载器或PDF阅读器。

示例

GraphLLM提供了一个示例图,用于生成Python代码并用它来解决问题。例如,一个代理能够回答类似于“给我总结一下Hacker News首页上最有可能与语言模型相关的文章”的问题。

限制

GraphLLM主要与llama70b和qwen 32b进行测试,使用llama.cpp服务器作为后端。该框架正在积极开发中,可能会有重大变化。

安装和运行

要快速设置GraphLLM,你需要运行以下命令来下载和启动:

bash

pip3 install selenium readabilipy html2text pdfminer.six justpy
git clone https://github.com/matteoserva/GraphLLM.git 
cd GraphLLM

然后在另一个终端启动llama.cpp服务器:

bash

GGML_CUDA_ENABLE_UNIFIED_MEMORY=1 CUDA_VISIBLE_DEVICES=0,1 ./llama-server -ngl 99 -t 6 -c 32768 --host 0.0.0.0  -m Qwen2.5-32B-Instruct-Q5_K_M.gguf --override-kv tokenizer.ggml.add_bos_token=bool:false -sp -fa -ctk q8_0 -ctv q8_0

你可以在终端中运行以下命令来启动服务器:

bash

python3 server.py

然后,你可以在浏览器中打开 http://localhost:8008/ 来访问。

要直接运行一个图,你可以使用以下命令:

bash

python3 exec.py examples/graph_summarize.txt test/wikipedia_summary.txt

在examples文件夹中有更多的示例,你也可以从Web GUI中打开更多示例。

后端支持

GraphLLM支持一些推理引擎和许多模型。建议的组合是使用llama.cpp与Qwen2.5。llama.cpp服务器得到了完全支持,其他引擎具有有限的功能。GraphLLM广泛使用了高级功能,如语法、助手响应预填充和使用原始提示。一些引擎和API提供者只支持这些功能的子集。

GraphLLM是一个强大的工具,可以帮助你在大型语言模型的帮助下处理复杂的数据任务。如果你对这个项目感兴趣,可以访问其GitHub页面了解更多信息:

GraphLLM: A graph based framework to process data through a LLM or multiple LLMs.

http://www.lryc.cn/news/467687.html

相关文章:

  • HarmonyOS 5.0应用开发——Navigation实现页面路由
  • 物联网行业应用实训室建设方案
  • SOLIDWORKS 2025更灵活零件建模
  • 智能巡检机器人的大模型训练
  • RabbitMQ系列学习笔记(九)--路由模式
  • [OS] pthreads-1
  • ThreeJS入门(137):THREE.StringKeyframeTrack 知识详解,示例代码
  • 用大模型或者向量模型比如huggingface上的模型,处理一批图片,对该图片进行分类,检索
  • Mac 使用 zsh 终端提示 zsh: killed 的问题
  • 数字后端零基础入门系列 | Innovus零基础LAB学习Day6
  • (Linux驱动学习 -13).SPI驱动实验
  • Angular 框架入门教程:从安装到路由、服务与状态管理详解
  • 【华为HCIP实战课程十八】OSPF的外部路由类型,网络工程师
  • oss 简单命令(已亲测)
  • 申请https证书
  • trtexec 工具使用
  • 10款具备强大数据报告功能的电脑监控工具,办公电脑怎么监控
  • 如何理解Linux中的进程名
  • 微信红包设计流程讲解与实战分析
  • AI智能体:AI智能体(Agent)是什么?为什么要学?99%的人不知道!
  • NVR小程序接入平台/设备EasyNVR多个NVR同时管理的高效解决方案
  • APS开源源码解读: 排程工具 optaplanner II
  • 科技是把双刃剑,巧用技术改变财务预测
  • vscode默认添加python项目的源目录路径到执行环境(解决ModuleNotFoundError: No module named问题)
  • 【每日刷题】Day143
  • 基于Springboot智能学习平台的设计与实现
  • 黑马javaWeb笔记重点备份11:Web请求与响应
  • H5对接海康硬盘录像机视频简单说明
  • 测试人必备的Linux常用命令大全...【全网最全面整理】
  • 苹果AI落后两年?——深度解析苹果在AI领域的挑战与前景