Partilhar via


Referência de mensagens da API de assistentes (Pré-visualização)

Nota

  • A pesquisa de arquivos pode ingerir até 10.000 arquivos por assistente - 500 vezes mais do que antes. É rápida, suporta consultas paralelas através de pesquisas multi-thread e apresenta reclassificação e reescrita de consultas melhoradas.
    • O arquivo de vetores é um novo objeto da API. Depois de um ficheiro ser adicionado a um arquivo de vetores, é automaticamente analisado, fragmentado e incorporado, ficando pronto para ser pesquisado. Os arquivos de vetores podem ser utilizados entre assistentes e threads, o que simplifica a gestão de ficheiros e a faturação.
  • Adicionamos suporte para o tool_choice parâmetro que pode ser usado para forçar o uso de uma ferramenta específica (como pesquisa de arquivos, 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 (Preview). Orientações 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

Criar uma mensagem.

Parâmetro Path

Parâmetro Type Obrigatório Description
thread_id string Obrigatório A ID do thread para o qual criar uma mensagem.

Corpo do pedido

Nome Type Obrigatório Description
role string Obrigatório A função da entidade que está criando a mensagem. Pode ser user ou assistant. user indica que a mensagem é enviada por um usuário real e deve ser usada na maioria dos casos para representar mensagens geradas pelo usuário. assistant indica que a mensagem é 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 eles 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 teclas podem ter no máximo 64 caracteres e os valores podem ter, no máximo, 512 caracteres.

Devoluções

Um objeto de mensagem .

Exemplo de criação de solicitaçã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ório Description
thread_id string Obrigatório A ID do thread ao qual as mensagens pertencem.

Parâmetros de Consulta

Nome Type Obrigatório Description
limit integer Opcional - Padrão para 20 Um limite no número de objetos a serem retornados. O limite pode variar entre 1 e 100, e o padrão é 20.
order string Opcional - Padrões para desc Ordem de classificação pelo carimbo de data/hora created_at dos objetos. asc para ordem crescente e desc para ordem decrescente.
after string Opcional Um cursor para uso na paginação. after é um ID de objeto que define o seu lugar na lista. Por exemplo, se você fizer uma solicitação de lista e receber 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 Optionanl Filtre as mensagens pelo ID de execução que as gerou.
before string Opcional Um cursor para uso na paginação. antes é um ID de objeto que define seu lugar na lista. Por exemplo, se você fizer uma solicitação de lista e receber 100 objetos, terminando com obj_foo, sua chamada subsequente poderá incluir before=obj_foo para buscar a página anterior da lista.

Devoluções

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ório Description
thread_id string Obrigatório A ID do thread ao qual a mensagem pertence.
message_id string Obrigatório O ID da mensagem a ser recuperada.

Devoluções

O objeto de mensagem que corresponde à ID especificada.

Exemplo de solicitação de mensagem de recuperação

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ório Description
thread_id string Obrigatório A ID do thread ao qual a mensagem pertence.
message_id string Obrigatório O ID da mensagem a ser modificada.

Corpo do pedido

Parâmetro Type Obrigatório Description
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 teclas podem ter no máximo 64 caracteres e os valores podem ter, no máximo, 512 caracteres.

Devoluções

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)

Eliminar 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ório Description
thread_id string Obrigatório A ID do thread ao qual a mensagem pertence.
message_id string Obrigatório O 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 de mensagem

Representa uma mensagem dentro de um thread.

Nome Tipo Description
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 integer O carimbo de data/hora do Unix (em segundos) para quando a mensagem foi criada.
thread_id string O ID do thread ao qual esta mensagem pertence.
role string A entidade que produziu a mensagem. Um de user ou assistant.
content matriz O conteúdo da mensagem em matriz de texto e/ou imagens.
assistant_id string ou null Se aplicável, o ID do assistente autor desta mensagem.
run_id string ou null Se aplicável, a ID da execução associada à criação desta 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. Um máximo de 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 teclas podem ter no máximo 64 caracteres e os valores podem ter, no máximo, 512 caracteres.