在 Milvus 中使用 Litefuse

感谢 Milvus 团队编写本指南。本文档改编自他们的写作,原文可在这里阅读。

什么是 Milvus?

Milvus 是一个开源的向量数据库,基于向量 embedding 与相似性搜索为 AI 应用提供能力。它提供高维向量的高效存储与检索工具,非常适合 AI 与机器学习场景。

通过 Litefuse 的 LlamaIndex 集成追踪查询

在本快速教程中,我们会演示如何使用 Milvus Lite 作为向量存储搭建一个 LlamaIndex 应用,并使用 Litefuse 的 LlamaIndex 集成 来追踪应用。

快速开始指南

第 1 步:创建 Litefuse 账号

  1. 访问 Litefuse 并创建账号。
  2. 创建新项目并复制 Litefuse API Key。

第 2 步:安装所需依赖

请确保同时安装了 llama-indexlangfuse

注意: 本指南使用的是我们的 Python SDK v2。我们已经基于 OpenTelemetry 发布了更新更强的 SDK,参见 SDK v3

$ pip install llama-index "langfuse<3.0.0" llama-index-vector-stores-milvus --upgrade

第 3 步:初始化 Litefuse

访问 Litefuse 创建账号,新建项目并复制 Litefuse API Key。本示例使用 OpenAI 进行 embedding 与 chat 补全,因此还需要在环境变量中指定你的 OpenAI key

import os
 
# 从项目设置页面获取你项目的 Key
os.environ["LANGFUSE_SECRET_KEY"] = "sk-..."
os.environ["LANGFUSE_PUBLIC_KEY"] = "pk-..."
os.environ["LANGFUSE_BASE_URL"] = "https://litefuse.cloud"
 
# 你的 OpenAI key
os.environ["OPENAI_API_KEY"] = "sk-..."

第 4 步:配置 Litefuse Callback Handler

from llama_index.core import Settings
from llama_index.core.callbacks import CallbackManager
from langfuse.llama_index import LlamaIndexCallbackHandler
 
langfuse_callback_handler = LlamaIndexCallbackHandler()
Settings.callback_manager = CallbackManager([langfuse_callback_handler])

第 5 步:使用 Milvus Lite 进行索引

from llama_index.core import Document
from llama_index.core import VectorStoreIndex
from llama_index.core import StorageContext
from llama_index.vector_stores.milvus import MilvusVectorStore
 
# 创建文档
doc1 = Document(text="Your document text here.")
doc2 = Document(text="Another document text here.")
 
# 配置 Milvus 向量存储
vector_store = MilvusVectorStore(
    uri="tmp/milvus_demo.db", dim=1536, overwrite=False
)
storage_context = StorageContext.from_defaults(vector_store=vector_store)
 
# 创建索引
index = VectorStoreIndex.from_documents(
    [doc1, doc2], storage_context=storage_context
)

第 6 步:查询与对话

# 查询
response = index.as_query_engine().query("Your query here")
print(response)
 
# 对话
response = index.as_chat_engine().chat("Your chat message here")
print(response)

第 7 步:在 Litefuse 中查看 trace

现在你可以在 Litefuse 项目中看到 index 与查询的 trace。

Litefuse 中的示例 trace(公开链接):

Litefuse 中的示例 trace

这个页面对你有帮助吗?