{"name":"completion","data":{"mode":1,"task":"intent","query":"привет\n\nДЛЯ СОСТАВЛЕНИЯ ПЛАНА У ТЕБЯ ЕСТЬ СЛЕДУЮЩИЕ TOOLS:\n\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: \n**doc_vector_index**: \n**parse**: \n**internet_search**: \n**doc_vector_search**: \n**transcribe**: \n**convert-content**: Converts content between different formats. Transforms input content from any supported format into the specified output format.\n\n🚨 CRITICAL REQUIREMENTS - PLEASE READ:\n1. PDF Conversion:\n * You MUST install TeX Live BEFORE attempting PDF conversion:\n * Ubuntu/Debian: `sudo apt-get install texlive-xetex`\n * macOS: `brew install texlive`\n * Windows: Install MiKTeX or TeX Live from https://miktex.org/ or https://tug.org/texlive/\n * PDF conversion will FAIL without this installation\n\n2. File Paths - EXPLICIT REQUIREMENTS:\n * When asked to save or convert to a file, you MUST provide:\n - Complete directory path\n - Filename\n - File extension\n * Example request: 'Write a story and save as PDF'\n * You MUST specify: '/path/to/story.pdf' or 'C:\\Documents\\story.pdf'\n * The tool will NOT automatically generate filenames or extensions\n\n3. File Location After Conversion:\n * After successful conversion, the tool will display the exact path where the file is saved\n * Look for message: 'Content successfully converted and saved to: [file_path]'\n * You can find your converted file at the specified location\n * If no path is specified, files may be saved in system temp directory (/tmp/ on Unix systems)\n * For better control, always provide explicit output file paths\n\nSupported formats:- Basic: txt, html, markdown, ipynb, odt- Advanced (REQUIRE complete file paths): pdf, docx, rst, latex, epub✅ CORRECT Usage Examples:\n1. 'Convert this text to HTML' (basic conversion)\n - Tool will show converted content\n\n2. 'Save this text as PDF at /documents/story.pdf'\n - Correct: specifies path + filename + extension\n - Tool will show: 'Content successfully converted and saved to: /documents/story.pdf'\n\n❌ INCORRECT Usage Examples:\n1. 'Save this as PDF in /documents/'\n - Missing filename and extension\n2. 'Convert to PDF'\n - Missing complete file path\n\nWhen requesting conversion, ALWAYS specify:\n1. The content or input file\n2. The desired output format\n3. For advanced formats: complete output path + filename + extension\nExample: 'Convert this markdown to PDF and save as /path/to/output.pdf'\n\n🎨 DOCX STYLING (NEW FEATURE):\n4. Custom DOCX Styling with Reference Documents:\n * Use reference_doc parameter to apply professional styling to DOCX output\n * Create custom templates with your branding, fonts, and formatting\n * Perfect for corporate reports, academic papers, and professional documents\n * Example: 'Convert this report to DOCX using /templates/corporate-style.docx as reference and save as /reports/Q4-report.docx'\n\n🎯 PANDOC FILTERS (NEW FEATURE):\n5. Pandoc Filter Support:\n * Use filters parameter to apply custom Pandoc filters during conversion\n * Filters are Python scripts that modify document content during processing\n * Perfect for Mermaid diagram conversion, custom styling, and content transformation\n * Example: 'Convert this markdown with mermaid diagrams to DOCX using filters=[\"./filters/mermaid-to-png-vibrant.py\"] and save as /reports/diagram-report.docx'\n\n📋 Creating Reference Documents:\n * Generate template: pandoc -o template.docx --print-default-data-file reference.docx\n * Customize in Word/LibreOffice: fonts, colors, headers, margins\n * Use for consistent branding across all documents\n\n📋 Filter Requirements:\n * Filters must be executable Python scripts\n * Use absolute paths or paths relative to current working directory\n * Filters are applied in the order specified\n * Common filters: mermaid conversion, color processing, table formatting\n\n📄 Defaults File Support (NEW FEATURE):\n7. Pandoc Defaults File Support:\n * Use defaults_file parameter to specify a YAML configuration file\n * Similar to using pandoc -d option in the command line\n * Allows setting multiple options in a single file\n * Options in the defaults file can include filters, reference-doc, and other Pandoc options\n * Example: 'Convert this markdown to DOCX using defaults_file=\"/path/to/defaults.yaml\" and save as /reports/report.docx'\n\nNote: After conversion, always check the success message for the exact file location.","contents":null,"doc_path":null,"messages":null,"tenant_id":"zebrains","request_id":"ef89b0f7-9e03-4fb5-a955-165600c0b61e","template_path":null,"requirements_path":null}}
{"status":"ok","data":{"request_id":"ef89b0f7-9e03-4fb5-a955-165600c0b61e","tenant_id":"zebrains","answer":"{\n \"summary\": \"Пользователь приветствует ассистента\",\n \"query\": \"\",\n \"intent\": {\n \"document_search\": 0.0,\n \"internet_search\": 0.0,\n \"audio_transcribe\": 0.0,\n \"forget\": 0.0,\n \"take\": 0.0,\n \"attach\": 0.0,\n \"convert\": 0.0,\n \"chat\": 1.0,\n \"predicted_intent\": \"chat\"\n },\n \"events\": [],\n \"peoples\": [],\n \"documents\": [],\n \"entities\": []\n}","profile":{"duration":"8923.7ms","start":"05:21:00","finish":"05:21:09"},"think":null,"values":{"prompt_tkn_limit":34900,"prompt_tkn_len":4062,"document_tkn_len":4062,"document_words_len":0,"cut_off_tkns":0,"words_per_token":0.0}},"error":null}
{"name":"completion","data":{"mode":1,"task":"rag","query":"привет\n\nДЛЯ СОСТАВЛЕНИЯ ПЛАНА У ТЕБЯ ЕСТЬ СЛЕДУЮЩИЕ TOOLS:\n\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.\n**convert-content**: Converts content between different formats. Transforms input content from any supported format into the specified output format.\n\n🚨 CRITICAL REQUIREMENTS - PLEASE READ:\n1. PDF Conversion:\n * You MUST install TeX Live BEFORE attempting PDF conversion:\n * Ubuntu/Debian: `sudo apt-get install texlive-xetex`\n * macOS: `brew install texlive`\n * Windows: Install MiKTeX or TeX Live from https://miktex.org/ or https://tug.org/texlive/\n * PDF conversion will FAIL without this installation\n\n2. File Paths - EXPLICIT REQUIREMENTS:\n * When asked to save or convert to a file, you MUST provide:\n - Complete directory path\n - Filename\n - File extension\n * Example request: 'Write a story and save as PDF'\n * You MUST specify: '/path/to/story.pdf' or 'C:\\Documents\\story.pdf'\n * The tool will NOT automatically generate filenames or extensions\n\n3. File Location After Conversion:\n * After successful conversion, the tool will display the exact path where the file is saved\n * Look for message: 'Content successfully converted and saved to: [file_path]'\n * You can find your converted file at the specified location\n * If no path is specified, files may be saved in system temp directory (/tmp/ on Unix systems)\n * For better control, always provide explicit output file paths\n\nSupported formats:- Basic: txt, html, markdown, ipynb, odt- Advanced (REQUIRE complete file paths): pdf, docx, rst, latex, epub✅ CORRECT Usage Examples:\n1. 'Convert this text to HTML' (basic conversion)\n - Tool will show converted content\n\n2. 'Save this text as PDF at /documents/story.pdf'\n - Correct: specifies path + filename + extension\n - Tool will show: 'Content successfully converted and saved to: /documents/story.pdf'\n\n❌ INCORRECT Usage Examples:\n1. 'Save this as PDF in /documents/'\n - Missing filename and extension\n2. 'Convert to PDF'\n - Missing complete file path\n\nWhen requesting conversion, ALWAYS specify:\n1. The content or input file\n2. The desired output format\n3. For advanced formats: complete output path + filename + extension\nExample: 'Convert this markdown to PDF and save as /path/to/output.pdf'\n\n🎨 DOCX STYLING (NEW FEATURE):\n4. Custom DOCX Styling with Reference Documents:\n * Use reference_doc parameter to apply professional styling to DOCX output\n * Create custom templates with your branding, fonts, and formatting\n * Perfect for corporate reports, academic papers, and professional documents\n * Example: 'Convert this report to DOCX using /templates/corporate-style.docx as reference and save as /reports/Q4-report.docx'\n\n🎯 PANDOC FILTERS (NEW FEATURE):\n5. Pandoc Filter Support:\n * Use filters parameter to apply custom Pandoc filters during conversion\n * Filters are Python scripts that modify document content during processing\n * Perfect for Mermaid diagram conversion, custom styling, and content transformation\n * Example: 'Convert this markdown with mermaid diagrams to DOCX using filters=[\"./filters/mermaid-to-png-vibrant.py\"] and save as /reports/diagram-report.docx'\n\n📋 Creating Reference Documents:\n * Generate template: pandoc -o template.docx --print-default-data-file reference.docx\n * Customize in Word/LibreOffice: fonts, colors, headers, margins\n * Use for consistent branding across all documents\n\n📋 Filter Requirements:\n * Filters must be executable Python scripts\n * Use absolute paths or paths relative to current working directory\n * Filters are applied in the order specified\n * Common filters: mermaid conversion, color processing, table formatting\n\n📄 Defaults File Support (NEW FEATURE):\n7. Pandoc Defaults File Support:\n * Use defaults_file parameter to specify a YAML configuration file\n * Similar to using pandoc -d option in the command line\n * Allows setting multiple options in a single file\n * Options in the defaults file can include filters, reference-doc, and other Pandoc options\n * Example: 'Convert this markdown to DOCX using defaults_file=\"/path/to/defaults.yaml\" and save as /reports/report.docx'\n\nNote: After conversion, always check the success message for the exact file location.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","contents":null,"doc_path":null,"messages":null,"tenant_id":"zebrains","request_id":"cea66a67-0673-4cd9-8aab-8bc8f0c76778","template_path":null,"requirements_path":null}}
{"status":"ok","data":{"request_id":"cea66a67-0673-4cd9-8aab-8bc8f0c76778","tenant_id":"zebrains","answer":"Привет! Чем я могу вам помочь?","profile":{"duration":"5389.0ms","start":"06:42:31","finish":"06:42:36"},"think":null,"values":{"prompt_tkn_limit":34900,"prompt_tkn_len":3800,"document_tkn_len":3800,"document_words_len":0,"cut_off_tkns":0,"words_per_token":0.0}},"error":null}
{"name":"completion","data":{"mode":1,"task":"rag","query":"привет\n\nДЛЯ СОСТАВЛЕНИЯ ПЛАНА У ТЕБЯ ЕСТЬ СЛЕДУЮЩИЕ TOOLS:\n\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.\n**convert-content**: Converts content between different formats. Transforms input content from any supported format into the specified output format.\n\n🚨 CRITICAL REQUIREMENTS - PLEASE READ:\n1. PDF Conversion:\n * You MUST install TeX Live BEFORE attempting PDF conversion:\n * Ubuntu/Debian: `sudo apt-get install texlive-xetex`\n * macOS: `brew install texlive`\n * Windows: Install MiKTeX or TeX Live from https://miktex.org/ or https://tug.org/texlive/\n * PDF conversion will FAIL without this installation\n\n2. File Paths - EXPLICIT REQUIREMENTS:\n * When asked to save or convert to a file, you MUST provide:\n - Complete directory path\n - Filename\n - File extension\n * Example request: 'Write a story and save as PDF'\n * You MUST specify: '/path/to/story.pdf' or 'C:\\Documents\\story.pdf'\n * The tool will NOT automatically generate filenames or extensions\n\n3. File Location After Conversion:\n * After successful conversion, the tool will display the exact path where the file is saved\n * Look for message: 'Content successfully converted and saved to: [file_path]'\n * You can find your converted file at the specified location\n * If no path is specified, files may be saved in system temp directory (/tmp/ on Unix systems)\n * For better control, always provide explicit output file paths\n\nSupported formats:- Basic: txt, html, markdown, ipynb, odt- Advanced (REQUIRE complete file paths): pdf, docx, rst, latex, epub✅ CORRECT Usage Examples:\n1. 'Convert this text to HTML' (basic conversion)\n - Tool will show converted content\n\n2. 'Save this text as PDF at /documents/story.pdf'\n - Correct: specifies path + filename + extension\n - Tool will show: 'Content successfully converted and saved to: /documents/story.pdf'\n\n❌ INCORRECT Usage Examples:\n1. 'Save this as PDF in /documents/'\n - Missing filename and extension\n2. 'Convert to PDF'\n - Missing complete file path\n\nWhen requesting conversion, ALWAYS specify:\n1. The content or input file\n2. The desired output format\n3. For advanced formats: complete output path + filename + extension\nExample: 'Convert this markdown to PDF and save as /path/to/output.pdf'\n\n🎨 DOCX STYLING (NEW FEATURE):\n4. Custom DOCX Styling with Reference Documents:\n * Use reference_doc parameter to apply professional styling to DOCX output\n * Create custom templates with your branding, fonts, and formatting\n * Perfect for corporate reports, academic papers, and professional documents\n * Example: 'Convert this report to DOCX using /templates/corporate-style.docx as reference and save as /reports/Q4-report.docx'\n\n🎯 PANDOC FILTERS (NEW FEATURE):\n5. Pandoc Filter Support:\n * Use filters parameter to apply custom Pandoc filters during conversion\n * Filters are Python scripts that modify document content during processing\n * Perfect for Mermaid diagram conversion, custom styling, and content transformation\n * Example: 'Convert this markdown with mermaid diagrams to DOCX using filters=[\"./filters/mermaid-to-png-vibrant.py\"] and save as /reports/diagram-report.docx'\n\n📋 Creating Reference Documents:\n * Generate template: pandoc -o template.docx --print-default-data-file reference.docx\n * Customize in Word/LibreOffice: fonts, colors, headers, margins\n * Use for consistent branding across all documents\n\n📋 Filter Requirements:\n * Filters must be executable Python scripts\n * Use absolute paths or paths relative to current working directory\n * Filters are applied in the order specified\n * Common filters: mermaid conversion, color processing, table formatting\n\n📄 Defaults File Support (NEW FEATURE):\n7. Pandoc Defaults File Support:\n * Use defaults_file parameter to specify a YAML configuration file\n * Similar to using pandoc -d option in the command line\n * Allows setting multiple options in a single file\n * Options in the defaults file can include filters, reference-doc, and other Pandoc options\n * Example: 'Convert this markdown to DOCX using defaults_file=\"/path/to/defaults.yaml\" and save as /reports/report.docx'\n\nNote: After conversion, always check the success message for the exact file location.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","contents":null,"doc_path":null,"messages":null,"tenant_id":"zebrains","request_id":"a2cb628c-736c-4122-a248-49842bb6cdfb","template_path":null,"requirements_path":null}}
{"name":"completion","data":{"mode":1,"task":"rag","query":"найди документ про mlops\n\nДЛЯ СОСТАВЛЕНИЯ ПЛАНА У ТЕБЯ ЕСТЬ СЛЕДУЮЩИЕ TOOLS:\n\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.\n**convert-content**: Converts content between different formats. Transforms input content from any supported format into the specified output format.\n\n🚨 CRITICAL REQUIREMENTS - PLEASE READ:\n1. PDF Conversion:\n * You MUST install TeX Live BEFORE attempting PDF conversion:\n * Ubuntu/Debian: `sudo apt-get install texlive-xetex`\n * macOS: `brew install texlive`\n * Windows: Install MiKTeX or TeX Live from https://miktex.org/ or https://tug.org/texlive/\n * PDF conversion will FAIL without this installation\n\n2. File Paths - EXPLICIT REQUIREMENTS:\n * When asked to save or convert to a file, you MUST provide:\n - Complete directory path\n - Filename\n - File extension\n * Example request: 'Write a story and save as PDF'\n * You MUST specify: '/path/to/story.pdf' or 'C:\\Documents\\story.pdf'\n * The tool will NOT automatically generate filenames or extensions\n\n3. File Location After Conversion:\n * After successful conversion, the tool will display the exact path where the file is saved\n * Look for message: 'Content successfully converted and saved to: [file_path]'\n * You can find your converted file at the specified location\n * If no path is specified, files may be saved in system temp directory (/tmp/ on Unix systems)\n * For better control, always provide explicit output file paths\n\nSupported formats:- Basic: txt, html, markdown, ipynb, odt- Advanced (REQUIRE complete file paths): pdf, docx, rst, latex, epub✅ CORRECT Usage Examples:\n1. 'Convert this text to HTML' (basic conversion)\n - Tool will show converted content\n\n2. 'Save this text as PDF at /documents/story.pdf'\n - Correct: specifies path + filename + extension\n - Tool will show: 'Content successfully converted and saved to: /documents/story.pdf'\n\n❌ INCORRECT Usage Examples:\n1. 'Save this as PDF in /documents/'\n - Missing filename and extension\n2. 'Convert to PDF'\n - Missing complete file path\n\nWhen requesting conversion, ALWAYS specify:\n1. The content or input file\n2. The desired output format\n3. For advanced formats: complete output path + filename + extension\nExample: 'Convert this markdown to PDF and save as /path/to/output.pdf'\n\n🎨 DOCX STYLING (NEW FEATURE):\n4. Custom DOCX Styling with Reference Documents:\n * Use reference_doc parameter to apply professional styling to DOCX output\n * Create custom templates with your branding, fonts, and formatting\n * Perfect for corporate reports, academic papers, and professional documents\n * Example: 'Convert this report to DOCX using /templates/corporate-style.docx as reference and save as /reports/Q4-report.docx'\n\n🎯 PANDOC FILTERS (NEW FEATURE):\n5. Pandoc Filter Support:\n * Use filters parameter to apply custom Pandoc filters during conversion\n * Filters are Python scripts that modify document content during processing\n * Perfect for Mermaid diagram conversion, custom styling, and content transformation\n * Example: 'Convert this markdown with mermaid diagrams to DOCX using filters=[\"./filters/mermaid-to-png-vibrant.py\"] and save as /reports/diagram-report.docx'\n\n📋 Creating Reference Documents:\n * Generate template: pandoc -o template.docx --print-default-data-file reference.docx\n * Customize in Word/LibreOffice: fonts, colors, headers, margins\n * Use for consistent branding across all documents\n\n📋 Filter Requirements:\n * Filters must be executable Python scripts\n * Use absolute paths or paths relative to current working directory\n * Filters are applied in the order specified\n * Common filters: mermaid conversion, color processing, table formatting\n\n📄 Defaults File Support (NEW FEATURE):\n7. Pandoc Defaults File Support:\n * Use defaults_file parameter to specify a YAML configuration file\n * Similar to using pandoc -d option in the command line\n * Allows setting multiple options in a single file\n * Options in the defaults file can include filters, reference-doc, and other Pandoc options\n * Example: 'Convert this markdown to DOCX using defaults_file=\"/path/to/defaults.yaml\" and save as /reports/report.docx'\n\nNote: After conversion, always check the success message for the exact file location.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","contents":null,"doc_path":null,"messages":null,"tenant_id":"zebrains","request_id":"d032d6cd-0cf3-49b9-9d21-d6c3828bce31","template_path":null,"requirements_path":null}}
{"name":"completion","data":{"mode":1,"task":"rag","query":"найди документы про mlops и тестирование\n\nДЛЯ СОСТАВЛЕНИЯ ПЛАНА У ТЕБЯ ЕСТЬ СЛЕДУЮЩИЕ TOOLS:\n\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.\n**convert-content**: Converts content between different formats. Transforms input content from any supported format into the specified output format.\n\n🚨 CRITICAL REQUIREMENTS - PLEASE READ:\n1. PDF Conversion:\n * You MUST install TeX Live BEFORE attempting PDF conversion:\n * Ubuntu/Debian: `sudo apt-get install texlive-xetex`\n * macOS: `brew install texlive`\n * Windows: Install MiKTeX or TeX Live from https://miktex.org/ or https://tug.org/texlive/\n * PDF conversion will FAIL without this installation\n\n2. File Paths - EXPLICIT REQUIREMENTS:\n * When asked to save or convert to a file, you MUST provide:\n - Complete directory path\n - Filename\n - File extension\n * Example request: 'Write a story and save as PDF'\n * You MUST specify: '/path/to/story.pdf' or 'C:\\Documents\\story.pdf'\n * The tool will NOT automatically generate filenames or extensions\n\n3. File Location After Conversion:\n * After successful conversion, the tool will display the exact path where the file is saved\n * Look for message: 'Content successfully converted and saved to: [file_path]'\n * You can find your converted file at the specified location\n * If no path is specified, files may be saved in system temp directory (/tmp/ on Unix systems)\n * For better control, always provide explicit output file paths\n\nSupported formats:- Basic: txt, html, markdown, ipynb, odt- Advanced (REQUIRE complete file paths): pdf, docx, rst, latex, epub✅ CORRECT Usage Examples:\n1. 'Convert this text to HTML' (basic conversion)\n - Tool will show converted content\n\n2. 'Save this text as PDF at /documents/story.pdf'\n - Correct: specifies path + filename + extension\n - Tool will show: 'Content successfully converted and saved to: /documents/story.pdf'\n\n❌ INCORRECT Usage Examples:\n1. 'Save this as PDF in /documents/'\n - Missing filename and extension\n2. 'Convert to PDF'\n - Missing complete file path\n\nWhen requesting conversion, ALWAYS specify:\n1. The content or input file\n2. The desired output format\n3. For advanced formats: complete output path + filename + extension\nExample: 'Convert this markdown to PDF and save as /path/to/output.pdf'\n\n🎨 DOCX STYLING (NEW FEATURE):\n4. Custom DOCX Styling with Reference Documents:\n * Use reference_doc parameter to apply professional styling to DOCX output\n * Create custom templates with your branding, fonts, and formatting\n * Perfect for corporate reports, academic papers, and professional documents\n * Example: 'Convert this report to DOCX using /templates/corporate-style.docx as reference and save as /reports/Q4-report.docx'\n\n🎯 PANDOC FILTERS (NEW FEATURE):\n5. Pandoc Filter Support:\n * Use filters parameter to apply custom Pandoc filters during conversion\n * Filters are Python scripts that modify document content during processing\n * Perfect for Mermaid diagram conversion, custom styling, and content transformation\n * Example: 'Convert this markdown with mermaid diagrams to DOCX using filters=[\"./filters/mermaid-to-png-vibrant.py\"] and save as /reports/diagram-report.docx'\n\n📋 Creating Reference Documents:\n * Generate template: pandoc -o template.docx --print-default-data-file reference.docx\n * Customize in Word/LibreOffice: fonts, colors, headers, margins\n * Use for consistent branding across all documents\n\n📋 Filter Requirements:\n * Filters must be executable Python scripts\n * Use absolute paths or paths relative to current working directory\n * Filters are applied in the order specified\n * Common filters: mermaid conversion, color processing, table formatting\n\n📄 Defaults File Support (NEW FEATURE):\n7. Pandoc Defaults File Support:\n * Use defaults_file parameter to specify a YAML configuration file\n * Similar to using pandoc -d option in the command line\n * Allows setting multiple options in a single file\n * Options in the defaults file can include filters, reference-doc, and other Pandoc options\n * Example: 'Convert this markdown to DOCX using defaults_file=\"/path/to/defaults.yaml\" and save as /reports/report.docx'\n\nNote: After conversion, always check the success message for the exact file location.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","contents":null,"doc_path":null,"messages":null,"tenant_id":"zebrains","request_id":"0d692df0-0868-46f6-b42f-c3926bf75ad1","template_path":null,"requirements_path":null}}
{"name":"completion","data":{"mode":1,"task":"rag","query":"найди документы про mlops и тестирование\n\nДЛЯ СОСТАВЛЕНИЯ ПЛАНА У ТЕБЯ ЕСТЬ СЛЕДУЮЩИЕ TOOLS:\n\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.\n**convert-content**: Converts content between different formats. Transforms input content from any supported format into the specified output format.\n\n🚨 CRITICAL REQUIREMENTS - PLEASE READ:\n1. PDF Conversion:\n * You MUST install TeX Live BEFORE attempting PDF conversion:\n * Ubuntu/Debian: `sudo apt-get install texlive-xetex`\n * macOS: `brew install texlive`\n * Windows: Install MiKTeX or TeX Live from https://miktex.org/ or https://tug.org/texlive/\n * PDF conversion will FAIL without this installation\n\n2. File Paths - EXPLICIT REQUIREMENTS:\n * When asked to save or convert to a file, you MUST provide:\n - Complete directory path\n - Filename\n - File extension\n * Example request: 'Write a story and save as PDF'\n * You MUST specify: '/path/to/story.pdf' or 'C:\\Documents\\story.pdf'\n * The tool will NOT automatically generate filenames or extensions\n\n3. File Location After Conversion:\n * After successful conversion, the tool will display the exact path where the file is saved\n * Look for message: 'Content successfully converted and saved to: [file_path]'\n * You can find your converted file at the specified location\n * If no path is specified, files may be saved in system temp directory (/tmp/ on Unix systems)\n * For better control, always provide explicit output file paths\n\nSupported formats:- Basic: txt, html, markdown, ipynb, odt- Advanced (REQUIRE complete file paths): pdf, docx, rst, latex, epub✅ CORRECT Usage Examples:\n1. 'Convert this text to HTML' (basic conversion)\n - Tool will show converted content\n\n2. 'Save this text as PDF at /documents/story.pdf'\n - Correct: specifies path + filename + extension\n - Tool will show: 'Content successfully converted and saved to: /documents/story.pdf'\n\n❌ INCORRECT Usage Examples:\n1. 'Save this as PDF in /documents/'\n - Missing filename and extension\n2. 'Convert to PDF'\n - Missing complete file path\n\nWhen requesting conversion, ALWAYS specify:\n1. The content or input file\n2. The desired output format\n3. For advanced formats: complete output path + filename + extension\nExample: 'Convert this markdown to PDF and save as /path/to/output.pdf'\n\n🎨 DOCX STYLING (NEW FEATURE):\n4. Custom DOCX Styling with Reference Documents:\n * Use reference_doc parameter to apply professional styling to DOCX output\n * Create custom templates with your branding, fonts, and formatting\n * Perfect for corporate reports, academic papers, and professional documents\n * Example: 'Convert this report to DOCX using /templates/corporate-style.docx as reference and save as /reports/Q4-report.docx'\n\n🎯 PANDOC FILTERS (NEW FEATURE):\n5. Pandoc Filter Support:\n * Use filters parameter to apply custom Pandoc filters during conversion\n * Filters are Python scripts that modify document content during processing\n * Perfect for Mermaid diagram conversion, custom styling, and content transformation\n * Example: 'Convert this markdown with mermaid diagrams to DOCX using filters=[\"./filters/mermaid-to-png-vibrant.py\"] and save as /reports/diagram-report.docx'\n\n📋 Creating Reference Documents:\n * Generate template: pandoc -o template.docx --print-default-data-file reference.docx\n * Customize in Word/LibreOffice: fonts, colors, headers, margins\n * Use for consistent branding across all documents\n\n📋 Filter Requirements:\n * Filters must be executable Python scripts\n * Use absolute paths or paths relative to current working directory\n * Filters are applied in the order specified\n * Common filters: mermaid conversion, color processing, table formatting\n\n📄 Defaults File Support (NEW FEATURE):\n7. Pandoc Defaults File Support:\n * Use defaults_file parameter to specify a YAML configuration file\n * Similar to using pandoc -d option in the command line\n * Allows setting multiple options in a single file\n * Options in the defaults file can include filters, reference-doc, and other Pandoc options\n * Example: 'Convert this markdown to DOCX using defaults_file=\"/path/to/defaults.yaml\" and save as /reports/report.docx'\n\nNote: After conversion, always check the success message for the exact file location.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","contents":null,"doc_path":null,"messages":null,"tenant_id":"zebrains","request_id":"f6fdb3b8-883c-44f1-8308-a38e9cdcee4f","template_path":null,"requirements_path":null}}
{"name":"completion","data":{"mode":1,"task":"rag","query":"найди документы про mlops и тестирование\n\nДЛЯ СОСТАВЛЕНИЯ ПЛАНА У ТЕБЯ ЕСТЬ СЛЕДУЮЩИЕ TOOLS:\n\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.\n**convert-content**: Converts content between different formats. Transforms input content from any supported format into the specified output format.\n\n🚨 CRITICAL REQUIREMENTS - PLEASE READ:\n1. PDF Conversion:\n * You MUST install TeX Live BEFORE attempting PDF conversion:\n * Ubuntu/Debian: `sudo apt-get install texlive-xetex`\n * macOS: `brew install texlive`\n * Windows: Install MiKTeX or TeX Live from https://miktex.org/ or https://tug.org/texlive/\n * PDF conversion will FAIL without this installation\n\n2. File Paths - EXPLICIT REQUIREMENTS:\n * When asked to save or convert to a file, you MUST provide:\n - Complete directory path\n - Filename\n - File extension\n * Example request: 'Write a story and save as PDF'\n * You MUST specify: '/path/to/story.pdf' or 'C:\\Documents\\story.pdf'\n * The tool will NOT automatically generate filenames or extensions\n\n3. File Location After Conversion:\n * After successful conversion, the tool will display the exact path where the file is saved\n * Look for message: 'Content successfully converted and saved to: [file_path]'\n * You can find your converted file at the specified location\n * If no path is specified, files may be saved in system temp directory (/tmp/ on Unix systems)\n * For better control, always provide explicit output file paths\n\nSupported formats:- Basic: txt, html, markdown, ipynb, odt- Advanced (REQUIRE complete file paths): pdf, docx, rst, latex, epub✅ CORRECT Usage Examples:\n1. 'Convert this text to HTML' (basic conversion)\n - Tool will show converted content\n\n2. 'Save this text as PDF at /documents/story.pdf'\n - Correct: specifies path + filename + extension\n - Tool will show: 'Content successfully converted and saved to: /documents/story.pdf'\n\n❌ INCORRECT Usage Examples:\n1. 'Save this as PDF in /documents/'\n - Missing filename and extension\n2. 'Convert to PDF'\n - Missing complete file path\n\nWhen requesting conversion, ALWAYS specify:\n1. The content or input file\n2. The desired output format\n3. For advanced formats: complete output path + filename + extension\nExample: 'Convert this markdown to PDF and save as /path/to/output.pdf'\n\n🎨 DOCX STYLING (NEW FEATURE):\n4. Custom DOCX Styling with Reference Documents:\n * Use reference_doc parameter to apply professional styling to DOCX output\n * Create custom templates with your branding, fonts, and formatting\n * Perfect for corporate reports, academic papers, and professional documents\n * Example: 'Convert this report to DOCX using /templates/corporate-style.docx as reference and save as /reports/Q4-report.docx'\n\n🎯 PANDOC FILTERS (NEW FEATURE):\n5. Pandoc Filter Support:\n * Use filters parameter to apply custom Pandoc filters during conversion\n * Filters are Python scripts that modify document content during processing\n * Perfect for Mermaid diagram conversion, custom styling, and content transformation\n * Example: 'Convert this markdown with mermaid diagrams to DOCX using filters=[\"./filters/mermaid-to-png-vibrant.py\"] and save as /reports/diagram-report.docx'\n\n📋 Creating Reference Documents:\n * Generate template: pandoc -o template.docx --print-default-data-file reference.docx\n * Customize in Word/LibreOffice: fonts, colors, headers, margins\n * Use for consistent branding across all documents\n\n📋 Filter Requirements:\n * Filters must be executable Python scripts\n * Use absolute paths or paths relative to current working directory\n * Filters are applied in the order specified\n * Common filters: mermaid conversion, color processing, table formatting\n\n📄 Defaults File Support (NEW FEATURE):\n7. Pandoc Defaults File Support:\n * Use defaults_file parameter to specify a YAML configuration file\n * Similar to using pandoc -d option in the command line\n * Allows setting multiple options in a single file\n * Options in the defaults file can include filters, reference-doc, and other Pandoc options\n * Example: 'Convert this markdown to DOCX using defaults_file=\"/path/to/defaults.yaml\" and save as /reports/report.docx'\n\nNote: After conversion, always check the success message for the exact file location.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","contents":null,"doc_path":null,"messages":null,"tenant_id":"zebrains","request_id":"c9c96ed4-3627-483d-8e73-197b5ab30027","template_path":"templates/planning/qwen_plan.yaml","requirements_path":null}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"Mode":{"enum":[1,2,3],"type":"integer","title":"Mode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/Mode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}}],"contents":null,"doc_path":null,"tenant_id":"zebrains","request_id":"aa4253b1-5b9b-478a-9acf-730185e03454","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":""}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"Mode":{"enum":[1,2,3],"type":"integer","title":"Mode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/Mode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}}],"contents":null,"doc_path":null,"tenant_id":"zebrains","request_id":"fefaf7ad-b4cf-457a-ab00-63367203d27f","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":""}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"Mode":{"enum":[1,2,3],"type":"integer","title":"Mode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/Mode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}}],"contents":null,"doc_path":null,"tenant_id":"zebrains","request_id":"98bf99ac-73c9-4ee1-9423-60d0685c0f1e","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":""}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}}],"contents":null,"doc_path":null,"tenant_id":"zebrains","request_id":"c5e1fd45-3c60-47aa-9aff-5bd2bbd6f9e8","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":""}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"zebrains","request_id":"6b40a2f5-59f1-4a75-9063-98999d16af2c","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"b8393359-37c0-47ad-b4b3-8ae5f9389950","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"20455611-63db-4967-b59f-8189b7c3d6c1","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"036badbd-5f27-4e26-b5c2-d198b752b84c","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"106504e3-fcb4-4c43-986f-f3b7155c1194","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"4ffad9a0-18e7-4606-88fd-8d4e54998fdb","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"a2470e77-ede0-4b7a-89b2-80a4ee0178f5","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование, придумай типовой пайплайн CI/CD, сгенерируй PDF","tools":[{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"f8ef8ea3-0280-4252-873e-fae1a14b8961","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование, придумай типовой пайплайн CI/CD, сгенерируй PDF","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"435ea5ac-f75e-455d-bc2d-9e33f9163ed4","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"813b189c-86ce-4be3-a126-8f8eb23df8ab","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"b655eb40-ec0f-40cb-816b-2090aa48d40f","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"b654603a-3e64-4b75-8fe9-b179216501ea","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"eb8d24d3-da18-4397-aa34-964b66037d04","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"06f12ac6-8038-4de5-9577-21010dc38788","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"dc301644-be67-4c4a-91fb-66d9a0ed59ce","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"5de14089-934e-40f4-9fae-91b87c25d33d","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"8ca036dd-5a79-4fec-b2b2-4e62976e65d1","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"4a878f37-ba84-435d-90ad-dadf6f59f0a4","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"bb6ba018-bee9-49d8-bbb8-9859eabf47a1","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"найди документы про mlops и тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"cfa33ec4-2cba-44eb-a814-8a6fda931d52","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди что нибудь про MLOPS и Тестирование, придумай типовой пайплайн CI/CD, сгенерируй PDF","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"060e8e5c-6109-4522-b83e-1cf0ad744003","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди в базе знаний что нибудь про MLOPS и Тестирование, придумай типовой пайплайн CI/CD, сгенерируй PDF","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"92a33daa-476e-48ac-a569-7c961d51bcc8","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди в базе знаний что нибудь про MLOPS и Тестирование, придумай типовой пайплайн CI/CD, сгенерируй PDF","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"248b18fb-4bd0-454e-a977-58b2a63dd036","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди в базе знаний что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"19adf257-d780-4a1b-a11b-f7fce79c2a87","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"привет","tools":[{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"dd403186-4c99-479f-9f67-a1c2bb15e866","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"забудь","tools":[{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"a92ca607-2eb0-41a2-8833-ec1c3ac26120","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"привет","tools":[{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"6b6c7473-0e35-4b44-bdb5-dfc5b50e16a0","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"привет","tools":[{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"e346355d-458a-4abf-96f5-597e80283fea","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"привет","tools":[{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"380d93f2-40c2-44cb-ac19-6fe51e822153","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди в базе знаний что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"30c5f21f-fec2-411d-b3be-29845907855e","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди в базе знаний что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"e4e0882c-b972-4dac-a9c8-3859da3f2c87","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди в базе знаний что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"80637eed-9bcc-408e-833f-19f162da25b8","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}
{"name":"planning","data":{"mode":2,"task":"rag","query":"Найди в базе знаний что нибудь про MLOPS и Тестирование","tools":[{"type":"function","function":{"name":"internet_search","description":"Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.","parameters":{"type":"object","$defs":{"SearcherEngine":{"enum":["brave","searxng"],"type":"string","title":"SearcherEngine"}},"title":"SearcherInput","required":["request_id","question"],"properties":{"limit":{"type":"integer","title":"Limit","default":5,"description":"Количество результатов поиска"},"engine":{"$ref":"#/$defs/SearcherEngine","default":"searxng","description":"Система поиска"},"question":{"type":"string","title":"Question","description":"Строка для поиска"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_index","description":"Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"doc_vector_search","description":"Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.","parameters":{"type":"object","$defs":{"DocumentSearchTask":{"enum":["path","hybrid_chunk","hybrid_doclet","chunk","doclet","sense","jsondocs"],"type":"string","title":"DocumentSearchTask"}},"title":"HippocampusDocumentInput","required":["request_id","tenant_id","question","treshold","limit","task"],"properties":{"task":{"type":"array","items":{"$ref":"#/$defs/DocumentSearchTask"},"title":"Task","description":"Задачи поиска которые нужно выполнить.\n 'path' - Только по пути/имени файла (docs/dence),\n 'hybrid_chunk' - По пути/имени файла и содержимому чанка (chunks/hybrid),\n 'hybrid_doclet' - По пути/имени файла и содержимому доклета (doclets/hybrid),\n 'chunk' - По содержимому чанка (chunks/sparce),\n 'doclet' - По содержимому доклета (doclets/sparce),\n 'jsondocs' - По содержимому jsondocs (jsondocs/sparce). Можно выбирать от 1 до всех одновременно."},"limit":{"type":"integer","title":"Limit","description":"Лимит длины списка выдаваемых в результате документов."},"question":{"type":"string","title":"Question","description":"Вопрос пользователя "},"treshold":{"type":"number","title":"Treshold","description":"Пороговое значение ниже которого докоменты не учитываются"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"completion","description":"Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.","parameters":{"type":"object","$defs":{"APIMode":{"enum":[1,2,3],"type":"integer","title":"APIMode"},"MedullaTask":{"enum":["intent","rag","chat","contents","summarizer","checklist","chitchat","freeflight"],"type":"string","title":"MedullaTask"},"MedullaInputMessage":{"type":"object","title":"MedullaInputMessage","required":["role","content"],"properties":{"role":{"type":"string","title":"Role","description":"Роль: 'system', 'user', 'agent'"},"content":{"type":"string","title":"Content","description":"Содержимое сообщения"},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к директории с документом используемым для ответа"}}}},"title":"MedullaInput","required":["request_id","task","tenant_id"],"properties":{"mode":{"anyOf":[{"$ref":"#/$defs/APIMode"},{"type":"null"}],"default":null,"description":"Режим работы значение устанавливается внешними средствами (1, 2 или 3), по умолчанию 1."},"task":{"$ref":"#/$defs/MedullaTask","description":"Интеллектуальная задача выполняемая сервисом, 'intent' - Интент классификатор по запросу (query), 'rag' - ответ на запрос (query) по документу расположенному по пути (doc_path), 'chat' - ответ на запросы по логу сообщений messages, 'contents' - ответ на запрос (query) по приложенному контенту (contents), 'summarizer' - cуммаризация информации по запросу (query) документа расположенного по пути (doc_path), 'checklist' - проверка документа в директории по пути doc_path в соответствии с запросом (query) и шаблоном требований по пути (requirements_path), 'chitchat' - свободный ответ по запросу (query), 'freeflight' - Свободный формат (обязательно передать template_path)."},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","default":null,"description":"Текст запроса пользователя. Используется в задачах: intent, rag, contents, summarizer, checklist, chitchat."},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","default":null,"description":"Текстовый контент на основе которого формируется ответ. Используется в задачах: contents."},"doc_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Doc Path","default":null,"description":"Путь к файлу на основе которого формируется ответ. Используется в задачах: rag, summarizer, checklist."},"messages":{"anyOf":[{"type":"array","items":{"$ref":"#/$defs/MedullaInputMessage"}},{"type":"null"}],"title":"Messages","default":null,"description":"Список сообщений на основе которых формируется ответ. Используется в задачах: chat."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"template_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Path","default":null,"description":"Путь к шаблону документа который используется для формирования ответа. Используется в задачах: checklist."},"requirements_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requirements Path","default":null,"description":"Путь к директории с файлом требований для формирования ответа. Используется в задачах: checklist."}}}}},{"type":"function","function":{"name":"parse","description":"Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.","parameters":{"type":"object","$defs":{"Mode":{"enum":["skip_parsed","always_rewrite"],"type":"string","title":"Mode"}},"title":"PaleographInput","required":["request_id","tenant_id","input_path","output_path","mode"],"properties":{"mode":{"$ref":"#/$defs/Mode","description":"Режим работы парсера: 'skip_parsed' если нужно пропустить уже обработанные файлы из входной директории при повторном вызове, 'always_rewrite' всегда обрабатывать все файлы находящиеся во входной директории."},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_path":{"type":"string","title":"Input Path","description":"Путь до директории с файлами которые нужно обработать."},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_path":{"type":"string","title":"Output Path","description":"Путь до директории в которую необходимо сложить результат."}}}}},{"type":"function","function":{"name":"page_download","description":"Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.","parameters":{"type":"object","$defs":{"SearcherSaveList":{"enum":["urls","svgs","images"],"type":"string","title":"SearcherSaveList"}},"title":"SearcherDownloadInput","required":["request_id","urls","names","save_path","save_list"],"properties":{"urls":{"type":"array","items":{"type":"string"},"title":"Urls","description":"Список ссылок на сайты для загрузки"},"names":{"type":"array","items":{"type":"string"},"title":"Names","description":"Список именов сайтов"},"save_list":{"type":"array","items":{"$ref":"#/$defs/SearcherSaveList"},"title":"Save List","description":"Перечисление того, что оставить при загрузке сайта"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения сайтов"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"}}}}},{"type":"function","function":{"name":"convert-content","description":"Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.","parameters":{"type":"object","title":"PandockerDocumentInput","required":["request_id","tenant_id","contents","input_file","input_format","output_format","output_file","reference_doc","filters","defaults_file"],"properties":{"filters":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Filters","description":"Список фильтров для пандока, отправляется либо строкой, если фильтр один, или списком, если их несколько"},"contents":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contents","description":"Контент документа в виде текста, допустим mardown, указаывается если нет input_file"},"tenant_id":{"type":"string","title":"Tenant Id","description":"ID тенанта (домена)."},"input_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input File","description":"Путь до входного файла"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"output_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File","description":"Путь до выходного файла"},"input_format":{"type":"string","title":"Input Format","description":"Формат входного документа"},"defaults_file":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Defaults File","description":"Путь до файла настроек pandoc"},"output_format":{"type":"string","title":"Output Format","description":"Формат выходного документа"},"reference_doc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Doc","description":"Путь до референсного файла для стилизации"}}}}},{"type":"function","function":{"name":"transcribe","description":"Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно.","parameters":{"type":"object","$defs":{"ScriberEngine":{"enum":["gigaam"],"type":"string","title":"ScriberEngine"}},"title":"ScriberInput","required":["request_id","paths","save_path"],"properties":{"paths":{"type":"array","items":{"type":"string"},"title":"Paths","description":"Пути до аудио/видео файлов"},"engine":{"$ref":"#/$defs/ScriberEngine","default":"gigaam","description":"Система транскрибации"},"save_path":{"type":"string","title":"Save Path","description":"Путь сохранения транскрибации"},"request_id":{"type":"string","title":"Request Id","description":"Request ID to trace request"},"diarization":{"type":"boolean","title":"Diarization","default":false,"description":"Флаг включения диаризации"}}}}}],"contents":null,"doc_path":null,"tenant_id":"nmg","request_id":"63052d85-55a3-4036-9521-7ca074caca4e","tool_choice":"required","template_path":"templates/planning/qwen_plan.yaml","tools_description":"\n**internet_search**: Поиск сайтов и веб-страниц в интернете по заданному запросу. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'найди в интернете', 'поищи сайты', 'найди информацию о', 'погугли', 'покажи ссылки на', а также для получения актуальных данных, новостей, обзоров, документации или любого контента, которого нет в базе знаний модели. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого уже открытых страниц, для повторного поиска по тем же ключевым словам в рамках одной сессии, для работы с уже найденными результатами, а также когда поисковый запрос не задан явно.\n**doc_vector_index**: Запуск процесса обновления базы знаний и переиндексации новых документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'обнови базу знаний', 'добавь новые документы в индекс', 'переиндексируй', 'загрузи документы в базу знаний', 'синхронизируй с хранилищем'. НЕ ИСПОЛЬЗОВАТЬ для поиска по уже проиндексированной базе когда пользователь просто прикрепляет файл для разового парсинга без сохранения в базу.\n**doc_vector_search**: Поиск релевантных документов в проиндексированной базе знаний по запросу пользователя. ИСПОЛЬЗОВАТЬ, когда пользователь задаёт вопрос, требующий информации из корпоративных/справочных документов, инструкций, нормативной базы, технической документации, ранее загруженных материалов. НЕ ИСПОЛЬЗОВАТЬ для вопросов общего характера, не требующих обращения к базе знаний.\n**completion**: Инструмент для выполнения различных интеллектуальных задач через единый endpoint. ИСПОЛЬЗОВАТЬ для: классификации намерений (intent), поиска с генерацией ответа по базе знаний (RAG), обычного чата с историей (chat), ответа на основе переданного текста (contents), суммаризации документов (summarizer), проверки по чеклисту (checklist), поддержки свободного диалога (chitchat), кастомных сценариев с шаблоном (freeflight). НЕ ИСПОЛЬЗОВАТЬ для прямого парсинга файлов без вызова модели или когда задача не требует языковой обработки.\n**parse**: Извлечение и обработка содержимого из загруженных файлов документов. ИСПОЛЬЗОВАТЬ, когда пользователь прикрепляет новый файл (PDF, DOCX, TXT, XLSX, PPTX, изображение с текстом) или явно просит 'обработай файл', 'распарси документ', 'прочитай данные из приложенного', 'извлеки текст из файла'. НЕ ИСПОЛЬЗОВАТЬ для работы с уже извлечённым ранее текстом или для задач, не требующих доступа к содержимому файла.\n**page_download**: Скачивание содержимого сайтов и веб-страниц по указанному URL. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'скачай сайт', 'загрузи страницу', 'сохрани содержимое по ссылке', 'выгрузи HTML', 'забери данные с сайта', а также для получения полного текста статей, документации, веб-страниц или любого контента по конкретному адресу. НЕ ИСПОЛЬЗОВАТЬ для поиска сайтов в интернете без известного URL, для повторного скачивания одной и той же страницы в рамках одной сессии, для работы с уже загруженным содержимым, а также когда ссылка на страницу не задана явно.\n**convert-content**: Конвертация контента между различными форматами документов. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'конвертируй файл', 'преобразуй в PDF/DOCX/HTML', 'сохрани как .docx', 'сделай из markdown PDF', а также для генерации документов с применением шаблонов стилей (reference_doc), пользовательских Pandoc-фильтров или YAML-конфигов (defaults_file). Поддерживаемые форматы: txt, html, markdown, ipynb, odt, pdf, docx, rst, latex, epub. Для расширенных форматов (pdf, docx, rst, latex, epub) ОБЯЗАТЕЛЬНО указывать полный путь + имя файла + расширение (например, '/output/report.pdf'). Для PDF требуется предустановленный TeX Live. НЕ ИСПОЛЬЗОВАТЬ для извлечения или чтения содержимого существующих файлов, для редактирования документов «на месте», для работы с уже сконвертированным текстом, а также когда формат вывода и выходной путь не заданы явно.\n**transcribe**: Транскрибация аудио- и видеофайлов в текст. ИСПОЛЬЗОВАТЬ, когда пользователь явно просит 'расшифруй аудио', 'сделай транскрипт', 'переведи запись в текст', 'транскрибируй видео', 'распознай речь', а также для получения текстовой версии подкастов, интервью, лекций, совещаний, голосовых сообщений или любых других записей с речью. НЕ ИСПОЛЬЗОВАТЬ для перевода уже готового текста, для анализа или суммаризации уже расшифрованной записи, для повторной транскрибации одного и того же файла в рамках одной сессии, а также когда аудио- или видеофайл не предоставлен явно."}}