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.

相关推荐
乐呦刘、35 分钟前
nature communications论文 解读
人工智能·深度学习·机器学习
自不量力的A同学4 小时前
微软发布「AI Shell」
人工智能·microsoft
一点一木4 小时前
AI与数据集:从零基础到全面应用的深度解析(超详细教程)
人工智能·python·tensorflow
花生糖@4 小时前
OpenCV图像基础处理:通道分离与灰度转换
人工智能·python·opencv·计算机视觉
2zcode5 小时前
基于YOLOv8深度学习的智慧农业棉花采摘状态检测与语音提醒系统(PyQt5界面+数据集+训练代码)
人工智能·深度学习·yolo
秀儿还能再秀5 小时前
神经网络(系统性学习四):深度学习——卷积神经网络(CNN)
人工智能·深度学习·机器学习·cnn·学习笔记
开MINI的工科男6 小时前
【笔记】自动驾驶预测与决策规划_Part7_数据驱动的预测方法
人工智能·自动驾驶·端到端·预测与决策·多模态预测
蒋会全7 小时前
第2.3 AI文本—prompt入门
人工智能·prompt·aigc
Evaporator Core7 小时前
门控循环单元(GRU)与时间序列预测应用
人工智能·深度学习·gru
是Yu欸7 小时前
【Github】如何使用Git将本地项目上传到Github
人工智能·git·深度学习·github·论文笔记·cvpr