Обзор

Прежде чем переходить к подробной документации по интерфейсам, убедитесь, что у вас есть общее представление о процессе интеграции инструментов в плагины Интеллос.

Типы сообщений

Возврат сообщений разных типов: текста, ссылок, изображений и JSON

Переменные

Создание переменных и работа с ними для интеграции в рабочие процессы

Схема вывода

Определение пользовательских выходных переменных для обращения к ним в рабочих процессах

Структура данных

Возврат сообщений

Интеллос поддерживает сообщения разных типов, таких как text, links, images, file BLOBs и JSON. Эти сообщения можно возвращать через специализированные интерфейсы.
По умолчанию вывод инструмента в рабочем процессе включает три фиксированные переменные: files, text и json. Приведённые ниже методы помогают наполнить эти переменные нужным содержимым.
Хотя для возврата изображения можно использовать такие методы, как create_image_message, инструменты также поддерживают пользовательские выходные переменные — это удобнее, когда нужно обратиться к конкретным данным в рабочем процессе.

Типы сообщений

string
required
URL изображения, которое будет загружено и показано
URL, который будет отображён как кликабельная ссылка
string
required
Текстовое содержимое для отображения
bytes
required
Необработанные данные файла в формате bytes
dict
Метаданные файла, включая:
  • mime_type: MIME-тип файла (например, “image/png”)
  • Другие метаданные, относящиеся к файлу
dict
required
Словарь Python, который будет сериализован в JSON
При работе с file blob всегда указывайте mime_type в словаре meta, чтобы файл обрабатывался корректно. Например: {"mime_type": "image/png"}.

Переменные

string
required
Имя создаваемой или обновляемой переменной
Any/string
required
Значение, присваиваемое переменной:
  • Для стандартных переменных: любой тип данных Python
  • Для потоковых переменных: только строковые данные
Метод потоковой переменной (create_stream_variable_message) в настоящее время поддерживает только строковые данные. Сложные типы данных нельзя передавать потоком с эффектом печатной машинки.

Пользовательские выходные переменные

Чтобы обращаться к выходным переменным инструмента в приложении-рабочем процессе, нужно определить, какие переменные могут быть выведены. Это делается с помощью формата JSON Schema в манифесте вашего инструмента.

Определение схемы вывода

object
required
Корневой объект, определяющий схему вывода вашего инструмента
string
required
Для схем вывода инструмента должно быть “object”
object
required
Словарь всех возможных выходных переменных
object
Определение каждой выходной переменной, включая её тип и описание
Даже если схема вывода определена, в коде реализации всё равно нужно фактически вернуть переменную с помощью create_variable_message(). Иначе рабочий процесс получит для этой переменной значение None.

Пример реализации

Для сложных рабочих процессов можно определить несколько выходных переменных и вернуть их все. Это даёт проектировщикам рабочих процессов больше гибкости при использовании вашего инструмента.

Примеры

Полная реализация инструмента

При проектировании инструментов учитывайте как прямой вывод (то, что видит пользователь), так и вывод переменных (то, что могут использовать другие узлы рабочего процесса). Такое разделение даёт гибкость в том, как используется ваш инструмент.

Edit this page | Report an issue