OpenAI lance la version bêta de son SDK Python, offrant un accès amélioré à l’API OpenAI pour les développeurs Python

OpenAI lance la version bêta de son SDK Python, offrant un accès amélioré à l’API OpenAI pour les développeurs Python

OpenAI a dévoilé la version bêta de son SDK Python, marquant ainsi une étape importante dans l’amélioration de l’accès à l’API OpenAI pour les développeurs Python. La bibliothèque OpenAI Python offre un moyen simplifié pour les applications basées sur Python d’interagir avec l’API OpenAI, tout en offrant une opportunité de tests et de retours avant le lancement officiel de la version 1.0.

La bibliothèque OpenAI Python fournit un accès pratique à l’API OpenAI à partir d’applications écrites en langage Python. Elle comprend un ensemble prédéfini de classes pour les ressources API qui s’initialisent dynamiquement à partir des réponses API, ce qui la rend compatible avec un large éventail de versions de l’API OpenAI.

Vous trouverez des exemples d’utilisation de la bibliothèque OpenAI Python dans la API de référence et dans le Livre de recettes OpenAI.

Installation
Pour commencer, assurez-vous d’avoir Python 3.7.1 ou une version plus récente. Si vous souhaitez simplement utiliser le paquetage, exécutez : pip install –upgrade openai

Après avoir installé le paquetage, importez-le au début d’un fichier :

import openai

Pour installer ce paquetage à partir des sources afin d’y apporter des modifications, exécutez la commande suivante à partir de la racine du dépôt :

pip install -e .

Dépendances optionnelles
Installer les dépendances pour openai.embeddings_utils :

pip install openai[embeddings]

Installer le support pour Weights & Biases :

pip install openai[wandb]

Les bibliothèques de données comme numpy et pandas ne sont pas installées par défaut en raison de leur taille. Elles sont nécessaires pour certaines fonctionnalités de cette bibliothèque, mais généralement pas pour communiquer avec l’API. Si vous rencontrez une Erreur de dépendance manquante installez-les avec :

pip install openai[datalib]

Utilisation
La bibliothèque doit être configurée avec la clé secrète de votre compte, disponible sur le site web. Définissez-la comme variable d’environnement OPENAI_API_KEY avant d’utiliser la bibliothèque :

export OPENAI_API_KEY=’sk-…’

Vous pouvez également définir openai.api_key sa valeur :

openai.api_key = “sk-…”

Des exemples d’utilisation de cette bibliothèque pour accomplir diverses tâches peuvent être trouvés dans l’OpenAI Cookbook. Il contient des exemples de code pour : la classification en utilisant le réglage fin, le clustering, la recherche de code, la personnalisation des embeddings, la réponse aux questions à partir d’un corpus de documents, les recommandations, la visualisation des embeddings, et plus encore.

La plupart des points de terminaison prennent en charge un paramètre demande_timeout. Ce paramètre prend une syntaxe [float, Tuple[float, float]] et lèvera une erreur openai.error.Timeout si la requête dépasse ce temps en secondes (Voir : https://requests.readthedocs.io/en/latest/user/quickstart/#timeouts).

Complétions du chat
Les modèles de chat tels que gpt-3.5-turbo et gpt-4 peuvent être appelés à l’aide de l’endpoint “chat completions”.

completion = openai.ChatCompletion.create(model=”gpt-3.5-turbo”, messages=[{“role”: “user”, “content”: “Hello world”}])
print(completion.choices[0].message.content)

Complétions
Les modèles de texte tels que babage-002 ou da Vinci-002 (et les anciens modèles de complétions) peuvent être appelés à l’aide de l’endpoint des complétions.

completion = openai.Completion.create(model=”davinci-002″, prompt=”Hello world”)
print(completion.choices[0].text)

Incorporations
Les incorporations sont conçues pour mesurer la similarité ou la pertinence entre les chaînes de texte. Pour obtenir une incorporation pour une chaîne de texte, vous pouvez utiliser ce qui suit :

text_string = “sample text”
model_id = “text-embedding-ada-002″
embedding = openai.Embedding.create(input=text_string, model=model_id)[‘data’][0][’embedding’]

Réglage fin
Le réglage fin d’un modèle sur des données d’entraînement peut à la fois améliorer les résultats (en donnant au modèle plus d’exemples pour apprendre) et réduire le coût/la latence des appels d’API en réduisant la nécessité d’inclure des exemples d’entraînement dans les prompts.

# Create a fine-tuning job with an already uploaded file
openai.FineTuningJob.create(training_file=”file-abc123″, model=”gpt-3.5-turbo”)

# List 10 fine-tuning jobs
openai.FineTuningJob.list(limit=10)

# Retrieve the state of a fine-tune
openai.FineTuningJob.retrieve(“ft-abc123”)

# Cancel a job
openai.FineTuningJob.cancel(“ft-abc123″)

# List up to 10 events from a fine-tuning job
openai.FineTuningJob.list_events(id=”ft-abc123”, limit=10)

# Delete a fine-tuned model (must be an owner of the org the model was created in)
openai.Model.delete(“ft:gpt-3.5-turbo:acemeco:suffix:abc123″)

Pour enregistrer les résultats de l’entraînement à partir du réglage fin dans Pondérations et biais, utilisez :

Moderation
OpenAI fournit un endpoint de modération gratuit qui peut être utilisé pour vérifier si le contenu est conforme à la politique de contenu d’OpenAI.

moderation_resp = openai.Moderation.create(input=”Here is some perfectly innocuous text that follows all OpenAI content policies.”)

Génération d’images (DALL-E)
DALL-E est un modèle d’image génératif qui peut créer de nouvelles images sur la base d’une invite.

image_resp = openai.Image.create(prompt=”two dogs playing chess, oil painting”, n=4, size=”512×512″)

Audio (chuchotement)
L’API de conversion de la parole en texte fournit deux endpoints, les transcriptions et les traductions, basées sur le modèle Whisper large-v2 source ouverte.

f = open(“path/to/file.mp3”, “rb”)
transcript = openai.Audio.transcribe(“whisper-1”, f)
transcript = openai.Audio.translate(“whisper-1″, f)

API asynchrone
La prise en charge d’Async est disponible dans l’API en ajoutant une méthode liée au réseau :

async def create_chat_completion():
chat_completion_resp = await openai.ChatCompletion.acreate(model=”gpt-3.5-turbo”, messages=[{“role”: “user”, “content”: “Hello world”}])

Pour rendre les requêtes asynchrones plus efficaces, vous pouvez passer votre propre aiohttp.ClientSession mais vous devez fermer manuellement la session client à la fin de votre programme/boucle d’événements :

from aiohttp import ClientSession
openai.aiosession.set(ClientSession())

# At the end of your program, close the http session
await openai.aiosession.get().close()

Interface en ligne de commande
Cette bibliothèque fournit également un utilitaire de
#OpenAI #publie #version #bta #son #SDK #Python #offre #ainsi #accs #pratique #lAPI #OpenAI #partir #des #applications #crites #Python
publish_date] pt]

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.