Capture-removebg-preview (1)Capture-removebg-preview (1)Capture-removebg-preview (1)Capture-removebg-preview (1)
  • Accueil
  • Services
  • L ‘Equipe
  • Autres services
  • Contact
Blog
✕

Auteurs):Une chronologie des grands modèles de langage — Source de l’image :Obtenir une clé API OpenAI en 12 étapes — Source : Image de l’auteur

  1. N’oubliez pas de copier et de sauvegarder votre clé API. Vous ne pourrez pas voir les postfaces clés dans votre compte OpenAI
  2. Vous pouvez obtenir des crédits lors de votre première inscription. Si vous manquez de crédits, vous devrez définir la facturation et acheter davantage de crédits.

Initialisation du client OpenAI

Le client OpenAI sert d’interface pour interagir avec les services et les API d’OpenAI. Pour initialiser le client OpenAI, nous devons transmettre la clé API. Il existe de nombreuses façons de procéder. Pour ce faire, vous devrez importer les bibliothèques.

import openai #OpenAI python library
from openai import OpenAI #OpenAI Client

Option 1 : Créer un fichier .env pour stocker la clé API et l’utiliser (Recommandé)

Installez le dotenv bibliothèque

La bibliothèque dotenv est un outil populaire utilisé dans divers langages de programmation, notamment Python et Node.js, pour gérer les variables d’environnement dans les environnements de développement et de déploiement. Il permet aux développeurs de charger des variables d’environnement à partir d’un fichier .env dans l’environnement de leur application.

pip install python-dotenv

Créez ensuite un fichier nommé .env dans le répertoire racine de leur projet. Dans le fichier .env, définissez ensuite les variables d’environnement au format VARIABLE_NAME=value. par exemple OPENAI_API_KEY=VOTRE CLÉ API

from dotenv import load_dotenv
import os

load_dotenv()

openai_api_key=os.getenv(« OPENAI_API_KEY »)

 


La variable ‘openai_api_key’ stocke désormais votre clé API

Option 2 : coller la clé dans le code (non recommandé)

openai_api_key="<YOUR KEY HERE>"

Vous pouvez également visiter

Inférence LLM — Source : Image de l’auteur

Recommandation : Un excellent parcours »

Top p et température — Source : Image de l’auteur

Note : Il est recommandé de configurer l’un ou l’autre de « température » et « top_p », mais pas les deux.

  • fréquence_pénalité: Pénaliser les nouveaux jetons en fonction de leur fréquence existante dans le texte jusqu’à présent (Valeur entre -2 et 2)
  • présence_pénalité: Pénaliser les nouveaux jetons selon qu’ils apparaissent ou non dans le texte jusqu’à présent (Valeur entre -2 et 2)
  • enregistrer les problèmes: Indicateur pour renvoyer la probabilité du journal des jetons générés (Vrai faux)
  • logit_bias: Paramètre pour contrôler la présence de jetons particuliers dans la sortie (Valeur entre -100 et 100)
  • format_réponse: La réponse du modèle peut être demandée dans un format particulier (Actuellement : JSON et Texte)
  • graine: fonctionnalité bêta pour des sorties reproductibles (la définition d’une valeur de départ peut produire la même sortie à plusieurs reprises)
  • arrêt: Jetons de fin de séquence qui arrêteront la génération
  • flux: Pour recevoir des deltas de messages partiels (Vrai faux)
  • utilisateur: ID représentant l’utilisateur final (cela aide OpenAI à détecter les abus. Peut être obligatoire pour des limites de débit plus élevées)
  • outils: utilisé dans l’appel de fonction
  • choix_outil: utilisé dans l’appel de fonction

Créons une fonction pour effectuer les appels API.

def gpt_call(model:str= »gpt-3.5-turbo »,prompt:str= »Have \
I provided any input »,n:int=1,max_tokens:int=100,
temperature:float=0.5,presence_penalty:float=0):

