跳转到内容

目标回调

Aim 是一个易于使用且功能强大的开源AI元数据追踪器,它记录您所有的AI元数据(实验、提示等),提供一个用户界面用于比较和观察这些数据,并提供SDK以编程方式查询它们。更多信息请参阅Github页面

在本演示中,我们展示了Aim在LlamaIndex中运行查询时记录事件的能力。我们使用AimCallback来存储输出,并展示如何使用Aim文本浏览器进行探索。

注意: 这是一个测试版功能。在不同类中的使用方式以及 CallbackManager 和 AimCallback 的 API 接口可能会发生变化!

如果您在 Colab 上打开这个笔记本,您可能需要安装 LlamaIndex 🦙。

%pip install llama-index-callbacks-aim
!pip install llama-index
from llama_index.core.callbacks import CallbackManager
from llama_index.callbacks.aim import AimCallback
from llama_index.core import SummaryIndex
from llama_index.core import SimpleDirectoryReader

让我们使用 SimpleDirectoryReader 从 'examples/data/paul_graham' 读取文档。

!mkdir -p 'data/paul_graham/'
!wget 'https://raw.githubusercontent.com/run-llama/llama_index/main/docs/examples/data/paul_graham/paul_graham_essay.txt' -O 'data/paul_graham/paul_graham_essay.txt'
docs = SimpleDirectoryReader("./data/paul_graham").load_data()

现在让我们初始化一个 AimCallback 实例,并将其添加到回调管理器列表中。

aim_callback = AimCallback(repo="./")
callback_manager = CallbackManager([aim_callback])

在此代码片段中,我们初始化了一个回调管理器。 接着,我们通过传入文档阅读器和回调来创建 SummaryIndex 类的实例。之后我们创建了一个查询引擎,用于在索引上运行查询并检索相关结果。

index = SummaryIndex.from_documents(docs, callback_manager=callback_manager)
query_engine = index.as_query_engine()

最后让我们基于我们提供的文档向语言模型提出一个问题

response = query_engine.query("What did the author do growing up?")

回调管理器会将 CBEventType.LLM 类型的事件记录为 Aim.Text,我们可以在文本浏览器中查看给定的语言模型提示词及其输出。首先执行 aim up 并通过提供的网址进行导航。