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, kursun bir parçasıdır
LangChain ile Aracı Sistemler Tasarlama
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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?")