Milvus
Zilliz
  • Home
  • Blog
  • KI für intelligenteres Browsing: Filtern von Webinhalten mit Pixtral, Milvus und Browser-Nutzung

KI für intelligenteres Browsing: Filtern von Webinhalten mit Pixtral, Milvus und Browser-Nutzung

  • Engineering
February 25, 2025
Stephen Batifol

Als Developer Advocate für Milvus verbringe ich viel Zeit in sozialen Netzwerken und höre mir an, was die Leute über uns zu sagen haben und ob ich auch helfen kann. Wenn man nach "Milvus" sucht, prallen allerdings Welten aufeinander. Es ist sowohl eine Vektor-DB als auch eine Vogelgattung, was bedeutet, dass ich in einem Moment tief in einem Thread über Vektorähnlichkeitsalgorithmen stecke und im nächsten atemberaubende Fotos von schwarzen Vögeln bewundere, die durch den Himmel fliegen.

Obwohl beide Themen interessant sind, ist es in meinem Fall nicht wirklich hilfreich, sie zu vermischen. Was wäre, wenn es einen intelligenten Weg gäbe, dieses Problem zu lösen, ohne dass ich manuell nachschauen muss?

Durch die Kombination von visuellem Verständnis und Kontextbewusstsein können wir einen Assistenten entwickeln, der den Unterschied zwischen den Zugmustern eines Schwarzmilans und einem neuen Artikel von uns kennt.

Der Technologie-Stack

Wir kombinieren drei verschiedene Technologien:

  • Browser-Use: Dieses Tool navigiert durch verschiedene Websites (z. B. Twitter), um Inhalte abzurufen.
  • Pixtral: Ein Vision-Sprachmodell, das Bilder und Kontext analysiert. In diesem Beispiel unterscheidet es zwischen einem technischen Diagramm über unsere Vector DB und einem beeindruckenden Vogelfoto.
  • Milvus: Eine hochleistungsfähige und quelloffene Vector DB. In ihr werden wir die relevanten Beiträge für spätere Abfragen speichern.

In Aktion zu sehen

Werfen wir einen Blick auf diese 2 Beiträge:

Beim linken Beitrag erkennt Pixtral, dass es sich um einen Beitrag über Milvus, die Vektor-DB, handelt. Es werden einige Implementierungsdetails erwähnt, aber auch ein Bild, das ein Systemdiagramm zeigt, was darauf hinweist, dass es sich tatsächlich um die Vector DB handelt. Unten können wir sehen, dass Pixtral das Gleiche denkt.

INFO     [src.agent.custom_agent] 🧠 New Memory: 1. The post by LangChainAI discusses the 'GraphRAG Agent' which uses Neo4j and Milvus vector search to enhance RAG systems.
2. Replies include praise for the use of Milvus in intelligent retrieval and vector search.
3. Specific mention of Milvus as a key component in innovative RAG systems.
4. No content related to birds or photography was found.
INFO     [src.agent.custom_agent] ⏳ Task Progress:
1. Navigated to the post URL. 2. Extracted relevant post content. 3. Analyzed the content for relevance to Milvus, the Vector DB.
INFO     [src.agent.custom_agent] 📋 Future Plans:
1. Summarize the findings and confirm the relevance to Milvus. 2. Complete the task by providing a clear and concise report.
INFO     [src.agent.custom_agent] 🤔 Thought: The task required analyzing the post content for relevance to Milvus, the Vector DB, ignoring any content about birds or photography. The extracted content is entirely relevant to Milvus and its applications in vector search and RAG systems. I will now summarize the findings and complete the task.
INFO     [src.agent.custom_agent] 🎯 Summary: The post and its replies are relevant to Milvus, the Vector DB, focusing on its use in intelligent retrieval and vector search. No content about birds or photography was found.
INFO     [src.agent.custom_agent] 🛠️  Action 1/1: {"done":{"text":"The post by LangChainAI discusses the 'GraphRAG Agent,' which uses Neo4j and Milvus vector search to enhance RAG systems. Replies highlight the innovative use of Milvus for intelligent retrieval and vector search, with no mention of birds or photography. The content is entirely relevant to Milvus, the Vector DB."}}
INFO     [src.agent.custom_agent] 🧠 All Memory:
1. The post by LangChainAI discusses the 'GraphRAG Agent' which uses Neo4j and Milvus vector search to enhance RAG systems.
2. Replies focus on the innovative use of Milvus for intelligent retrieval and vector search alongside other technologies.
3. No posts or replies are related to birds or photography.
1. The post by LangChainAI discusses the 'GraphRAG Agent' which uses Neo4j and Milvus vector search to enhance RAG systems.
2. Replies include praise for the use of Milvus in intelligent retrieval and vector search.
3. Specific mention of Milvus as a key component in innovative RAG systems.
4. No content related to birds or photography was found.

