Справочник по сообщениям API помощников (предварительная версия)
Примечание.
- Поиск по файлам может получать до 10 000 файлов на помощника — 500 раз больше, чем раньше. Это быстрый процесс, который поддерживает параллельные многопоточные поисковые запросы, а также функции расширенного повторного ранжирования и перезаписи запросов.
- Векторное хранилище — это новый объект в API. После добавления файла в векторное хранилище он автоматически анализируется, делится на блоки и кодируется в векторном представлении, чтобы подготовить к поиску по содержимому. Векторные хранилища можно использовать между разными помощниками и потоками, упрощая управление файлами и выставление счетов.
- Мы добавили поддержку
tool_choice
параметра, который можно использовать для принудительного использования определенного средства (например, поиска файлов, интерпретатора кода или функции) в определенном запуске.
В этой статье приведена справочная документация по Python и REST для нового API Помощников (предварительная версия). Дополнительные пошаговые инструкции приведены в руководстве по началу работы.
Создать сообщение
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Создать сообщение.
Параметр пути
Параметр | Type | Обязательно | Описание |
---|---|---|---|
thread_id |
строка | Обязательное поле | Идентификатор потока для создания сообщения. |
Текст запроса
Имя. | Type | Обязательно | Описание |
---|---|---|---|
role |
строка | Обязательное поле | Роль сущности, создающей сообщение. Может иметь значение user или assistant . user указывает, что сообщение отправляется фактическим пользователем и должно использоваться в большинстве случаев для представления сообщений, созданных пользователем. assistant указывает, что сообщение создается помощником. Используйте это значение для вставки сообщений от помощника в беседу. |
content |
строка | Обязательное поле | Содержимое сообщения. |
attachments |
array | Необязательно | Список файлов, присоединенных к сообщению, и инструменты, к которому они должны быть добавлены. |
metadata |
map | Необязательно | Набор из 16 пар "ключ-значение", которые могут быть присоединены к объекту. Это может быть полезно для хранения дополнительных сведений об объекте в структурированном формате. Ключи могут содержать не более 64 символов, а значения могут содержать не более 512 символов. |
Возвраты
Пример запроса на создание сообщения
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_message = client.beta.threads.messages.create(
"thread_abc123",
role="user",
content="How does AI work? Explain it in simple terms.",
)
print(thread_message)
Вывести список сообщений
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Возвращает список сообщений для данного потока.
Параметры пути
Параметр | Type | Обязательно | Описание |
---|---|---|---|
thread_id |
строка | Обязательное поле | Идентификатор потока, к которому относятся сообщения. |
Параметры запроса
Имя. | Type | Обязательно | Описание |
---|---|---|---|
limit |
integer | Необязательно. Значение по умолчанию — значение 20 | Ограничение количества возвращаемых объектов. Ограничение может быть от 1 до 100, а значение по умолчанию — 20. |
order |
строка | Необязательно. Значения по умолчанию для desc | Сортировка по created_at метке времени объектов. asc для возрастания порядка и desc для убывающего порядка. |
after |
строка | Необязательно | Курсор для использования в разбиении на страницы. После этого является идентификатором объекта, который определяет место в списке. Например, если вы делаете запрос списка и получаете 100 объектов, заканчивая obj_foo, последующий вызов может включать after=obj_foo, чтобы получить следующую страницу списка. |
run_id |
строка | Optionanl | Фильтруйте сообщения по идентификатору запуска, который создал их. |
before |
строка | Необязательно | Курсор для использования в разбиении на страницы. прежде чем является идентификатором объекта, который определяет место в списке. Например, если вы делаете запрос списка и получаете 100 объектов, заканчивая obj_foo, последующий вызов может включать до=obj_foo, чтобы получить предыдущую страницу списка. |
Возвраты
Список объектов сообщения .
Пример запроса на получение сообщений списка
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)
Получение сообщения
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Извлекает файл сообщения.
Параметры пути
Параметр | Type | Обязательно | Описание |
---|---|---|---|
thread_id |
строка | Обязательное поле | Идентификатор потока, к которому принадлежит сообщение. |
message_id |
строка | Обязательное поле | Идентификатор полученного сообщения. |
Возвраты
Объект сообщения, соответствующий указанному идентификатору.
Пример запроса на получение сообщения
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-05-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.retrieve(
message_id="msg_abc123",
thread_id="thread_abc123",
)
print(message)
Изменение сообщения
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Изменяет сообщение.
Параметры пути
Параметр | Type | Обязательно | Описание |
---|---|---|---|
thread_id |
строка | Обязательное поле | Идентификатор потока, к которому принадлежит сообщение. |
message_id |
строка | Обязательное поле | Идентификатор сообщения для изменения. |
Текст запроса
Параметр | Type | Обязательно | Описание |
---|---|---|---|
metadata |
map | Необязательно | Набор из 16 пар "ключ-значение", которые могут быть присоединены к объекту. Это может быть полезно для хранения дополнительных сведений об объекте в структурированном формате. Ключи могут содержать не более 64 символов, а значения могут содержать не более 512 символов. |
Возвраты
Измененный объект сообщения .
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
message = client.beta.threads.messages.update(
message_id="msg_abc12",
thread_id="thread_abc123",
metadata={
"modified": "true",
"user": "abc123",
},
)
print(message)
Удалить сообщение
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Удаляет сообщение.
Параметры пути
Параметр | Type | Обязательно | Описание |
---|---|---|---|
thread_id |
строка | Обязательное поле | Идентификатор потока, к которому принадлежит сообщение. |
message_id |
строка | Обязательное поле | Идентификатор сообщения для изменения. |
Возвраты
Состояние удаления объекта сообщения .
from openai import AzureOpenAI
client = AzureOpenAI(
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version="2024-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
deleted_message = client.beta.threads.messages.delete(
message_id="msg_abc12",
thread_id="thread_abc123",
)
print(deleted_message)
Объект "Message"
Представляет сообщение в потоке.
Имя. | Тип | Описание: |
---|---|---|
id |
строка | Идентификатор, на который можно ссылаться в конечных точках API. |
object |
строка | Тип объекта, который всегда является thread.message. |
created_at |
integer | Метка времени Unix (в секундах) для момента создания сообщения. |
thread_id |
строка | Идентификатор потока, к которому принадлежит это сообщение. |
role |
строка | Сущность, создающая сообщение. Возможные значения: user или assistant . |
content |
array | Содержимое сообщения в массиве текста и(или) изображений. |
assistant_id |
строка или null | Если применимо, идентификатор помощника, создающего это сообщение. |
run_id |
строка или null | Если применимо, идентификатор выполнения, связанный с автором этого сообщения. |
file_ids |
array | Список идентификаторов файлов, которые должен использовать помощник. Полезно для таких средств, как извлечение и code_interpreter, которые могут получить доступ к файлам. К сообщению может быть присоединено не более 10 файлов. |
metadata |
map | Набор из 16 пар "ключ-значение", которые могут быть присоединены к объекту. Это может быть полезно для хранения дополнительных сведений об объекте в структурированном формате. Ключи могут содержать не более 64 символов, а значения могут содержать не более 512 символов. |