response = client.chat.completions.create(
model=model,
messages=[
{« role »: « user », « content »: prompt}
],
max_tokens=max_tokens,
temperature=temperature,
presence_penalty=presence_penalty,
n=n
)

if len(response.choices)>1:
output= »
for i in range(0,len(response.choices)):
output+=’\n\n– n = ‘+str(i+1)+’ ——\n\n’+
str(response.choices[i].message.content)
else:
output=response.choices[0].message.content

return output

 


Tout d’abord, appelons la fonction avec n=2 et une température élevée

print(gpt_call(prompt="Write a title for a workshop on /
openai API",n=2,temperature=1))

Vous obtiendrez deux réponses car « n » est défini sur 2

— n = 1 ——

« Unlocking the Power of AI: A Deep Dive into OpenAI’s API »

— n = 2 ——

« Unlocking the Power of OpenAI: A Workshop on Leveraging the OpenAI
API for Innovation and Insight »

 


Maintenant, changeons la température à 0 (un résultat plus déterministe)

print(gpt_call(prompt="Write a title for a workshop /
on openai API",n=3,temperature=0))

Vous remarquerez que la réponse pour les trois options est la même.

— n = 1 ——

« Unlocking the Power of AI: A Deep Dive into OpenAI’s API »

— n = 2 ——

« Unlocking the Power of AI: A Deep Dive into OpenAI’s API »

— n = 3 ——

« Unlocking the Power of AI: A Deep Dive into OpenAI’s API »

 


C’est parce que le

Objet d’achèvement du chat — Source : Image de l’auteur

Réponses en continu

Parfois, lorsque le modèle est censé générer un texte volumineux comme un e-mail, une histoire ou un blog, etc., cela prend beaucoup de temps. Cela peut conduire à une mauvaise expérience utilisateur. Pour résoudre ce problème, l’API OpenAI offre la possibilité de renvoyer les réponses à un client afin d’autoriser des résultats partiels pour certaines requêtes. Cela se fait en définissant le paramètre « stream » sur True.

response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant knowledgeable in the field of Cricket."},
{"role": "user", "content": "When did Australia win their first Cricket World Cup?"},
{"role": "assistant", "content": "Australia won their first Cricket World Cup in the year 1987. They defeated England in the final to clinch their maiden title in the tournament."},
{"role": "user", "content": "How much did they score?"}
],
stream=True ###Streaming is set to true here.
)

La réponse est reçue sous forme de morceaux qui peuvent être imprimés au fur et à mesure de leur arrivée.

for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")

Format de réponse JSON

Parfois, les réponses sont nécessaires dans un format défini pour que nous puissions en extraire les sections pertinentes. JSON devient un format très pratique et les LLM ont la possibilité de renvoyer du texte au format JSON. Dans les versions précédentes de la série de modèles GPT, parfois le JSON renvoyé n’était pas valide. Par conséquent, OpenAI a récemment publié cette fonctionnalité. Pour en bénéficier, le «format_réponse » Le paramètre est utilisé.

prompt="generate the entire text for a blog 
on a cricket match. \"Title\" is a catchy and attractive 
title of the blog. The \"Heading\" is the heading for each point 
in the blog and the \"Body\" is the text for that heading.Output 
in a json structure"

response = client.chat.completions.create(
model= »gpt-3.5-turbo »,
messages=[
{« role »: « user », « content »: prompt}
],
response_format={ « type »: « json_object » }
)

print((response.choices[0].message.content))

 


La réponse peut désormais être attendue dans un format JSON valide.

{
"Title": "Thrilling Victory: A Nail-biting Finish in the Cricket Match",
"Heading": [
{
"Heading": "Introduction",
"Body": "The cricket match between Team A and Team B had fans on the edge of their seats as both teams fought tooth and nail for victory. The match was filled with twists and turns, keeping the spectators entertained till the last ball."
},
{
"Heading": "Team A's Dominant Start",
"Body": "Team A got off to a flying start with their opening batsmen scoring quick runs and building a solid foundation for the team. Their middle-order batsmen continued the momentum, and Team A set a formidable total for Team B to chase."
},
{
"Heading": "Team B's Counterattack",
"Body": "Despite the daunting target set by Team A, Team B's batsmen showed great determination and skill as they went about their chase. They played aggressive cricket, hitting boundaries and rotating the strike to keep the scoreboard ticking."
},
{
"Heading": "The Rollercoaster Middle Overs",
"Body": "The middle overs of the match were filled with drama as both teams fought fiercely for control. Team A's bowlers made crucial breakthroughs, but Team B's batsmen didn't back down, staging counterattacks and keeping the match finely balanced."
},
{
"Heading": "The Final Overs Drama",
"Body": "As the match entered its final overs, the tension was palpable in the air. Team B needed a few runs to win, but Team A's bowlers didn't make it easy for them. It all came down to the last ball, with the match hanging in the balance."
},
{
"Heading": "The Last Ball Finish",
"Body": "In a nail-biting finish, Team B managed to score the required runs off the last ball, clinching a thrilling victory against Team A. The players and fans erupted in joy as Team B celebrated their hard-fought win."
},
{
"Heading": "Conclusion",
"Body": "The cricket match between Team A and Team B was a test of skill, determination, and nerve. Both teams showcased their fighting spirit and never-say-die attitude, making it a memorable match for everyone involved."
}
]
}

Cela devient très pratique lors de la création d’applications. Il y a quelques points à noter ici –

  • Il s’agit encore d’une fonctionnalité bêta.
  • Pour utiliser le mode JSON, l’instruction destinée au modèle pour produire du JSON doit être présente dans l’invite/le message, sinon une erreur se produit.

Jetons

Avant de conclure, un mot sur les jetons s’impose. Les jetons sont les unités fondamentales de

Salut! Je m’appelle Abhinav !

J’écris sur l’#IA #MachineLearning #DataScience #GenerativeAI #Analytics #LLMs #Technology #RAG.

Si cet espace vous intéresse, veuillez lire mes e-books.

Génération augmentée de récupération – Une introduction simple

Comment créer un ChatGPT ou un Bard pour vos propres donnéesU+2753 La réponse est de créer une organisation « cerveau de la connaissance » et d’utiliser…

abhinavkimothi.gumroad.com

Terminologie de l’IA générative – Une taxonomie évolutive pour vous aider à démarrer avec Generative Artificial…

Dans le domaine de l’IA générative, les nouveaux arrivants peuvent se sentir intimidés par la terminologie technique. Pour atténuer cela…

abhinavkimothi.gumroad.com

IA générative avec de grands modèles de langage (notes de cours Coursera)

IA générative avec grands modèles de langageL’arrivée de l’architecture des transformateurs en 2017, suite à la publication…

abhinavkimothi.gumroad.com

Connectons-nous sur LinkedIn ->

Publié via Vers l’IA

 

Share
0

Autres articles

16 décembre 2024

L’émergence des robots conversationnels


En savoir plus
24 juin 2024

5 astuces pour utiliser Chat GPT gratuitement


En savoir plus
27 mai 2024

Fiche de Vérification Extincteur


En savoir plus

Comments are closed.

Entreprise d’intelligence artificielle Paris

ia pme

Meilleur planning ia

 

https://cdlacom.eu/2025/01/09/video-pour-reseaux-sociaux/

© 2025 CDLACOM. Mentions legales
    Blog
      Gérer le consentement aux cookies
      Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
      Fonctionnel Toujours activé
      Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
      Préférences
      Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’utilisateur.
      Statistiques
      Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
      Marketing
      Le stockage ou l’accès technique est nécessaire pour créer des profils d’utilisateurs afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
      Gérer les options Gérer les services Gérer {vendor_count} fournisseurs En savoir plus sur ces finalités
      Voir les préférences
      {title} {title} {title}