# Использование подключений Anthropic (Amazon Bedrock) в выражениях визуализации

Можно добавлять Anthropic вопросы и ответы в модель данных приложения не только с помощью скрипта загрузки, но и выполнять эти операции непосредственно в диаграмме приложения в режиме анализа. Данные для одного поля передаются между пользователем и Anthropic.

Примечание к информации

Коннектор Amazon Bedrock - Converse API позволяет подключиться к универсальному API Amazon Bedrock для моделей генерации текста, включая одну или несколько моделей, доступных через этот коннектор. Рассмотрите возможность замены подключений Anthropic (Amazon Bedrock) на подключения Amazon Bedrock - Converse API для расширенной функциональности. Для получения дополнительной информации см. раздел [Amazon Bedrock - Converse API Источник аналитики](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-converse-api-overview.htm).

Во многих случаях код, используемый для подключения скрипта загрузки, можно переориентировать для использования в диаграмме, но с некоторыми изменениями.

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

## Что нужно знать об объемах запросов данных

Рекомендуется использовать подключения Anthropic (Amazon Bedrock) только в выражениях диаграммы для одной или нескольких строк данных. Не рекомендуется использовать выражения диаграммы для отправки больших объемов данных в Anthropic.

Важно знать, сколько строк отправляется вместе с каждым запросом. Ошибки конфигурации подключения в выражении диаграммы могут привести к созданию непреднамеренно больших запросов (например, идентичные строки с одинаковым вопросом из-за неправильного использования модели данных в диаграммы). Прежде чем взаимодействовать с внешней платформой, необходимо оценить, как поля, используемые при расчете выражения диаграммы, а также с их местом в модели данных влияют на финансовое соглашение с внешним поставщиком и на оплату его услуг. Чем более интенсивно используется внешняя платформа, тем больше могут быть затраты.

Следуйте приведенным ниже рекомендациям, чтобы модерировать и ограничивать размер запросов:

* При работе с выражениями диаграмм используйте подключение только в объекте Текст (из Dashboard bundle). Крайне нежелательно использовать подключение Anthropic (Amazon Bedrock) в объекте Таблица, особенно если выражение добавляется в таблицу, в которой уже есть одно или несколько измерений.

* Если выражение диаграммы связано с моделью данных приложения, используйте оператор if в выражении для вычисления диаграммы, только когда в приложении сделана одна выборка. Это значительно сокращает количество строк в запросах, которые диаграмма будет отправлять в Anthropic.

* Если подключение Anthropic (Amazon Bedrock) служит для отправки больших запросов, используйте подключение в скрипте загрузки, а не в выражении диаграммы, чтобы данные предварительно загружались в модель данных.

## Инженерия подсказок

При составлении запросов, которые отправляются в модель генеративного ИИ (часто называемых подсказками или промптами), следуйте рекомендациям, предназначенным для используемой комбинации платформы. Для получения информации об инженерии подсказок и некоторых рекомендациях по структурированию подсказок для Amazon Bedrock коннекторов, см. раздел [Концепции инженерии подсказок](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-engineering-guidelines.html).

### Создание запросов для конфигурации Anthropic - Claude

Вы можете использовать Anthropic - Claude конфигурацию для подключения к нескольким устаревшим моделям Claude.

Запросы, созданные для данной конфигурации, должны иметь специальный синтаксис для успешного возвращения завершений. Требования перечислены ниже:

* Перед каждой подсказкой должен стоять текстовый префикс Human:

* После каждой подсказки должен следовать текстовый суффикс Assistant:

* Перед префиксом Human: должно быть два символа возврата каретки. Для этого необходимо добавить `chr(10) & chr(10)` в выражение перед префиксом.

* Перед суффиксом Assistant: должно быть два символа возврата каретки. Для этого необходимо добавить `chr(10) & chr(10)` в выражение перед суффиксом.

