/
akadnikov
/
CMIS_agent_Java
Обзор
Документация
Войти
/
akadnikov
/
CMIS_agent_Java
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/com/example/cmisagent/CMISAgentExamples.java
207 строк
8 KB
akadnikov
update: CMISAgentExamples.java
25 фев 2026, 23:34
Верифицирован
25 фев 2026, 23:34
37f1d0a
Код
Авторство
О чём код?
package com.example.cmisagent; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; /** * Примеры использования CMIS AI Agent * Запускается только с профилем "examples" */ @Slf4j @Configuration @Profile("examples") public class CMISAgentExamples { public static void main(String[] args) { System.setProperty("spring.profiles.active", "examples"); SpringApplication.run(CMISAgentApplication.class, args); } @Bean public CommandLineRunner runExamples(CMISAgent agent, QueryAnalyzerService analyzer) { return args -> { log.info("=".repeat(60)); log.info("CMIS AI Agent - Примеры использования"); log.info("=".repeat(60)); // Пример 1: Простой поиск example1_SimpleSearch(agent); // Пример 2: Семантический поиск example2_SemanticSearch(agent); // Пример 3: Получение метаданных example3_GetMetadata(agent); // Пример 4: Анализ содержимого example4_ContentAnalysis(agent); // Пример 5: Сложный запрос example5_ComplexQuery(agent); // Пример 6: Использование QueryAnalyzer example6_QueryAnalyzer(analyzer); // Пример 7: Работа с контекстом example7_ContextualQueries(agent); log.info("\n" + "=".repeat(60)); log.info("Все примеры выполнены успешно!"); log.info("=".repeat(60)); }; } /** * Пример 1: Простой поиск документов по метаданным */ private void example1_SimpleSearch(CMISAgent agent) { log.info("\n--- Пример 1: Простой поиск ---"); String query = "Найди все договоры за 2024 год"; log.info("Запрос: {}", query); String result = agent.search(query); log.info("Результат:\n{}", result); pause(); } /** * Пример 2: Семантический поиск по содержанию */ private void example2_SemanticSearch(CMISAgent agent) { log.info("\n--- Пример 2: Семантический поиск ---"); String query = "Найди документы, которые описывают условия оплаты и сроки поставки"; log.info("Запрос: {}", query); String result = agent.search(query); log.info("Результат:\n{}", result); pause(); } /** * Пример 3: Получение метаданных конкретного документа */ private void example3_GetMetadata(CMISAgent agent) { log.info("\n--- Пример 3: Получение метаданных ---"); String query = "Покажи подробную информацию о документе doc-001: кто создал, когда изменен, какая версия"; log.info("Запрос: {}", query); String result = agent.search(query); log.info("Результат:\n{}", result); pause(); } /** * Пример 4: Анализ содержимого документа */ private void example4_ContentAnalysis(CMISAgent agent) { log.info("\n--- Пример 4: Анализ содержимого ---"); String query = "Прочитай содержимое документа doc-002 и создай краткое резюме"; log.info("Запрос: {}", query); String result = agent.search(query); log.info("Результат:\n{}", result); pause(); } /** * Пример 5: Сложный запрос с несколькими действиями */ private void example5_ComplexQuery(CMISAgent agent) { log.info("\n--- Пример 5: Сложный запрос ---"); String query = "Найди договор с ООО 'Компания' от января 2024 и покажи что там написано про условия оплаты"; log.info("Запрос: {}", query); String result = agent.search(query); log.info("Результат:\n{}", result); pause(); } /** * Пример 6: Использование QueryAnalyzer для анализа запроса */ private void example6_QueryAnalyzer(QueryAnalyzerService analyzer) { log.info("\n--- Пример 6: Анализ запроса ---"); String[] queries = { "Найди все документы за 2024", "Документы об условиях оплаты", "Кто создал документ X?", "Что написано в файле report.pdf?" }; for (String query : queries) { log.info("\nАнализ запроса: '{}'", query); QueryAnalysis analysis = analyzer.analyze(query); log.info(" Тип запроса: {}", analysis.getQueryType()); log.info(" Уверенность: {:.1f}%", analysis.getConfidence() * 100); log.info(" Рекомендуемый инструмент: {}", analysis.getRecommendedTool()); log.info(" Извлеченные сущности: {}", analysis.getExtractedEntities()); boolean isComplex = analyzer.isComplexQuery(query); log.info(" Сложный запрос: {}", isComplex ? "Да" : "Нет"); } pause(); } /** * Пример 7: Работа с контекстом разговора */ private void example7_ContextualQueries(CMISAgent agent) { log.info("\n--- Пример 7: Контекстные запросы ---"); // Первый запрос String query1 = "Найди договоры с ООО 'Компания'"; log.info("Запрос 1: {}", query1); String result1 = agent.search(query1); log.info("Результат 1:\n{}", result1); pause(); // Уточняющий запрос (использует контекст) String query2 = "Покажи тот, что был создан в январе"; log.info("\nЗапрос 2 (уточняющий): {}", query2); String result2 = agent.search(query2); log.info("Результат 2:\n{}", result2); pause(); // Еще один уточняющий запрос String query3 = "Что там написано про сроки?"; log.info("\nЗапрос 3 (еще уточнение): {}", query3); String result3 = agent.search(query3); log.info("Результат 3:\n{}", result3); // Очистка истории log.info("\nОчищаем историю разговора..."); agent.clearHistory(); } /** * Пауза между примерами */ private void pause() { try { log.info("\n[Нажмите Enter для продолжения...]"); System.in.read(); } catch (Exception e) { // Ignore } } }