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
LangChain ile Aracı Sistemler Tasarlama
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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 ____]
})