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.xdnf.cn/news/17822.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

TransFormer--解码器:概括

TransFormer--解码器:概括 假设我们想把英语句子I am good(原句)翻译成法语句子Je vais bien(目标句)。首先,将原句I am good送入编码器,使编码器 学习原句,并计算特征值。在前文中&…

3D Gaussian Splatting 代码层理解之Part1

2023 年初,来自法国蔚蓝海岸大学和 德国马克斯普朗克学会的作者发表了一篇题为“用于实时现场渲染的 3D 高斯泼溅”的论文。该论文提出了实时神经渲染的重大进步,超越了NeRF等以往方法的实用性。高斯泼溅不仅减少了延迟,而且达到或超过了 NeRF 的渲染质量,在神经渲染领域掀…

K8s学习笔记之了解k8s的网络模型

文章目录 docker 网络模型容器与容器之间,容器与宿主机之间如何通信容器访问外部网络外部网络访问容器 k8s 网络模型CNIpod 网络配置流程 k8s 热门网络插件介绍Flannel 来源Calico 来源Cilium 来源 k8s 网络插件的工作模式Flannel 的工作模式Calico 的工作模式BGP 和…

探索高效的 Prompt 框架:RBTR 提示框架的奥秘与优势

前言 在当今数字化的时代,人工智能(AI)已经成为我们生活和工作中不可或缺的一部分。而 Prompt 作为与 AI 交互的关键工具,其质量直接影响着我们获取信息的准确性和有用性。今天,我们将深入探讨一个通用的 Prompt 框架…

丹摩征文活动 | 深度学习实战:UNet模型的训练与测试详解

🍑个人主页:Jupiter. 🚀 所属专栏:Linux从入门到进阶 欢迎大家点赞收藏评论😊 目录 1、云实例:配置选型与启动1.1 登录注册1.2 配置 SSH 密钥对1.3 创建实例1.4 登录云实例 2、云存储:数据集上传…

# 10_ Python基础到实战一飞冲天(一)--linux基础(十)

10_ Python基础到实战一飞冲天(一)–linux基础(十)–软链接硬链接-tar-gzip-bzip2-apt-软件源 一、其他命令-04-文件软链接的演练实现 1、ubuntu 桌面文件如下图: 2、需求:文件软链接的演练(演…

Python学习27天

字典 dict{one:1,two:2,three:3} # 遍历1: # 先取出Key for key in dict:# 取出Key对应的valueprint(f"key:{key}---value:{dict[key]}")#遍历2,依次取出value for value in dict.values():print(value)# 遍历3:依次取出key,value …

【Linux】进程的优先级

进程的优先级 一.概念二.修改优先级的方法三.进程切换的大致原理:四.上下文数据的保存位置: 一.概念 cpu资源分配的先后顺序,就是指进程的优先权(priority)。 优先权高的进程有优先执行权利。配置进程优先权对多任务环…

ubuntu无密码用SCP复制文件到windows

默认情况下,ubuntu使用scp复制文件到windows需要输入密码: scp *.bin dev001@172.16.251.147:~/Desktop/. 为了解决每次复制文件都要输入密码这个问题,需要按如下操作: 1.创建ssh密钥 ssh-keygen -t ed25519 -C "xxx_xxx_xxx@hotmail.com" 2.使用scp复制公钥到w…

单片机GPIO中断+定时器 软件串口通信

单片机GPIO中断定时器 软件串口通信 解决思路代码示例 解决思路 串口波特率9600bps,每个bit约为1000000us/9600104.16us; 定时器第一次定时时间设为52us即半个bit的时间,其目的是偏移半个bit时间,之后的每104us采样并读取1bit数据。使得采样…

使用Web Components构建模块化Web应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Web Components构建模块化Web应用 使用Web Components构建模块化Web应用 使用Web Components构建模块化Web应用 引言 Web Co…

每行数据个数在变的二维数组的输出

#include<stdio.h> int main() {//定义四个一维数组int arr1[1] { 1 };int arr2[3] { 1,2,3 };int arr3[5] { 1,2,3,4,5 };int arr4[7] { 1,2,3,4,5,6,7 };//把四个一维数组放进一个二维数组int* arr[4] { arr1,arr2,arr3,arr4};//预先计算好每一个数组真实的长度in…

【SSL证书】腾讯云SSL续签备忘录

适用于证书过期了&#xff0c;需要替换证书的场景。本备忘录为nginx使用证书场景 步骤&#xff1a;一共7步。 登录腾讯云控制台->申请免费证书->腾讯云审核->下载->登录服务器->替换证书->重启nginx 1.登录控制台 https://console.cloud.tencent.com/ssl…

AVL树

一.AVL树的概念 AVL树是一颗特殊的二叉搜索树。二叉搜索树在有些极端情况下可能会出现单支的情况&#xff0c;这会影响其插入查找的效率。而AVL树是一个高度平衡的二叉搜索树&#xff0c;它要求任何的左右子树的高低差都小于等于1。它可以通过去控制左右子树的高度差来控制二叉…

鸿蒙开发-网络数据访问、应用本地数据保存

HTTP概述 HTTP&#xff0c;全称Hyper Text Transfer Protocol 超文本传输协议。 HTTP请求为短连接。客户端发起请求&#xff0c;服务器返回响应。本次连接即结束。 添加网络权限 在访问网络之前&#xff0c;需要在module.json5中给APP添加网络权限 "module": {&…

画 五边形 思路

1. 计算圆心 view 中心点 2.规定半径 R < view宽度 / 2 3.计算五边形五个顶点&#xff08;角度A 2π / 5&#xff09; 4. 五点相连 转载&#xff1a; Android自定义控件 芝麻信用分雷达图 - 简书

网络工程实验三:DHCP的配置

#实验仅供参考&#xff0c;勿直接粘贴复制&#xff0c;用以学习交流# #对于软件的使用&#xff0c;请移步到实验一观看# 1、实验目的&#xff1a; &#xff08;1&#xff09;掌握DHCP工作原理。 &#xff08;2&#xff09;配置路由器作为DHCP服务器。 &#xff08;3&#x…

手写体识别Tensorflow实现

简介&#xff1a;本文先讲解了手写体识别中涉及到的知识&#xff0c;然后分步讲解了代码的详细思路&#xff0c;完成了手写体识别案例的讲解&#xff0c;希望能给大家带来帮助&#xff0c;也希望大家多多关注我。本文是基于TensorFlow1.14.0的环境下运行的 手写体识别Tensorflo…

【SpringBoot】公共字段自动填充

问题引入 JavaEE开发的时候&#xff0c;新增字段&#xff0c;修改字段大都会涉及到创建时间(createTime)&#xff0c;更改时间(updateTime)&#xff0c;创建人(craeteUser)&#xff0c;更改人(updateUser)&#xff0c;如果每次都要自己去setter()&#xff0c;会比较麻烦&#…

【项目开发】为什么文件名要小写?

未经许可,不得转载。 文章目录 一、可移植性二、易读性三、易用性四、便捷性一、可移植性 Linux 系统对文件名大小写敏感,而 Windows 和 Mac 系统则不敏感。这种差异可能导致跨平台的问题。 例如,以下四个文件名: computerComPutercomPuterCOMPOTer在 Linux 系统上,它们…