milvus-logo
LFAI
Home
  • Integrationen

Kochbuch - LlamaIndex & Milvus-Integration

Open In Colab

Dies ist ein einfaches Kochbuch, das die Verwendung der LlamaIndex Langfuse Integration demonstriert. Es verwendet Milvus Lite, um die Dokumente und Abfragen zu speichern.

Milvus Lite ist die leichtgewichtige Version von Milvus, einer Open-Source-Vektordatenbank, die KI-Anwendungen mit Vektoreinbettungen und Ähnlichkeitssuche unterstützt.

Einrichten von

Stellen Sie sicher, dass Sie sowohl llama-index als auch langfuse installiert haben.

$ pip install llama-index langfuse llama-index-vector-stores-milvus --upgrade

Initialisieren Sie die Integration. Holen Sie sich Ihre API-Schlüssel aus den Langfuse Projekteinstellungen und ersetzen Sie public_key secret_key durch Ihre Schlüsselwerte. Dieses Beispiel verwendet OpenAI für Einbettungen und Chatvervollständigungen, daher müssen Sie auch Ihren OpenAI-Schlüssel in der Umgebungsvariable angeben.

import os

# Get keys for your project from the project settings page
# https://cloud.langfuse.com
os.environ["LANGFUSE_PUBLIC_KEY"] = ""
os.environ["LANGFUSE_SECRET_KEY"] = ""
os.environ["LANGFUSE_HOST"] = "https://cloud.langfuse.com" # 🇪🇺 EU region
# os.environ["LANGFUSE_HOST"] = "https://us.cloud.langfuse.com" # 🇺🇸 US region

# Your openai key
os.environ["OPENAI_API_KEY"] = ""
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])

Indexierung mit Milvus Lite

from llama_index.core import Document

doc1 = Document(text="""
Maxwell "Max" Silverstein, a lauded movie director, screenwriter, and producer, was born on October 25, 1978, in Boston, Massachusetts. A film enthusiast from a young age, his journey began with home movies shot on a Super 8 camera. His passion led him to the University of Southern California (USC), majoring in Film Production. Eventually, he started his career as an assistant director at Paramount Pictures. Silverstein's directorial debut, “Doors Unseen,” a psychological thriller, earned him recognition at the Sundance Film Festival and marked the beginning of a successful directing career.
""")
doc2 = Document(text="""
Throughout his career, Silverstein has been celebrated for his diverse range of filmography and unique narrative technique. He masterfully blends suspense, human emotion, and subtle humor in his storylines. Among his notable works are "Fleeting Echoes," "Halcyon Dusk," and the Academy Award-winning sci-fi epic, "Event Horizon's Brink." His contribution to cinema revolves around examining human nature, the complexity of relationships, and probing reality and perception. Off-camera, he is a dedicated philanthropist living in Los Angeles with his wife and two children.
""")
# Example index construction + LLM query

from llama_index.core import VectorStoreIndex
from llama_index.core import StorageContext
from llama_index.vector_stores.milvus import MilvusVectorStore


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
)

Abfrage von

# Query
response = index.as_query_engine().query("What did he do growing up?")
print(response)
# Chat
response = index.as_chat_engine().chat("What did he do growing up?")
print(response)

Erforsche Spuren in Langfuse

# As we want to immediately see result in Langfuse, we need to flush the callback handler
langfuse_callback_handler.flush()

Erledigt! Sie sehen die Spuren Ihres Index und Ihrer Abfrage in Ihrem Langfuse-Projekt.

Beispiel Traces (öffentliche Links):

  1. Abfrage
  2. Abfrage (Chat)

Trace in Langfuse:

Langfuse Traces Langfuse Traces

Interessieren Sie sich für weitere fortgeschrittene Funktionen?

Sehen Sie sich die vollständige Integrationsdokumentation an, um mehr über erweiterte Funktionen und deren Verwendung zu erfahren:

  • Interoperabilität mit Langfuse Python SDK und anderen Integrationen
  • Hinzufügen eigener Metadaten und Attribute zu den Traces

Übersetzt vonDeepL

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started
Feedback

War diese Seite hilfreich?