L'IA pour une navigation plus intelligente : Filtrer le contenu Web avec Pixtral, Milvus et l'utilisation du navigateur
En tant que Developer Advocate pour Milvus, je passe beaucoup de temps sur les réseaux sociaux, à écouter ce que les gens ont à dire sur nous et à savoir si je peux les aider. Il y a un léger conflit entre les deux mondes lorsque vous cherchez "Milvus". Il s'agit à la fois d'un DB vectoriel et d'un genre d'oiseau, ce qui signifie qu'à un moment donné, je suis plongé dans un fil de discussion sur les algorithmes de similarité vectorielle et qu'à l'instant suivant, j'admire de superbes photographies d'oiseaux noirs volant dans le ciel.
Bien que les deux sujets soient intéressants, les mélanger n'est pas vraiment utile dans mon cas. Et s'il existait un moyen intelligent de résoudre ce problème sans que je doive vérifier manuellement ?
Construisons quelque chose de plus intelligent - en combinant la compréhension visuelle avec la connaissance du contexte, nous pouvons construire un assistant qui fait la différence entre les schémas de migration d'un milan noir et un nouvel article de notre part.
La pile technologique
Nous combinons trois technologies différentes :
- Browser-Use : cet outil navigue sur différents sites web (par exemple, Twitter) pour récupérer du contenu.
- Pixtral: Un modèle vision-langage qui analyse les images et le contexte. Dans cet exemple, il fait la distinction entre un diagramme technique sur notre base de données vectorielle et une superbe photographie d'oiseau.
- Milvus : une base de données vectorielle haute performance et open-source. C'est là que nous stockerons les messages pertinents pour une interrogation ultérieure.
Le voir à l'œuvre
Jetons un coup d'œil à ces deux articles :
Pour celui de gauche, Pixtral reconnaît qu'il s'agit d'un billet sur Milvus, la base de données vectorielle. Il mentionne quelques détails d'implémentation, mais aussi une image montrant un diagramme de système, indiquant qu'il s'agit bien de la BD Vecteur. Nous pouvons voir ci-dessous que Pixtral pense la même chose.
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.
L'image de droite par contre ne l'est pas, nous pouvons voir que cette image, aussi belle soit-elle, ne concerne pas un Vector DB. Nous pouvons voir un oiseau volant dans le ciel, par conséquent, Pixtral considérera que cette image n'est pas pertinente.
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.
Maintenant que nous avons filtré les messages dont nous ne voulons pas, nous pouvons sauvegarder les messages pertinents dans Milvus. Il sera ainsi possible de les interroger ultérieurement à l'aide de la recherche vectorielle ou de la recherche en texte intégral.
Stockage des données dans Milvus
Leschamps dynamiques sont indispensables dans ce cas, car il n'est pas toujours possible de respecter le schéma attendu par Milvus. Avec Milvus, il suffit d'utiliser enable_dynamic_field=True lors de la création du schéma, et c'est tout. Voici un extrait de code qui illustre le processus :
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)
Nous définissons ensuite les données auxquelles nous voulons avoir accès :
# 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]
)
Cette configuration simple signifie que vous n'avez pas à vous soucier que chaque champ soit parfaitement défini dès le départ. Il suffit de configurer le schéma pour permettre des ajouts dynamiques et de laisser Milvus faire le gros du travail.
Conclusion
En combinant la navigation web de Browser Use, la compréhension visuelle de Pixtral et le stockage efficace de Milvus, nous avons construit un assistant intelligent qui comprend vraiment le contexte. Je l'utilise actuellement pour faire la distinction entre les oiseaux et les BD vectorielles, mais la même approche pourrait vous aider à résoudre un autre problème.
De mon côté, je veux continuer à travailler sur des agents qui peuvent m'aider dans mon travail quotidien afin de réduire ma charge cognitive 😌
Nous aimerions savoir ce que vous en pensez !
Si vous avez aimé cet article de blog, merci de considérer :
- ⭐ De nous donner une étoile sur GitHub
- 💬 Rejoindre notre communauté Milvus Discord pour partager vos expériences ou si vous avez besoin d'aide pour construire des agents.
- 🔍 Explorer notre référentiel Bootcamp pour des exemples d'applications utilisant Milvus
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word



