POST
/
agents
/
{id}
/
query
curl --request POST \
  --url https://gptbots.chat/agents/{id}/query \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "query": "<string>",
  "conversationId": "<string>",
  "visitorId": "<string>",
  "temperature": 123,
  "streaming": true,
  "modelName": "gpt_3_5_turbo",
  "maxTokens": 123,
  "presencePenalty": 123,
  "frequencyPenalty": 123,
  "topP": 123,
  "filters": {
    "custom_ids": [
      "<string>"
    ],
    "datasource_ids": [
      "<string>"
    ]
  },
  "systemPrompt": "<string>",
  "userPrompt": "<string>",
  "promptType": "raw",
  "promptTemplate": "<string>"
}'
{
  "answer": "<string>",
  "conversationId": "<string>",
  "visitorId": "<string>",
  "sources": [
    {}
  ]
}

Потоковая передача

Когда потоковая передача включена, конечная точка будет генерировать события «ответ» (ответ модели) и «endpoint_response» (полный ответ конечной точки).
import {
  EventStreamContentType,
  fetchEventSource,
} from '@microsoft/fetch-event-source';

let buffer = '';
let bufferEndpointResponse = '';
const ctrl = new AbortController();

await fetchEventSource(queryAgentURL, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
        },
        signal: ctrl.signal,
        body: JSON.stringify({
          streaming: true,
          query,
          conversationId,
          visitorId,
        }),

        async onopen(response) {
          if (response.status === 402) {
            throw new ApiError(ApiErrorType.USAGE_LIMIT);
          }
        },
        onmessage: (event) => {
          if (event.data === '[DONE]') {
            // End of stream
            ctrl.abort();

            try {
              const { sources, conversationId, visitorId } = JSON.parse(
                bufferEndpointResponse
              ) as ChatResponse;
            } catch {}
          } else if (event.data?.startsWith('[ERROR]')) {
            // ...
          } else if (event.event === "endpoint_response") {
            bufferEndpointResponse += event.data;
          } else if (event.event === "answer") {
            buffer += event.data;
            // ...
          }
       },
  });

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Идентификатор агента

Body

application/json
query
string
required

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

conversationId
string

Идентификатор беседы (если не указано, создается новая беседа)

visitorId
string

Идентификатор участника, отправляющего запрос (если не указан, создается новый идентификатор)

temperature
number

Температура модели (мин 0,0, макс 1,0)

streaming
boolean

Включить потоковую передачу

modelName
enum<string>

Переопределить модель агента

Available options:
gpt_3_5_turbo,
gpt_3_5_turbo_16k,
gpt_4
maxTokens
number

Максимальное количество токенов, которые можно сгенерировать при завершении чата.

presencePenalty
number

Число между -2.0 и 2.0. Положительные значения штрафуют новые токены на основе их появления в тексте до этого, увеличивая вероятность модели говорить о новых темах.

frequencyPenalty
number

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

topP
number

Альтернатива выборки с температурой - это выборка ядра (nucleus sampling), где модель рассматривает результаты токенов с вероятностью top_p. Таким образом, значение 0.1 означает, что рассматриваются только токены, составляющие верхние 10% вероятностной массы. Обычно мы рекомендуем изменять это значение или температуру, но не оба сразу.

filters
object
systemPrompt
string

Системный ПРОМТ для агента

userPrompt
string

Пользовательский ПРОМТ для агента

promptType
enum<string>
deprecated

(УСТАРЕЛО в пользу systemPrompt и userPrompt) Установите тип запроса для этого запроса

Available options:
raw,
customer_support
promptTemplate
string
deprecated

(УСТАРЕЛО в пользу systemPrompt и userPrompt) Установите шаблон запроса для этого запроса

Response

200
application/json
Success
answer
string

Ответ агента.

conversationId
string

ID беседы

visitorId
string

ID участника, отправляющего запрос

sources
object[]

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