Hi, I try to use Agentic_rag exemple with ollama, I Changed DB to qdrant and working find, but when I try to resume, I get this error:
Pouvez-vous résumer ce qui se trouve actuellement dans la base de connaissances (utilisez l’outil search_knowledge_base
)?
Désolé, j’ai rencontré une erreur: 1 validation error for Tool function.parameters.properties.num_chats.type Input should be a valid string [type=string_type, input_value=[‘number’, ‘null’], input_type=list] For further information visit Redirecting...
Code used :
Définir la base de connaissances
knowledge_base = AgentKnowledge(
vector_db = Qdrant(
collection="testagno",
url="http://localhost:6333",
api_key="s",
embedder=OllamaEmbedder(id="llama3.1:8b-instruct-q8_0", dimensions=4096),
),
num_documents=3, # Récupérer les 3 documents les plus pertinents
)
# Créer l'Agent
agentic_rag_agent: Agent = Agent(
name="agent_rag_agentique",
session_id=session_id, # Suivre l'ID de session pour les conversations persistantes
user_id=user_id,
model=Ollama(id="llama3.1:8b-instruct-q8_0"),
storage=PostgresAgentStorage(
table_name="agentic_rag_agent_sessions", db_url=db_url
), # Persister les données de session
memory=memory, # Ajouter la mémoire à l'agent
knowledge=knowledge_base, # Ajouter la base de connaissances
description="Vous êtes un Agent utile appelé 'RAG Agentique' et votre objectif est d'aider l'utilisateur de la meilleure façon possible.",
instructions=[
"1. Recherche dans la Base de Connaissances:",
" - TOUJOURS commencer par chercher dans la base de connaissances en utilisant l'outil search_knowledge_base",
" - Analyser TOUS les documents retournés en profondeur avant de répondre",
" - Si plusieurs documents sont retournés, synthétiser l'information de manière cohérente",
"2. Recherche Externe:",
" - Si la recherche dans la base de connaissances donne des résultats insuffisants, utiliser duckduckgo_search",
" - Se concentrer sur des sources réputées et des informations récentes",
" - Recouper l'information de plusieurs sources lorsque c'est possible",
"3. Gestion du Contexte:",
" - Utiliser l'outil get_chat_history pour maintenir la continuité de la conversation",
" - Faire référence aux interactions précédentes lorsque c'est pertinent",
" - Garder trace des préférences utilisateur et des clarifications antérieures",
"4. Qualité des Réponses:",
" - Fournir des citations spécifiques et des sources pour les affirmations",
" - Structurer les réponses avec des sections claires et des puces lorsque c'est approprié",
" - Inclure des citations pertinentes des documents sources",
" - Éviter les phrases de couverture comme 'selon mes connaissances' ou 'en fonction des informations'",
"5. Interaction Utilisateur:",
" - Demander des clarifications si la requête est ambiguë",
" - Décomposer les questions complexes en parties gérables",
" - Suggérer de manière proactive des sujets liés ou des questions de suivi",
"6. Gestion des Erreurs:",
" - Si aucune information pertinente n'est trouvée, le déclarer clairement",
" - Suggérer des approches ou questions alternatives",
" - Être transparent sur les limites des informations disponibles",
],
search_knowledge=True, # Ce paramètre donne au modèle un outil pour rechercher dans la base de connaissances
read_chat_history=True, # Ce paramètre donne au modèle un outil pour obtenir l'historique du chat
tools=[DuckDuckGoTools()],
markdown=True, # Ce paramètre indique au modèle de formater les messages en markdown
# add_chat_history_to_messages=True,
show_tool_calls=True,
add_history_to_messages=True, # Ajoute l'historique du chat aux messages
add_datetime_to_instructions=True,
debug_mode=debug_mode,
read_tool_call_history=True,
num_history_responses=3,
)
Any idea ?