Sohbet geçmişi hakkında sorular sor
LangChain'de temel bir ReAct ajanıyla, ajanın sohbet geçmişini tutarak takip soruları sorabilirsin. LLM önceki tüm iletilere eriştiği için artık yeni sorular sorabilir ve ajan tam ileti bağlamını kullanarak yanıt verebilir.
Şimdi farklı bir üçgenin kenarları hakkında bir takip sorusu soracaksın.
HumanMessage ve AIMessage yeteneklerini kullanabilmek için aşağıdaki modüller senin için zaten içe aktarıldı: HumanMessage, AIMessage.
Bu egzersiz, kursun bir parçasıdır
LangChain ile Aracı Sistemler Tasarlama
Egzersiz talimatları
- Verilen doğal dildeki soruyu
new_querydeğişkenine ata. appnesnesini,message_historyvenew_querydahil tüm iletileri geçirerek çağır.response["messages"]içindenHumanMessageveyaAIMessageolarak etiketlenen iletileri bir liste üreteci ile çıkar.- Yeni sorguyu girdi olarak geçir ve ileti sınıflarını
"agent_output"a geçirerek çıkarılan iletileri yazdır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
message_history = response["messages"]
____ = "What about one with sides 12 and 14?"
# Invoke the app with the full message history
response = app.____({"messages": ____ + [("human", ____)]})
# Extract the human and AI messages from the result
filtered_messages = [msg for msg in ____["____"] if isinstance(msg, (____, ____)) and msg.content.strip()]
# Pass the new query as input and print the final outputs
print({
"user_input": ____,
"agent_output": [f"{msg.____.____}: {msg.content}" for msg in ____]
})