メモリでチャットボットの出力を整理する

LangChainで設計するエージェント型システム

Dilini K. Sumanapala, PhD

Founder & AI Engineer, Genverv, Ltd.

複数ツール出力のストリーミング

    完全なグラフのワークフロー。

 

  • 複数ツールで出力を表示
      - Agent: [Tool 1: answer]
      - Agent: [Tool 2: answer]
    
  • ユーザーの質問を表示し、メモリを有効化
      - User: [Query]
      - Agent: [Tool 1: answer]
    
      - User: [Follow-up query]
      - Agent: [Tool 1: follow-up answer]
    
LangChainで設計するエージェント型システム

複数ツール出力のストリーミング

from langchain_core.messages import AIMessage, HumanMessage


config = {"configurable": {"thread_id": "1"}}
# ユーザーの質問で入力メッセージを作成 def multi_tool_output(query):
inputs = {"messages": [HumanMessage(content=query)]}
# チャットボットアプリからメッセージとメタデータをストリーム for msg, metadata in app.stream(inputs, config, stream_mode="messages"):
# コンテンツがあり、人間からでないメッセージを出力 if msg.content and not isinstance(msg, HumanMessage): print(msg.content, end="", flush=True)
print("\n")
LangChainで設計するエージェント型システム

複数ツールでテスト

動的なツール割当を確認
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.
1955年4月12日は、特に科学技術の文脈で重要です。この日、ジョナス・ソーク博士が開発した 初の成功したポリオワクチンが一般に発表されました。これはポリオとの闘いの大きな転機で、 流行と不安をもたらした病気への対策として、特に子どもに影響が大きかったため、 公衆衛生の転換点となり、その後の大規模な予防接種によりポリオのほぼ根絶に貢献しました...
LangChainで設計するエージェント型システム

フォローアップ質問と複数ツール

# 各やり取りで最初にユーザーの質問を表示
def user_agent_multiturn(queries):
    for query in queries:
        print(f"User: {query}")


# 質問に対応するメッセージをメタデータ抜きでストリーム print("Agent: " + "".join(msg.content for msg, metadata in app.stream( {"messages": [HumanMessage(content=query)]}, config, stream_mode="messages")
# 人間のメッセージを除外し、エージェントの内容のみを出力 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)
LangChainで設計するエージェント型システム

会話全体の出力

  • 出来事の履歴
User: 1961年4月12日には何が起きましたか?
Agent: 1961年4月12日、ソ連の宇宙飛行士ユーリ・ガガーリンがボストーク1号で 
人類初の宇宙飛行を達成しました...

User: 1963年11月22日は?
Agent: 1948年12月10日... 世界人権宣言 (UDHR) が採択されました。
  • 回文チェック
User: `Mr. Owl ate my metal worm?` は回文ですか?
Agent: フレーズ(または単語)'Mr. Owl ate my metal worm?' は回文です...

User: 'palladium stadium' は?
Agent: いいえ、フレーズ `palladium stadium` は回文ではありません...
LangChainで設計するエージェント型システム

Passons à la pratique !

LangChainで設計するエージェント型システム

Preparing Video For Download...