宣布 LlamaCloud 全面上线(以及我们的 1900 万美元 A 轮融资)!
LlamaIndex

OilyRAGs 团队 2024-11-01

OilyRAGs:用 AI 构建基于 RAG 的机械师助手

这是一篇客座文章,作者是 Jeff Davis,他也是我们近期黑客马拉松的获奖者之一。

我最近参加了 LlamaIndex 在加利福尼亚州帕洛阿尔托 500 Global 总部举办的黑客马拉松。这场“RAG 大赛”(RAG-A-THON)活动聚焦于构建代理型 RAG 系统。我的项目“OilyRAGs”最终获得了第三名,我想分享一些关于我如何构建这个原型系统的细节。

概念

OilyRAGs 是一个由机械师为机械师构建的 AI 机械师助手目录。其目标是利用人工智能和机器学习加速客户服务、机械维护和重复性操作任务。本质上,OilyRAGs 是一个包含公共、私有和制造商赞助的 RAG 应用程序的目录。

市场潜力巨大:全球有 14 亿辆汽车(轿车、卡车、巴士),数十亿架飞机,数十亿艘船只,以及包括冰箱、洗衣机、烘干机、洗碗机等在内的数十亿台家电。此外还有数亿台小型发动机设备,包括拖拉机、装载机、叉车和割草机。

重点市场:船舶业

对于原型系统,我重点关注了船舶。

仅此一项就超过 500 亿美元的市场。根据美国商务部经济分析局的数据,休闲划船和钓鱼是 2020 年 6890 亿美元户外休闲产业的最大贡献者。

问题

为了了解痛点,想象一下船只机械师在遇到像 PCM 发动机的“P0006B051FW20A”这样的发动机型号时的典型工作流程:

  1. 爬进发动机舱(需要柔术般的灵活性)
  2. 在草稿纸上写下型号
  3. 从船上爬下来
  4. 走到建筑物另一端的电脑室
  5. 打开一份 PDF 文档
  6. 解读型号
  7. 查找维护任务所需的相应零件

这会花费大量时间,并且不是对机械师技能的最佳利用。

解决方案

OilyRAGs 利用 LlamaIndex 创建了一个支持 RAG 功能的聊天机器人,该机器人具备多模态免提界面。机械师可以使用他们的手机解读型号、诊断问题并进行简单的查询,而无需离开船只,例如:

“列出为 2020 年 PCM 06.2 L DI, PEG 90A E, 2.0:1, return, A 发动机进行 50 小时保养所需的所有零件及其零件号”

使用该应用程序不仅能提供全面优化的标准化输出,速度更是提高了 6,000%——这种数量级的提升在创新领域是罕见的。

工作原理

后端实现利用 LlamaIndex 构建了一个 RAG 管道,该管道通过与 LlamaIndex 工作流配对的聊天机器人进行交互。这使得一个 AI 代理能够将信息传递给另一个 AI 代理,由后者生成报告。输出是一个带有复选框的数字表格,允许机械师在手机上跟踪他们的进度。

表格包括

  • 发动机型号
  • 解读出的特性
  • 与每个所需服务项目相关的零件号
  • 备注空间(仅对船厂可见)
  • 数字签名和日期
  • PDF 导出功能

所有数据都以数字形式存储,RAG 系统可以引用这些数据以供未来查询。这完全消除了纸张浪费,解决了手写潦草和油污指纹的问题,并创建了易于共享的文档。

实际影响

正如当地一家船厂的服务机械师所说:“使用 AI 处理重复性任务是颠覆性的。它让完成耗时任务的速度呈指数级增长。”

在船只服务行业,客户更换机油需要花费 300 美元,而机械师每小时收入 30 美元,OilyRAGs 为每个人带来了好处:

  • 机械师效率更高
  • 船厂提高处理能力
  • 制造商/供应商销售更多零件
  • 客户获得更快的服务

这是一个四赢的局面,机械师、船厂、制造商和船主都从中受益。

技术实现

该应用程序使用了 LlamaIndex 来构建几个关键组件

# Storage
from pinecone import Pinecone
from llama_index.vector_stores.pinecone import PineconeVectorStore
from llama_index.core import SimpleDirectoryReader, StorageContext, Document, VectorStoreIndex, set_global_handler, Settings

# RAG
from llama_index.core.node_parser import SimpleNodeParser
from llama_index.core.storage.docstore import SimpleDocumentStore
from llama_index.core.storage.index_store import SimpleIndexStore

# LLM
from llama_index.llms.openai import OpenAI

# Workflow
from llama_index.core.workflow import (
    StartEvent,
    StopEvent,
    Workflow,
    step,
    Event,
)

# Workflow Graph
from llama_index.utils.workflow import draw_all_possible_flows

# Embeddings
from llama_index.embeddings.openai import OpenAIEmbedding

可观测性与评估

该系统利用 LlamaTrace 与 Arize Phoenix 实现了可观测性

llama_index.core.set_global_handler(
    "arize_phoenix", project_name="oilyrags", endpoint="https://llamatrace.com/v1/traces"
)

下一步计划

船舶业服务提供商对 OilyRAGs 的兴趣验证了其扩展到其他机械领域的潜力。展望未来,我计划:

  • 使用聊天机器人为机械师实现连续反馈的免提模式
  • 扩展服务范围,涵盖更多小众车辆和发动机
  • 利用机器学习开发预测性维护功能
  • 为船主和服务提供商开发调度和通知功能
  • 与制造商合作开发赞助的 RAG 应用程序
  • 与供应商合作,在应用程序内实现无缝订购

总结

这个 RAG 大赛项目展示了 LlamaIndex 如何利用 RAG 和 AI 代理的力量,创建实用、有影响力的解决方案,从而改变传统行业。LlamaIndex 能够快速、强大地实现如此多的关键技术功能,并减少跨多个项目时代码库不一致的问题。

如果您对代理型 RAG 的实现有疑问,或希望为您的业务开发一个,欢迎与我们联系!

联系我

如果您有兴趣投资、合作,或者想了解更多关于 OilyRAGs 开发的信息,欢迎在 LinkedIn 上与我联系。我特别希望能联系到以下人士:

  • 投资者
  • 船厂运营商
  • 船主

让我们携手合作,将 AI 驱动的效率带入各行业的机械维护领域!