Informations de référence sur les messages de l’API Assistants (préversion)
Remarque
- La 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 vectoriel, il est automatiquement analysé, découpé en morceaux et incorporé, prêt à être recherché. Les magasins vectoriels 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-08-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 . user 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. |
attachments |
tableau | Facultatif | Une liste des fichiers attachés au message et des outils auxquels ils doivent être ajoutés. |
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-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)
Lister les messages
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages?api-version=2024-08-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. |
run_id |
string | Optionanl | Filtrez les messages par l’ID d’exécution qui les a générés. |
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-08-01-preview",
azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
)
thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)
Récupérer un message
GET https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-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)
Modifier un message
POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-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 |
---|---|---|---|
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 modifié.
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)
Supprimer le message
DELETE https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/{thread_id}/messages/{message_id}?api-version=2024-08-01-preview
Supprime 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. |
Retours
État de suppression de l’objet de message.
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)
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. Un de 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. |