基于 Arweave 永存网络建立 Autonomous RAG AI Agent
前文回顾:
0x01 RAG 快速介绍
检索增强生成(RAG)是指对大型语言模型输出进行优化,使其能够在生成响应之前引用训练数据来源之外的权威知识库。大型语言模型(LLM)用海量数据进行训练,使用数十亿个参数为回答问题、翻译语言和完成句子等任务生成原始输出。在 LLM 本就强大的功能基础上,RAG 将其扩展为能访问特定领域或组织的内部知识库,所有这些都无需重新训练模型。这是一种经济高效地改进 LLM 输出的方法,让它在各种情境下都能保持相关性、准确性和实用性。
——https://aws.amazon.com/cn/what-is/retrieval-augmented-generation/
简单来说通过「向量数据库」或「传统数据库」,我们生成基于检索资料的 Prompt,然后喂给 LLM,得到最终答案。
4. Talk to
+-------------------------------> LLM
| 3. Response
User <----------------------------+
↓ 1. Search |
+-----------------+ 2. Result +------------------+
| Data Source |----------->| Prompt with Data |
+-----------------+ +------------------+
| |
VectorDB OriginalDB
🤔 我认为 AI 项目不应该再去做
4.
这一步了,拿到 Prompt 后怎么处理让用户自行选择。
0x02 从 Data Source 到 Perma Data Source
在0x01
中,我们讨论的是传统的 RAG 的方式。然而,传统的 RAG 和其他 Web2 一样,都不可避免的存在数据损坏的可能性。一旦 Data Source 不再存在,那么 RAG AI Agent 也即死亡。
此外,传统架构下在 RAG AI Agent 间数据不易打通,除非使用一个统一的中心化的数据库🐘,统一的中心化的数据库的问题自然不必多言。
因此,一种非常 c00l 的解决方案是 —— 将 Data Source 存储在 Arweave 等永存网络上:
4. Talk to
+-------------------------------> LLM
| 3. Response
User <----------------------------+
↓ 1. Search |
+-----------------+ 2. Result +------------------+
| Data Source |----------->| Prompt with Data |
+-----------------+ +------------------+
|
Datasets ← on Arweave
| |
Meta Data Indexer
在这种设计下,我们将在 Arweave 上的存储分为两类:元数据(Meta Data)和索引(Indexer)。
元数据:以 Item 为单位的原始数据。值得注意的是,区块链架构下并不会存在传统 SQL 中的表关系,因此天然适配 NoSQL 形态或者说 K-V 形态的数据。 索引: 指向元数据的 JSON Collection,通过索引我们把元数据进行了「打包」。
这样设计的好处是,相同的元数据我们存储一份即可被全网复用。使用者在使用时,如果网络上已经存在了所需的元数据,那么建立索引即可:
A Collection about History
|
+--------------------+
| |
+--------------+ +----------------+ +-----------------------+ +--------+
| A Story Book | | A History Book | | A Video about History | | A Film |
+--------------+ +----------------+ +-----------------------+ +--------+
+---------------------------------+ +----------------------------------+
| Meta Data about Books | | Meta Data about Videos |
+---------------------------------+ +----------------------------------+
0x03 RAG AI Agent 的无主化
「无主」是 Arweave 叙事的重要一环。通过匿名账号,我们可以实现「无主数据」;然后,AO
又让我们进一步看到了「无主程序」的可能性。
为什么 RAG AI Agent 要无主?因为如果 RAG AI Agent 依然是传统的中心化的程序,那么作为「入口」就会承担相应的「单点故障风险」,是形成 RAG AI Agents 自由市场的阻碍。
💡 Autonomous RAG AI Agent → Autonomous RAG AI Agent marketplace.
0x04 Data = Asset
除了元数据永存和无主外,第三个关键点是数据资产化,数据资产化延伸出自我维护的数据市场,达成「数据提供方」、「数据聚合方」、「数据资助方」、「数据使用方」多方共赢的结局。
+-------------------+
| Data Shares Hodler|
+-------------------+
↓ Buy Shares
+-----------------+ Provide +----------------+ +-------------+
| Data Provider A |-----------→| Meta Dataset A |---→| Data Assets |-----+
+-----------------+ +----------------+ +-------------+ |
|
+-----------------+ Provide +----------------+ +-------------+ |
| Data Provider B |-----------→| Meta Dataset B |---→| Data Assets | |
+-----------------+ +----------------+ +-------------+ |
| Distributed by Smart Contract
+-----------------+ Create +-----------------+ Index | to Every Guys refered.
| RSSer |------------→| Data Aggregator |←---------------------+ ↑
+-----------------+ +-----------------+ +----------------+
↑ Use +-------- Get Benefits💰-----→| Smart Contract |
+-----------+ +----------------+
| Data User |
+-----------+