Référence des fils de discussion de l'API Assistants (aperçu)

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 thread

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads?api-version=2024-08-01-preview

Créez un fil de discussion.

Corps de la demande

Nom Type Requise Description
messages tableau Facultatif Une liste de messages avec lesquels démarrer le fil de discussion.
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.
tool_resources object Facultatif Un ensemble de ressources mises à la disposition des outils de l’Assistant dans ce thread. Les ressources sont spécifiques au type d’outil. Par exemple, l’outil code_interpreter nécessite une liste d’ID de fichiers, tandis que l’outil file_search nécessite une liste d’ID de magasins de vecteurs.

Propriétés tool_resources

code_interpreter

Nom Type Description Default
file_ids tableau Une liste d’ID de fichiers mis à la disposition de l’outil code_interpreter. Il peut y avoir un maximum de 20 fichiers associés à l’outil. []

file_search

Nom Type Description Default
vector_store_ids tableau Le magasin de vecteurs attaché à ce thread. Il peut y avoir un maximum d’un magasin de vecteurs attaché au thread. []
vector_stores tableau Un Assistant pour créer un magasin de vecteurs avec file_ids et l’attacher à ce thread. Il peut y avoir un maximum d’un magasin de vecteurs attaché au thread. []

Retours

Un objet fil.

Exemple : créer une requête de thread

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

empty_thread = client.beta.threads.create()
print(empty_thread)

Récupérer le thread

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

Récupère un thread.

Paramètres de chemin d’accès

Paramètre Type Requise Description
thread_id string Requis ID du thread à récupérer

Retours

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

Exemple : récupérer une requête de thread

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

my_thread = client.beta.threads.retrieve("thread_abc123")
print(my_thread)

Modifier le thread

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

Modifie un thread.

Paramètres de chemin d’accès

Paramètre Type Requise Description
thread_id string Requis ID du thread à modifier.

Corps de la demande

Nom 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.
tool_resources object Facultatif Un ensemble de ressources mises à la disposition des outils de l’Assistant dans ce thread. Les ressources sont spécifiques au type d’outil. Par exemple, l’outil code_interpreter nécessite une liste d’ID de fichiers, tandis que l’outil file_search nécessite une liste d’ID de magasins de vecteurs.

Retours

L'objet thread modifié correspondant à l'ID spécifié.

Exemple : modifier une requête de thread

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

my_updated_thread = client.beta.threads.update(
  "thread_abc123",
  metadata={
    "modified": "true",
    "user": "abc123"
  }
)
print(my_updated_thread)

Supprimer un thread

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

Supprimez un thread.

Paramètres de chemin d’accès

Paramètre Type Requise Description
thread_id string Requis ID du thread à supprimer.

Retours

État de suppression.

Exemple : supprimer une requête de thread

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

response = client.beta.threads.delete("thread_abc123")
print(response)

Objet Thread

Champ 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 un thread.
created_at entier L'horodatage Unix (en secondes) de la création du thread.
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.