Для получения информации о конструировании и форматировании подсказки Claude см. раздел [Конструирование подсказки](https://docs.anthropic.com/claude/docs/constructing-a-prompt).

Для ознакомления с примерами см. раздел [Быстрые примеры](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-anthropic-use.htm#Quick).

### Создание запросов для конфигурации Anthropic - Claude (Messages API)

Конфигурация Anthropic - Claude (Messages API) подключается к API-интерфейсу Messages (Сообщения).

В запросах для этих моделей не требуется использовать какой-то специальный синтаксис. Для ознакомления с примерами см. раздел [Быстрые примеры](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-anthropic-use.htm#Quick).

## Создание выражения диаграммы

Выполните следующие действия.

1. При редактировании визуализации щелкните the Выражение icon, чтобы открыть редактор выражения.

2. В редакторе выражения введите выражение в соответствующее поле. Выражение необходимо составлять, используя синтаксис серверного расширения.

## Быстрые примеры

Здесь приводятся образцы выражений, которые можно использовать, начиная работать с коннектором Anthropic (Amazon Bedrock). Рассмотрим следующие подробные сведения:

* Используйте выражения только с объектом Текст (из Dashboard bundle). См. [Текст](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/DashboardBundle/text-object.htm).

* Рассмотрите возможность добавления оператора `if` в ваши выражения, чтобы контролировать, когда диаграмма пересчитывается, и обновлять в зависимости от выбора пользователя в приложении.

* Чтобы выражения работали, необходимо заменить значение `connectionname` и любые имена полей, чтобы они соответствовали вашим собственным подключениям и приложениям.

* Для каждой конфигурации данного коннектора предъявляются различные требования к синтаксису. См. [Инженерия подсказок](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-bedrock-anthropic-use.htm#Prompt).

Примеры выражения диаграммы для аналитического коннектора Anthropic (Amazon Bedrock)

Примеры выражения диаграммы для аналитического коннектора Anthropic (Amazon Bedrock)Anthropic (Amazon Bedrock)

| Конфигурация коннектора | Выражение | Сводка |
| --- | --- | --- |
| Anthropic - Claude | `endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"completion"}}', chr(10) & chr(10) & 'Human:' & 'Translate this text from English to Spanish: The sun was rising over the new tomorrow with a tinge of excitement.' & chr(10) & chr(10) & 'Assistant:')` | Этот оператор возвращает ответ Anthropic на один вопрос, введенный в выражение.<br><br>Примечание к предупреждению<br><br>В этом выражении не используется оператор `if`, и оно не рекомендуется для использования в случае привязки к полю в модели данных. Оно пригодно только для применения в качестве самостоятельного выражения с одной ячейкой ввода, содержащей жестко закодированное значение. |
| Anthropic - Claude | `if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"completion"}}', chr(10) & chr(10) & 'Human:' & vQuestion & chr(10) & chr(10) & ' Assistant:'))` | Это оператор, который можно использовать в объекте Текст (из Dashboard bundle), связанном с элементом управления Ввод переменной. Расчет диаграммы выполняется только при вводе данных. Когда пользователь вводит данные в объект и нажимает клавишу «Ввод», в диаграмме отображается ответ модели на ввод.<br><br>Обратите внимание, что с учетом требований к подсказкам Anthropic пользователь должен вручную добавить в свой ввод префикс и суффикс.<br><br>Чтобы найти подобные пошаговые инструкции для другого коннектора, см. раздел [Упражнение. Создание поля ввода текста с использованием переменной](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-openai-tutorial-example-3.htm#Exercise). |
| Anthropic - Claude | `if(count(distinct [BusinessTopic]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"completion"}}', chr(10) & chr(10) & 'Human: write me a sample response from a technical support department for a customer complaint about ' & [BusinessTopic] & chr(10) & chr(10) & ' Assistant:'))` | В этом примере диаграмма рассчитывается, только если выбрано одно уникальное значение из поля `IssueCategory` в модели данных приложения. В модель отправляется запрос на получение образца ответа из отдела технической поддержки, описывающего общий тип проблем, список которых содержится в поле `IssueCategory`. Диаграмма обновляется в зависимости от значения, выбранного пользователем. |
| Anthropic - Claude (Messages API) | `endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"text"}}', 'Translate this text from English to Spanish: The sun was rising over the new tomorrow with a tinge of excitement.')` | Этот оператор возвращает ответ Anthropic на один вопрос, введенный в выражение.<br><br>Примечание к предупреждению<br><br>В этом выражении не используется оператор `if`, и оно не рекомендуется для использования в случае привязки к полю в модели данных. Оно пригодно только для применения в качестве самостоятельного выражения с одной ячейкой ввода, содержащей жестко закодированное значение. |
| Anthropic - Claude (Messages API) | `if(vQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"text"}}',vQuestion))` | Это оператор, который можно использовать в объекте Текст (из Dashboard bundle), связанном с элементом управления Ввод переменной. Расчет диаграммы выполняется только при вводе данных. Когда пользователь вводит данные в объект и нажимает клавишу «Ввод», в диаграмме отображается ответ модели на ввод.<br><br>Чтобы найти подобные пошаговые инструкции для другого коннектора, см. раздел [Упражнение. Создание поля ввода текста с использованием переменной](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/ac-openai-tutorial-example-3.htm#Exercise). |
| Anthropic - Claude (Messages API) | `if(count(distinct [IssueCategory]) = 1, endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"Anthropic_(Amazon_Bedrock)","column":"text"}}', 'Write me a sample response from a technical support department for a customer complaint about ' & [IssueCategory]'))` | В этом примере диаграмма рассчитывается, только если выбрано одно уникальное значение из поля `IssueCategory` в модели данных приложения. В модель отправляется запрос на получение образца ответа из отдела технической поддержки, описывающего общий тип проблем, список которых содержится в поле `IssueCategory`. Диаграмма обновляется в зависимости от значения, выбранного пользователем. |

## Подробнее

* [Синтаксис серверных расширений](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/sse-syntax.htm)
* [if Функция скрипта и диаграммы](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm)
* [GetSelectedCount — функция диаграммы](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/FieldFunctions/getselectedcount.htm)
* [Использование переменных в выражениях](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Variables/work-with-variables.htm)