Referência de mensagens da API de Assistentes (Versão prévia)
Observação
- A pesquisa de arquivos pode ingerir até 10.000 arquivos por assistente – 500 vezes mais do que antes. Ela é rápida, dá suporte a consultas paralelas por meio de pesquisas com vários threads e recursos aprimorados de reclassificação e reescrita de consulta.
- O repositório de vetores é um novo objeto na API. Depois que um arquivo é adicionado a um repositório de vetores, ele é analisado automaticamente, em partes e inserido, pronto para ser pesquisado. Os repositórios de vetores podem ser usados entre assistentes e threads, simplificando o gerenciamento de arquivos e a cobrança.
- Adicionamos suporte para o parâmetro
tool_choice
que pode ser usado para forçar o uso de uma ferramenta específica (como pesquisa de arquivo, interpretador de código ou uma função) em uma execução específica.
Este artigo fornece documentação de referência para Python e REST para a nova API de Assistentes (Versão prévia). Diretrizes passo a passo mais detalhadas são fornecidas no guia de introdução.
Criar mensagem
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Crie uma mensagem.
Parâmetro de caminho
Parâmetro | Type | Obrigatória | Descrição |
---|---|---|---|
thread_id |
string | Obrigatório | A ID do thread para o qual criar uma mensagem. |
Corpo da solicitação
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
role |
string | Obrigatório | A função da entidade que está criando a mensagem. Pode ser user ou assistant . user indica que a mensagem foi enviada por um usuário real e, geralmente, deve ser usada para representar mensagens geradas por usuários. assistant indica que a mensagem foi gerada pelo assistente. Use esse valor para inserir mensagens do assistente na conversa. |
content |
string | Obrigatório | O conteúdo da mensagem. |
attachments |
matriz | Opcional | Uma lista de arquivos anexados à mensagem e as ferramentas às quais devem ser adicionados. |
metadata |
map | Opcional | Conjunto de 16 pares chave-valor que podem ser anexados a um objeto. Isso pode ser útil para armazenar informações adicionais sobre o objeto em um formato estruturado. As chaves podem ter no máximo 64 caracteres e os valores podem ter no máximo 512 caracteres. |
Retornos
Um objeto de mensagem.
Exemplo de solicitação de criação de mensagem
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)
Listar mensagens
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-01-preview
Retorna uma lista de mensagens para um determinado thread.
Parâmetros de caminho
Parâmetro | Type | Obrigatória | Descrição |
---|---|---|---|
thread_id |
string | Obrigatório | A ID do thread ao qual as mensagens pertencem. |
Parâmetros de consulta
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
limit |
Número inteiro | Opcional – Os padrões para 20 | Um limite no número de objetos a serem retornados. "Limit" pode variar entre 1 e 100 e o padrão é 20. |
order |
string | Opcional – Os padrões para desc | Ordem de classificação pelo carimbo de data/hora de created_at dos objetos. "asc" para ordem crescente e "desc" para ordem decrescente. |
after |
string | Opcional | Um cursor para uso na paginação. "after" é uma ID de objeto que define seu lugar na lista. Por exemplo, caso faça uma solicitação de lista e receba 100 objetos, terminando com obj_foo, sua chamada subsequente poderá incluir after=obj_foo, para buscar a próxima página da lista. |
run_id |
string | Opcional | Filtre mensagens pela ID de execução que as gerou. |
before |
string | Opcional | Um cursor para uso na paginação. "before" é uma ID de objeto que define seu lugar na lista. Por exemplo, caso faça uma solicitação de lista e receba 100 objetos, terminando com obj_foo, sua chamada subsequente poderá incluir before=obj_foo, para buscar a página anterior da lista. |
Retornos
Uma lista de objetos de mensagem.
Exemplo de solicitação de mensagens de lista
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)
Recuperar mensagem
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Recupera um arquivo de mensagem.
Parâmetros de caminho
Parâmetro | Type | Obrigatória | Descrição |
---|---|---|---|
thread_id |
string | Obrigatório | A ID do thread à qual a mensagem pertence. |
message_id |
string | Obrigatório | A ID da mensagem a ser recuperada. |
Retornos
O objeto de mensagem que corresponde à ID especificada.
Exemplo de solicitação de recuperação de mensagem
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)
Modificar mensagem
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Modifica uma mensagem.
Parâmetros de caminho
Parâmetro | Type | Obrigatória | Descrição |
---|---|---|---|
thread_id |
string | Obrigatório | A ID do thread à qual a mensagem pertence. |
message_id |
string | Obrigatório | A ID da mensagem a ser modificada. |
Corpo da solicitação
Parâmetro | Type | Obrigatória | Descrição |
---|---|---|---|
metadata |
map | Opcional | Conjunto de 16 pares chave-valor que podem ser anexados a um objeto. Isso pode ser útil para armazenar informações adicionais sobre o objeto em um formato estruturado. As chaves podem ter no máximo 64 caracteres e os valores podem ter no máximo 512 caracteres. |
Retornos
O objeto de mensagem modificado.
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)
Excluir mensagem
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Exclui uma mensagem.
Parâmetros de caminho
Parâmetro | Type | Obrigatória | Descrição |
---|---|---|---|
thread_id |
string | Obrigatório | A ID do thread à qual a mensagem pertence. |
message_id |
string | Obrigatório | A ID da mensagem a ser modificada. |
Devoluções
O status de exclusão do objeto de mensagem.
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)
Objeto Message
Representa uma mensagem dentro de um thread.
Nome | Tipo | Descrição |
---|---|---|
id |
string | O identificador, que pode ser referenciado em pontos de extremidade de API. |
object |
string | O tipo de objeto, que é sempre thread.message. |
created_at |
Número inteiro | O carimbo de data/hora do Unix (em segundos), para quando a mensagem foi criada. |
thread_id |
string | A ID do thread à qual essa mensagem pertence. |
role |
string | A entidade que produziu a mensagem. Uma opção entre user ou assistant . |
content |
matriz | O conteúdo da mensagem na matriz de texto e/ou imagens. |
assistant_id |
cadeia de caracteres ou nulo | Se aplicável, a ID do assistente que criou esta mensagem. |
run_id |
cadeia de caracteres ou nulo | Se aplicável, a ID da execução associada à criação dessa mensagem. |
file_ids |
matriz | Uma lista de IDs de arquivo que o assistente deve usar. Útil para ferramentas como recuperação e code_interpreter que podem acessar arquivos. No máximo 10 arquivos podem ser anexados a uma mensagem. |
metadata |
map | Conjunto de 16 pares chave-valor que podem ser anexados a um objeto. Isso pode ser útil para armazenar informações adicionais sobre o objeto em um formato estruturado. As chaves podem ter no máximo 64 caracteres e os valores podem ter no máximo 512 caracteres. |