Partager via


Informations de référence sur les messages de l’API Assistants (préversion)

Remarque

  • Recherche de fichiers peut ingérer jusqu’à 10 000 fichiers par assistant, soit 500 fois plus qu’auparavant. Elle est rapide, prend en charge les requêtes parallèles par le biais de recherches multithread, et propose des fonctionnalités améliorées de reclassement et de réécriture des requêtes.
    • Le magasin de vecteurs est un nouvel objet dans l’API. Une fois qu’un fichier est ajouté à un magasin de vecteurs, il est automatiquement analysé, segmenté et incorporé, prêt à être recherché. Les magasins de vecteurs peuvent être utilisés par tous les assistants et threads, ce qui simplifie la gestion des fichiers et la facturation.
  • Nous avons ajouté la prise en charge du paramètre tool_choice qui peut être utilisé pour forcer l’utilisation d’un outil spécifique (comme la recherche de fichiers, un interpréteur de code ou une fonction) dans une exécution particulière.

Cet article fournit une documentation de référence pour Python et REST pour la nouvelle API Assistants (préversion). Des conseils plus détaillés, étape par étape, sont fournis dans le guide de démarrage.

Créer un message

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-05-01-preview

Créer un message.

Paramètre de chemin

Paramètre Type Requise Description
thread_id string Requis ID du thread pour lequel créer un message.

Corps de la demande

Nom Type Requise Description
role string Requis Rôle de l’entité qui crée le message. Peut être user ou assistant. assistant indique l’envoi du message par un utilisateur réel et vous devez l’utiliser dans la plupart des cas pour représenter des messages générés par l’utilisateur. assistant indique la génération du message par l’assistant. Utilisez cette valeur pour insérer des messages de l’assistant dans la conversation.
content string Requis Contenu du message.
file_ids tableau Facultatif Liste d’ID de fichiers que le message doit utiliser. Il peut y avoir un maximum de 10 fichiers attachés à un message. Utile pour des outils tels que la récupération et code_interpreter qui peuvent accéder aux fichiers et les utiliser.
metadata map Facultatif Ensemble de 16 paires clé-valeur pouvant être attachées à un objet. Cela peut être utile pour stocker des informations supplémentaires sur l'objet dans un format structuré. Les clés peuvent contenir au maximum 64 caractères et les valeurs peuvent contenir au maximum 512 caractères.

Retours

Objet message.

Exemple de requête de création de message

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")
    )

thread_message = client.beta.threads.messages.create(
  "thread_abc123",
  role="user",
  content="How does AI work? Explain it in simple terms.",
)
print(thread_message)

Lister les messages

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-05-01-preview

Retourne une liste de messages pour un thread donné.

Paramètres de chemin d’accès

Paramètre Type Requise Description
thread_id string Requis ID du thread auquel les messages appartiennent.

Paramètres de requête

Nom Type Requise Description
limit entier Facultatif – La valeur par défaut est 20 Limite du nombre d’objets à retourner. La limite peut être comprise entre 1 et 100, et la valeur par défaut est 20.
order string Facultatif – La valeur par défaut est « desc » Trier les objets en fonction du timestamp created_at. « asc » pour l’ordre croissant et « desc » pour l’ordre décroissant.
after string Facultatif Curseur à utiliser dans la pagination. « after » est un ID d’objet qui définit votre place dans la liste. Par exemple, si vous faites une requête de liste et que vous recevez 100 objets qui se terminent par obj_foo, votre appel suivant peut inclure after=obj_foo afin d’extraire la page suivante de la liste.
before string Facultatif Curseur à utiliser dans la pagination. « before » est un identifiant d’objet qui définit votre place dans la liste. Par exemple, si vous faites une requête de liste et que vous recevez 100 objets qui se terminent par obj_foo, votre appel suivant peut inclure before=obj_foo afin d’extraire la page précédente de la liste.

Retours

Liste d’objets message.

Exemple de requête de liste de messages

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")
    )

thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)

Lister les fichiers de messages

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}/files?api-version=2024-05-01-preview

Retourne une liste de fichiers de messages.

Paramètre Type Requise Description
thread_id string Requis ID du thread auquel appartiennent le message et les fichiers.
message_id string Requis ID du message auquel les fichiers appartiennent.

Paramètres de requête

