Например, агент должен выбрать один из доступных инструментов и выполнить такую операцию, как получение или вставка данных в базу данных. Я хотел бы убедиться, что этот вызов инструмента действительно происходит.
Как правильно настроить интеграционный тест, проверяющий этот поток?
- Можно ли запустить агент с реальной моделью в тестах (например, с помощью Testcontainers + Ollama), чтобы воспроизвести его фактическое поведение?
- Если да, то как можно тест должен быть настроен так, чтобы вызовы инструмента (например, DBTool) можно было перехватывать и проверять — например, проверять, какие данные были прочитаны или записаны?
- В качестве альтернативы существует ли рекомендуемый подход к тестированию интеграции агента и инструмента без использования реальной модели — например, путем внедрения макета или имитации уровня LLM?
ex code:
fun makeIt(userPrompt: String): String? {
return chatClientBuilder.build()
.prompt(SYSTEM_PROMPT)
.tools(DBtool(), MyTool())
.user(userPrompt)
.call()
.chatResponse().result.output.text
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... on-testing
Мобильная версия