目标回调
Aim 是一个易于使用且功能强大的开源AI元数据追踪器,它记录您所有的AI元数据(实验、提示等),提供一个用户界面用于比较和观察这些数据,并提供SDK以编程方式查询它们。更多信息请参阅Github页面。
在本演示中,我们展示了Aim在LlamaIndex中运行查询时记录事件的能力。我们使用AimCallback来存储输出,并展示如何使用Aim文本浏览器进行探索。
注意: 这是一个测试版功能。在不同类中的使用方式以及 CallbackManager 和 AimCallback 的 API 接口可能会发生变化!
如果您在 Colab 上打开这个笔记本,您可能需要安装 LlamaIndex 🦙。
%pip install llama-index-callbacks-aim!pip install llama-indexfrom llama_index.core.callbacks import CallbackManagerfrom llama_index.callbacks.aim import AimCallbackfrom llama_index.core import SummaryIndexfrom 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 并通过提供的网址进行导航。