Prompt 语宙Prompt 语宙
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
Search
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2024 Prompt 语宙. HalfPX. All Rights Reserved.
阅读: LlamaIndex 数据摄入管道 [译]
Share
登陆
通知 阅读更多
Font Resizer字体
Font Resizer字体
Prompt 语宙Prompt 语宙
Search
  • 首页
  • AIGC 资讯
    • AIGC 早报Hot
    • 最新趋势
    • AI 工具
    • 热门资源
  • AI 绘图
    • Prompt 实战
    • AI 绘画教程
    • 模型精选
  • 强化 AI 学习
  • AI 图库
    • 人物
    • 展台场景
    • Banner
    • 游戏
    • 动物
    • 食物
    • 自然
    • 背景
    • 海报
    • 建筑
    • 室内设计
  • Remaker AI
    • Free Image Splitter
    • AIGC 工具
    • Prompt 咒语生成器
  • 社区
    • 知识星球
    • 公众号
已有帐户? 登陆
  • Contact
  • Blog
  • Complaint
  • Advertise
© 2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Prompt 语宙 > 强化 AI 学习 > LlamaIndex 数据摄入管道 [译]
强化 AI 学习

LlamaIndex 数据摄入管道 [译]

宝玉的分享
最近更新: 2024年9月8日 下午6:21
SHARE

LlamaIndex 的数据摄入管道是一种全新且改进的方法,用于高效摄入和管理数据文档。

阅读目录
数据变换缓存机制文档管理策略集成向量存储数据持久化结论

这一管道特别适用于需要将输入文档经过一系列处理步骤(如切分、嵌入等)后才进行索引建立的情况,比如我们的 RAG 管道就是这样。

此外,它还具备缓存、文档存储管理、向量存储更新等实用功能。

数据变换

数据变换是数据摄入管道的核心组件。

每个数据变换都会接收一个节点列表,经过一系列必要的修改后,输出另一个节点列表。数据摄入管道就是由这些有序的数据变换步骤组成的。

我们在初始化管道时即定义这些数据变换。

pipeline = IngestionPipeline(
transformations=[
SentenceSplitter(chunk_size=25, chunk_overlap=0),
TitleExtractor(),
OpenAIEmbedding(),
]
)

我们可以使用的数据变换包括:

  1. 文本分割器(TextSplitter)
  2. 节点解析器(NodeParser)
  3. 元数据提取器(MetadataExtractor)
  4. 任何嵌入模型(Any embedding model)

我们也可以根据需要创建自定义的数据变换。相关指南即将发布。

缓存机制

在管道运行过程中,一个变换的输出会成为下一个变换的输入。

管道会缓存节点列表和变换对。因此,如果我们对相同的节点列表进行重复的变换操作,管道会直接从缓存中获取结果。

我们可以通过执行 ingest_cache.clear() 来清除缓存。

此外,我们还可以利用 Redis 等服务来实现更高级的缓存机制:

pipeline = IngestionPipeline(
transformations=[
SentenceSplitter(chunk_size=25, chunk_overlap=0),
TitleExtractor(),
OpenAIEmbedding(),
],
cache=IngestionCache(
cache=RedisCache(
redis_uri="redis://127.0.0.1:6379", collection="test_cache"
)
),
)

文档管理策略

为了避免对同一文档重复执行变换,数据摄入管道利用文档的 ID 和内容哈希来识别并处理重复文档。

启用文档管理功能,需要将文档存储系统(docstore)集成到管道中。

pipeline = IngestionPipeline(
transformations=[
SentenceSplitter(chunk_size=25, chunk_overlap=0),
TitleExtractor(),
OpenAIEmbedding(),
],
docstore=SimpleDocumentStore()
)

系统会比较文档存储中已有文档的哈希值和输入文档的哈希值,从而筛选出不需要变换的文档。

文档管理主要有三种策略:

  1. 仅检查文档重复情况
  2. 实现文档的更新操作
  3. 在更新文档的同时删除旧文档。

更多细节的指南即将发布。

集成向量存储

如果向管道中添加了向量存储(vectorstore),管道会自动将经过一系列变换后的最终输出节点加入到这个向量存储中。

import qdrant_client
client = qdrant_client.QdrantClient(location=":memory:")
vector_store = QdrantVectorStore(client=client, collection_name="test_store")
pipeline = IngestionPipeline(
transformations=[
SentenceSplitter(chunk_size=25, chunk_overlap=0),
TitleExtractor(),
OpenAIEmbedding(),
],
vector_store=vector_store,
)
# Ingest directly into a vector db
pipeline.run(documents=[Document.example()])

接着,我们可以利用这个已填充的向量存储来创建向量存储索引。

from llama_index import VectorStoreIndex
index = VectorStoreIndex.from_vector_store(vector_store)

