Birden çok araç için çıktıları yapılandır
Sohbetbotunun grafiği hazır! Şimdi farklı araçlar gerektirmesi beklenen farklı sorgularla sohbetbotunun nasıl çalıştığını test edebilirsin. Sohbetbotunun iletilerini yönetmek için aşağıdaki modüller önceden içe aktarıldı ve sohbetbotunun config parametreleri tek bir oturum için ayarlandı.
from langchain_core.messages import AIMessage, HumanMessage
config = {"configurable": {"thread_id": "1"}}
Bu egzersiz
LangChain ile Aracı Sistemler Tasarlama
kursunun bir parçasıdırEgzersiz talimatları
- Kullanıcının
querydeğerinicontentolarak içeren veHumanMessageiçin kullanılacak birinputsileti sözlüğü oluştur. inputsveconfigdeğerlerini dahil ederek sonuçlar üzerinde.stream()yöntemiyle yineleyip sohbetbotuapp'indenmsgvemetadataakışı yap.- Her bir
msgiçincontentvar mı ve birHumanMessagedeğil mi kontrol et; ardından çıktının anında yazdırılması içinflushdeğeriniTrueyaparakcontent'ini yazdır. - Farklı araçlar gerektiren sorgularla
multi_tool_output()kullanarak sohbetbotunu test et.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Create input message with the user's query
def multi_tool_output(____):
inputs = {"messages": [____(____=____)]}
# Stream messages and metadata from the chatbot application
for ____, ____ in app.____(____, ____, stream_mode="messages"):
# Check if the message has content and is not from a human
if ____.____ and not isinstance(____, ____):
print(____.____, end="", flush=____)
print("\n")
# Call the chatbot with different tools
____("Is `may a moody baby doom a yam` a palindrome?")
____("What happened on 20th July, 1969?")