Organiser les réponses du clavardeur avec la mémoire

Concevoir des systèmes agentiques avec LangChain

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

Diffuser en continu les sorties de plusieurs outils

    Flux de travail complet en graphe.

 

  • Afficher les résultats avec plusieurs outils
      - Agent : [Outil 1 : réponse]
      - Agent : [Outil 2 : réponse]
    
  • Afficher la requête de l'utilisateur et activer la mémoire
      - Utilisateur : [Requête]
      - Agent : [Outil 1 : réponse]
    
      - Utilisateur : [Relance]
      - Agent : [Outil 1 : réponse à la relance]
    
Concevoir des systèmes agentiques avec LangChain

Diffuser en continu les sorties de plusieurs outils

from langchain_core.messages import AIMessage, HumanMessage


config = {"configurable": {"thread_id": "1"}}
# Créer le message d'entrée avec la requête de l'utilisateur def multi_tool_output(query):
inputs = {"messages": [HumanMessage(content=query)]}
# Diffuser en continu les messages et métadonnées de l'application de clavardeur for msg, metadata in app.stream(inputs, config, stream_mode="messages"):
# Vérifier que le message a du contenu et ne vient pas d'un humain if msg.content and not isinstance(msg, HumanMessage): print(msg.content, end="", flush=True)
print("\n")
Concevoir des systèmes agentiques avec LangChain

Tester avec plusieurs outils

Vérifier l'attribution dynamique des outils
multi_tool_output("Is `Stella won no wallets` a palindrome?")

multi_tool_output("What happened on April 12th, 1955?")
The phrase or word 'Stella won no wallets' is a palindrome.

Yes, the phrase "Stella won no wallets" is a palindrome.
April 12th, 1955, is notable for several reasons, particularly in the context of science and technology. On this date, the first successful polio vaccine developed by Dr. Jonas Salk was announced to the public. This vaccine was a significant breakthrough in the fight against poliomyelitis, a disease that had caused widespread fear and numerous outbreaks, particularly affecting children. The announcement marked a turning point in public health and led to widespread vaccination campaigns that ultimately contributed to the near-eradication of polio...
Concevoir des systèmes agentiques avec LangChain

Relances avec plusieurs outils

# Afficher d'abord la requête de l'utilisateur à chaque interaction
def user_agent_multiturn(queries):
    for query in queries:
        print(f"User: {query}")


# Diffuser en continu les messages liés aux requêtes, sans les métadonnées print("Agent: " + "".join(msg.content for msg, metadata in app.stream( {"messages": [HumanMessage(content=query)]}, config, stream_mode="messages")
# Exclure les messages humains pour n'imprimer que ceux de l'agent if msg.content and not isinstance(msg, HumanMessage)) + "\n")
queries = ["What happened on the 12 April 1961?", "What about 10 December 1948?", "Is `Mr. Owl ate my metal worm?` a palindrome?", "What about 'palladium stadium?'"] user_agent_multiturn(queries)
Concevoir des systèmes agentiques avec LangChain

Sortie de la conversation complète

  • Événements historiques
User: What happened on the 12 April 1961?
Agent: On April 12, 1961, Yuri Gagarin, a Soviet cosmonaut, became the first human to travel 
into space aboard the Vostok 1 spacecraft...

User: What about 22 November 1963?
Agent: December 10, 1948... marks the Universal Declaration of Human Rights (UDHR).
  • Vérification de palindrome
User: Is `Mr. Owl ate my metal worm?` a palindrome?
Agent: The phrase or word 'Mr. Owl ate my metal worm?' is a palindrome...

User: What about 'palladium stadium'?
Agent: No, the phrase `palladium stadium` is not a palindrome...
Concevoir des systèmes agentiques avec LangChain

Passons à la pratique !

Concevoir des systèmes agentiques avec LangChain

Preparing Video For Download...