НачатьНачать бесплатно

Настройка вывода для нескольких инструментов

Граф вашего чат-бота готов к работе! Теперь вы можете проверить, как он справляется с различными запросами, требующими разных инструментов. Для управления сообщениями чат-бота необходимые модули уже импортированы, а параметры config настроены для одной сессии.

from langchain_core.messages import AIMessage, HumanMessage

config = {"configurable": {"thread_id": "1"}}

Это упражнение является частью курса

Проектирование агентных систем с LangChain

Посмотреть курс

Инструкции к упражнению

  • Создайте словарь сообщений inputs, передав пользовательский запрос query в качестве content для HumanMessage.
  • Получите msg и metadata от чат-бота app, перебирая результаты с помощью метода .stream() с аргументами inputs и config.
  • Проверьте, содержит ли каждый msg поле content и не является ли он экземпляром HumanMessage, затем выведите его content с параметром flush, равным True, для немедленного отображения.
  • Протестируйте чат-бота с помощью функции multi_tool_output(), передавая запросы, требующие разных инструментов.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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?")
Редактировать и запускать код