Das Bild auf der rechten Seite hingegen ist es nicht. Wir können sehen, dass dieses Bild, so schön es auch ist, nicht von einer Vektor-DB handelt. Wir sehen einen Vogel, der am Himmel fliegt, daher wird Pixtral dieses Bild als irrelevant betrachten.

INFO     [src.agent.custom_agent] 🧠 New Memory: The post and comments primarily discuss photography and birds. No references to Milvus the Vector Database are found.
INFO     [src.agent.custom_agent] ⏳ Task Progress:
Navigated to the post. Analyzed the content for relevance to Milvus, the Vector DB. No relevant information found.
INFO     [src.agent.custom_agent] 🤔 Thought: The content of the post and comments only discusses birds and photography. Since the task specifies ignoring such topics, there is no relevant information for Milvus, the Vector DB. The task can now be concluded.
INFO     [src.agent.custom_agent] 🎯 Summary: The post does not contain relevant information for Milvus, the Vector DB. I will conclude the task.
INFO     [src.agent.custom_agent] 🛠️  Action 1/1: {"done":{"text":"The post and comments focus on birds and photography. No relevant information related to Milvus, the Vector DB, was found."}}
INFO     [src.agent.custom_agent] 🧠 All Memory:
The post and comments primarily discuss photography and birds. No references to Milvus the Vector Database are found.

Nun, da wir die Beiträge, die wir nicht haben wollen, herausgefiltert haben, können wir die relevanten in Milvus speichern. So ist es möglich, sie später entweder mit der Vektorsuche oder der Volltextsuche abzufragen.

Speichern von Daten in Milvus

Dynamische Felder sind in diesem Fall ein Muss, da es nicht immer möglich ist, das Schema einzuhalten, das Milvus erwartet. Mit Milvus verwenden Sie einfach enable_dynamic_field=True, wenn Sie Ihr Schema erstellen, und das war's. Hier ist ein Codeschnipsel zur Veranschaulichung des Prozesses:

from pymilvus import MilvusClient

# Connect to Milvus client = MilvusClient(uri=“http://localhost:19530”)

# Create a Schema that handles Dynamic Fields schema = self.client.create_schema(enable_dynamic_field=True) schema.add_field(field_name=“id”, datatype=DataType.INT64, is_primary=True, auto_id=True) schema.add_field(field_name=“text”, datatype=DataType.VARCHAR, max_length=65535, enable_analyzer=True) schema.add_field(field_name=“vector”, datatype=DataType.FLOAT_VECTOR, dim=384) schema.add_field(field_name=“sparse”, datatype=DataType.SPARSE_FLOAT_VECTOR)

Dann definieren wir die Daten, auf die wir Zugriff haben wollen:

# Prepare data with dynamic fields
data = {
    'text': content_str,
    'vector': embedding,
    'url': url,
    'type': content_type,
    'metadata': json.dumps(metadata or {})
}

# Insert into Milvus self.client.insert( collection_name=self.collection_name, data=[data] )

Diese einfache Einrichtung bedeutet, dass Sie sich nicht darum kümmern müssen, dass jedes Feld im Voraus perfekt definiert ist. Richten Sie einfach das Schema so ein, dass dynamische Ergänzungen möglich sind, und überlassen Sie Milvus die schwere Arbeit.

Fazit

Durch die Kombination der Webnavigation von Browser Use, dem visuellen Verständnis von Pixtral und der effizienten Speicherung von Milvus haben wir einen intelligenten Assistenten geschaffen, der den Kontext wirklich versteht. Jetzt verwende ich ihn, um zwischen Vögeln und Vektor-DB zu unterscheiden, aber der gleiche Ansatz könnte auch bei einem anderen Problem helfen, mit dem Sie vielleicht konfrontiert sind.

Ich für meinen Teil möchte weiter an Agenten arbeiten, die mir bei meiner täglichen Arbeit helfen können, um meine kognitive Belastung zu verringern 😌.

Wir würden gerne hören, was Sie denken!

Wenn Ihnen dieser Blogbeitrag gefallen hat, würden wir uns freuen:

  • ⭐ Geben Sie uns einen Stern auf GitHub
  • 💬 Treten Sie unserer Milvus-Discord-Community bei, um Ihre Erfahrungen zu teilen oder wenn Sie Hilfe bei der Erstellung von Agenten benötigen
  • 🔍 Erkunden Sie unser Bootcamp-Repository für Anwendungsbeispiele mit Milvus

    Try Managed Milvus for Free

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

    Get Started

    Like the article? Spread the word

    Weiterlesen