Работа с подключенным API!

Добрый день!
Задача стоит таким образом:
Мы загружаем pdf в наше веб-приложение, документ по API улетает в Claude, где распознается по названию, дате, номеру, кол-во страниц и ответ возвращается в JSON формате с этими полями, и записывается в базу данных. На страничке мы так же видим результат распознанного документа: название, дата, номер, кол-во страниц, кликабельная миникартинка для просмотра скана, с кнопкой редактировать (если вдруг поля распознались неверно).

Все это можно реализовать в AppMaster.
Есть какое-то конкретное действие с реализацией которого возникли сложности?
Нужно предварительно в редакторе БД создать модель с требуемыми параметрами (название, дата, номер и т.д.).
В веб-редакторе собрать интерфейс для загрузки файла pdf. Например, через элемент file uploader, на триггеры которого на событие выбора файла назначить эндпойнт (можно системный, который есть по умолчанию) для отправки файла на бэкенд.
Далее на бэке запустить процесс отправки запроса в Claude. Есть модуль для интеграции с ним, но его скорее всего будет недостаточно (предназначен в основном для обмена текстовыми сообщениями) и можно будет реализовать запросы непосредственно к API Claude через блоки HTTP Request.

Доброе утро!
Да, возникли трудности с настройкой BPLogic, подключил в модулях API Claude, далее просто не понимаю как реализовать метод работы с ней в логике, как правильно передать данные и получить ответ от нее

У модуля Claude не было нужной модели для работы с файлами.
Сейчас модуль обновили


Используйте согласно документации по API Claude. В поле Type указывайте url, а в поле URL соответственно полный путь к загруженному файлу PDF.
Если этот файл загружен на бэк в БД AppMaster, то убедитесь, что эндпойнт на выдачу файлов открыт для доступа без авторизации и сформируйте URL соответствующий полному адресу c ID файла для GET-запроса.

Добрый день!
Возникли сложности в построение самой BP Logic, получается у меня на входе есть Start (который в себе содержит File) - далее нам нужно создать скажем “промт”, который будет передаваться в "Make Claude Source + Claude: Create Message?

Я не до конца понимаю, как мы должны передать из Make Claude - выходной параметр Claude Source в MetaData для Claude: Create Message, чтобы просто сделать запрос для обработки данных.

Примерно так


То есть передаваемое сообщение должно состоять из двух разных элементов контента. Один текстовой, собственно с текстовым запросом. Второй типа document, у которого дополнительно есть модель source с указанием, что передается ссылка на файл и этот файл расположен по такому-то урлу.

Хотел бы уточнить поподробнее что вы храните в переменных, а также уточнить почему у меня нет URL в Make Claude Source?:

В каких именно переменных? Имеете в виду параметры блоков?

У вас скорее всего не обновлен сам модуль Claude, используется старая версия. Зайдите в раздел, где его устанавливали, и увидите опцию для обновления

Cпасибо большое!
Да, параметры указанные для передачи (данные)
В целом еще столкнулся с обработкой ответа от Claude – как его корректно записать в базу данных не подскажите? Извините, что так мучаю Вас этим

Условно у меня есть такая таблица мне нужно в нее записать ответ от Claude:

А также вот целая построенная модель, но корректно не понимаю как обработать ответ на Claude, с параметрами в блоках вроде разобрался:

И также появился вопрос, как получить file_url из WebApplication, который позволяет нам загрузить наш File, end поинт на метод Post сделал, нужен еще на Get?

У вас на скриншоте сейчас блок Create Message работает в асинхронном режиме. Соответственно у него нет выходных параметров. Уберите асинхронность и они появятся. Можно будет развернуть модель Content и увидеть ответ.

Для файлов по умолчанию есть эндпойнт GET /_files/:id/download
Любой файл, сохраненный на сервере получает File ID. Этот ID нужно подставить в соответствующее место эндпойнта и прописать полный путь с именем хоста, наподобие https://hecjtbs-app.apms.io/api/_files/YvRRL2a83cZjBWdgVctmKO/download/
Это и будет являться ссылкой на файл (только убедитесь, что сам эндпойнт открыт для запросов без авторизации)

Хорошо! Я сделал момент такой, что отключил асинхронность , но как мне достать из массива данные для базы данных?
Сделал логику для кнопки OnClick, пока получается получать вот такую ссылку:
https://gpnhwzq-app.apms.io/api/_files//download/?file_url=Fan39jXaF35Jb7dbAr7bNV

Хотел бы узнать, как мне потом эту ссылку передать в Start в file_url или она автоматически будет там?

Брал из Вашей документации:

По приведенному скриншоту непонятно, что пытаетесь сделать, но ссылка явно неправильная. Смотрите, чтобы соответствовала формату приведенному выше.
Создается она простым объединением строк блоком concat strings

А как мне эту ссылку то получать в BPLogic? Как ее туда правильно передать, я понял, что в конкат образовалась полная ссылка.

Также хотел бы узнать, как обновлять Table в WebApplication, который пытаешься туда что то загрузить.

Ссылку на файл на собрать по образцу, простым объединением строк, зная его file id.
Здесь есть пример (с поправкой на то, что нужно использовать полный путь, а не относительный)

Для загрузки данных в таблицы есть блок Table Update Data