Использование памяти графа в разговоре
Теперь, когда у вашего чат-бота есть доступ к памяти, вы можете транслировать его ответы на уточняющие вопросы. Обратите внимание: для уточняющих вопросов не потребуется дополнительный контекст — чат-бот может обращаться к полной истории разговора, сохранённой в памяти. Вопросы уже подготовлены для вас.
Это упражнение является частью курса
Проектирование агентных систем с LangChain
Инструкции к упражнению
- Создайте словарь
configс ключом"configurable", содержащим"thread_id"со значением"single_session_memory". - Переберите события
eventграфа, применив метод.stream()к объектуgraphи передав словарь с ключом"messages", который содержитuser_inputс меткой"user", а также словарьconfig. - Переберите
event.values()с использованием переменнойvalueи выведите"Agent:", а затем значение"messages", если оно существует вvalueи не является пустым.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Set up a streaming function for a single user
def stream_memory_responses(user_input: str):
____ = {"____": {"____": "____"}}
# Stream the events in the graph
for ____ in graph.____({"messages": [("user", ____)]}, ____):
# Return the agent's last response
for ____ in event.____():
if "messages" in ____ and value["____"]:
print("Agent:", value["messages"])
stream_memory_responses("Tell me about the Eiffel Tower.")
stream_memory_responses("Who built it?")