Nom Type Requise Description
limit entier Facultatif – La valeur par défaut est 20 Limite du nombre d’objets à retourner. La limite peut être comprise entre 1 et 100, et la valeur par défaut est 20.
order string Facultatif – La valeur par défaut est « desc » Trier les objets en fonction du timestamp created_at. « asc » pour l’ordre croissant et « desc » pour l’ordre décroissant.
after string Facultatif Curseur à utiliser dans la pagination. « after » est un ID d’objet qui définit votre place dans la liste. Par exemple, si vous faites une requête de liste et que vous recevez 100 objets qui se terminent par obj_foo, votre appel suivant peut inclure after=obj_foo afin d’extraire la page suivante de la liste.
before string Facultatif Curseur à utiliser dans la pagination. « before » est un identifiant d’objet qui définit votre place dans la liste. Par exemple, si vous faites une requête de liste et que vous recevez 100 objets qui se terminent par obj_foo, votre appel suivant peut inclure before=obj_foo afin d’extraire la page précédente de la liste.

Retours

Liste d’objets fichier de messages

Exemple de requête de liste de fichiers de messages

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_files = client.beta.threads.messages.files.list(
  thread_id="thread_abc123",
  message_id="msg_abc123"
)
print(message_files)

Récupérer un message

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview

Récupère un fichier de message.

Paramètres de chemin d’accès

Paramètre Type Requise Description
thread_id string Requis ID du thread auquel le message appartient.
message_id string Requis ID du message à récupérer.

Retours

Objet message correspondant à l’ID spécifié.

Exemple de requête de récupération de message

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)

Récupérer un fichier de message

GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}/files/{file_id}?api-version=2024-05-01-preview

Récupère un fichier de message.

Paramètres de chemin d’accès

Paramètre Type Requise Description
thread_id string Requis ID du thread auquel appartiennent le message et le fichier.
message_id string Requis ID du message auquel appartient le fichier.
file_id string Requis ID du fichier récupéré.

Renvoie

Objet fichier de message.

Exemple de requête de récupération de fichier de message

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_files = client.beta.threads.messages.files.retrieve(
    thread_id="thread_abc123",
    message_id="msg_abc123",
    file_id="assistant-abc123"
)
print(message_files)

Modifier un message

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-05-01-preview

Modifie un message.

Paramètres de chemin d’accès

Paramètre Type Requise Description
thread_id string Requis ID du thread auquel appartient le message.
message_id string Requis ID du message à modifier.

Corps de la demande

Paramètre Type Requise Description
métadonnées map Facultatif Ensemble de 16 paires clé-valeur pouvant être attachées à un objet. Cela peut être utile pour stocker des informations supplémentaires sur l'objet dans un format structuré. Les clés peuvent contenir au maximum 64 caractères et les valeurs peuvent contenir au maximum 512 caractères.

Retours

Objet message modifié.

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.update(
  message_id="msg_abc12",
  thread_id="thread_abc123",
  metadata={
    "modified": "true",
    "user": "abc123",
  },
)
print(message)

Objet Message

Représente un message dans un thread.

Nom Type Description
id string Identificateur, qui peut être référencé dans les points de terminaison d’API.
object string Type d’objet, qui est toujours thread.message.
created_at entier Horodatage Unix (en secondes) de création du message.
thread_id string ID de thread auquel ce message appartient.
role string Entité ayant produit le message. user ou assistant.
content tableau Contenu du message dans le tableau de texte et/ou d’images.
assistant_id chaîne ou null Le cas échéant, ID de l’assistant qui a créé ce message.
run_id chaîne ou null Le cas échéant, ID de l’exécution associée à la création de ce message.
file_ids tableau Liste d’ID de fichiers que l’Assistant doit utiliser. Utile pour des outils tels que la récupération et code_interpreter qui peuvent accéder aux fichiers. Un maximum de 10 fichiers peuvent être attachés à un message.
metadata map Ensemble de 16 paires clé-valeur pouvant être attachées à un objet. Cela peut être utile pour stocker des informations supplémentaires sur l'objet dans un format structuré. Les clés peuvent contenir au maximum 64 caractères, et les valeurs peuvent contenir au maximum 512 caractères.

Objet fichier de message

Liste de fichiers attachés à un message.

Nom Type Description
id string Identificateur, qui peut être référencé dans les points de terminaison d’API.
object string Le type d’objet, qui est toujours thread.message.file.
created_at entier Horodatage Unix (en secondes) de création du fichier de message.
message_id string ID du message auquel le fichier est attaché.