为了实现这一点,变换序列中的最后一个步骤必须是一个嵌入(embedding)变换。

数据持久化

数据摄入管道支持将缓存和文档存储持久化到一个文件夹中(默认路径为 ./pipeline_storage)。

pipeline = IngestionPipeline(
transformations=[
SentenceSplitter(chunk_size=25, chunk_overlap=0),
TitleExtractor(),
OpenAIEmbedding(),
]
)
# Now let's save the pipeline (cache and docstore)
pipeline.persist('./pipeline_storage')

定义好管道后,我们需要像下面这样从存储中加载它:

pipeline.load('./pipeline_storage')

这样一来,当我们运行管道时,它会先利用已有的缓存数据,同时跳过文档存储中已存在的同一文档。

需要注意的是,如果我们使用的是远程缓存或文档存储系统,例如 Redis,那么上述的持久化步骤就不必要了。

结论

综上所述,LlamaIndex 的新型数据摄入管道不仅提高了文档摄入和管理的效率,还使得对文档执行一系列变换变得直观且高效。

欲了解更多,请查看官方文档:摄入管道


感谢您的阅读,敬请期待更多内容。

我会定期在 Twitter 上分享关于这些主题及我正在探索的内容。欢迎在 Twitter 上关注我。

Sam Altman 在斯坦福创业者思维领导研讨会上的对话 [译]
为什么随着年龄增长,我们感觉时间似乎流逝得更快 [译]
ChatGPT 一周年回顾:谁在使用它,用途有哪些,为什么受欢迎? [译]
AI 与训练 AI 替代自己的工人的矛盾 [译]
“提示工程师”:一个即将过时的职业 [译]
分享
Email 复制链接 打印
Share
上一篇 关于 Viberary 的回顾 [译]
下一篇 你需要的不仅是韧性,更需要朋友和金钱 [译]
发表评价

发表评价 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Please select a rating!

Ad image
- 入群领取知识星球折扣卷, 仅剩99份 -
Ad imageAd image

最近更新

Cursor: 以每秒 1000 个 Token 的速度编辑文件
强化 AI 学习
Anthropic 经济指数
强化 AI 学习
真正的AI智能体即将到来:告别死板提示词,迎接自主规划时代!
强化 AI 学习
致敬“普通”的工程师——一位软件工程师对“10倍工程师”神话的质疑与反思
强化 AI 学习

相关推荐

强化 AI 学习

OpenAI GPT-4.5 系统卡

宝玉的分享
由生成式 AI 创造的 9 张图像,呈现了电影、电子游戏和电视剧中可辨识的演员和角色。
强化 AI 学习

生成式 AI 面临的抄袭问题 —— Midjourney 和 DALL-E 3 的实验揭示了版权方面的难题 [译]

宝玉的分享
理解 AI 的辅助角色至关重要
强化 AI 学习

发挥 AI 在职场中的作用:如何在新的 2024 年保持领先![译]

宝玉的分享
这些年来我设计的一些幻灯片
强化 AI 学习

新手如何为演讲制作精美的幻灯片 [译]

宝玉的分享
/ Prompt 语宙 /

Experience the limitless creative possibilities of generative AI and unlock new levels of innovation.

Quick Link

  • Remaker AI
  • BGRemaker 抠图Hot
  • AIGC 工具
  • Prompt 咒语生成器
  • 去水印工具

Support

  • Contact
  • Blog
  • Complaint
  • Advertise

标签

3D AI AIGC AI人像 AI创作小助手 AI工具 AI换脸 AI海报设计 AI生成视频 AI绘画 AI视频 AI设计 app图标 chatgpt DALL-E3 excel GPT meta Midjourney openai Pika prompt runway SDXL stable diffusion UI设计 专业 丛林 乐高 人像 人物 光晕 动物 吉卜力 咒语 图标设计 圣诞 壁纸 女性 奶牛 实验室 宠物 客厅 室内设计 家居 局部重绘 展台 山景 帅哥 建筑 建筑设计 影谱科技 微摄影 怪物 提示词 摄影 教程 新闻 日本排放核污水 早报 星光 枯木 植物 模特 水果 泳池 海报 海报设计 清华大学 温馨的家 游戏 游戏美术 炫光 炫彩 玻璃 白茶花 矢量插画 研究报告 破碎 科幻 穿搭 窗 美食 背景 节日 芭比 花 花卉 茶园一角 草原 荷兰奶源 表情包 赛博朋克 超现实主义 软件 运动 金毛 风景 食物 香水
Prompt 语宙Prompt 语宙
Follow US
© 2009-2023 Prompt 语宙. Paooo.com. All Rights Reserved.
Welcome Back!

Sign in to your account

Username or Email Address
Password

忘记密码