Utiliser Azure OpenAI dans Fabric avec le Kit de développement logiciel (SDK) Python et Synapse ML (préversion)
Important
Cette fonctionnalité est en préversion.
Cet article montre des exemples d’utilisation d’Azure OpenAI dans Fabric à l’aide du Kit de développement logiciel (SDK) Python OpenAI et d’utilisation de SynapseML.
Prérequis
Le Kit de développement logiciel (SDK) Python OpenAI n’est pas installé dans le runtime par défaut, vous devez d’abord l’installer.
%pip install openai==0.28.1
Conversation instantanée
ChatGPT et GPT-4 sont des modèles de langage optimisés pour les interfaces conversationnelles. L’exemple montré ici présente des opérations de saisie semi-automatique de conversation simples et n’est pas destiné à servir de tutoriel.
import openai
response = openai.ChatCompletion.create(
deployment_id='gpt-35-turbo-0125', # deployment_id could be one of {gpt-35-turbo-0125 or gpt-4-32k}
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Knock knock."},
{"role": "assistant", "content": "Who's there?"},
{"role": "user", "content": "Orange."},
],
temperature=0,
)
print(f"{response.choices[0].message.role}: {response.choices[0].message.content}")
Sortie
assistant: Orange who?
Nous pouvons aussi diffuser en continu la réponse
response = openai.ChatCompletion.create(
deployment_id='gpt-35-turbo-0125', # deployment_id could be one of {gpt-35-turbo-0125 or gpt-4-32k}
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Knock knock."},
{"role": "assistant", "content": "Who's there?"},
{"role": "user", "content": "Orange."},
],
temperature=0,
stream=True
)
for chunk in response:
delta = chunk.choices[0].delta
if "role" in delta.keys():
print(delta.role + ": ", end="", flush=True)
if "content" in delta.keys():
print(delta.content, end="", flush=True)
Sortie
assistant: Orange who?
Incorporations
Une incorporation est un format spécial de représentation des données que les modèles et les algorithmes Machine Learning peuvent facilement utiliser. Il contient une signification sémantique d’un texte riche en informations, représenté par un vecteur de nombres à virgule flottante. La distance entre deux incorporations dans l’espace vectoriel est liée à la similarité sémantique entre deux entrées d’origine. Par exemple, si deux textes sont similaires, leurs représentations vectorielles doivent également l’être.
L’exemple montré ici présente la manière d’obtenir des incorporations et n’est pas destiné à servir de tutoriel.
deployment_id = "text-embedding-ada-002" # set deployment_name as text-embedding-ada-002
embeddings = openai.Embedding.create(deployment_id=deployment_id,
input="The food was delicious and the waiter...")
print(embeddings)
Sortie
{
"object": "list",
"data": [
{
"object": "embedding",
"index": 0,
"embedding": [
0.002306425478309393,
-0.009327292442321777,
0.015797346830368042,
...
0.014552861452102661,
0.010463837534189224,
-0.015327490866184235,
-0.01937841810286045,
-0.0028842221945524216
]
}
],
"model": "ada",
"usage": {
"prompt_tokens": 8,
"total_tokens": 8
}
}
Contenu connexe
- Utiliser l’Analyse de texte prédéfinie dans Fabric avec l’API REST
- Utiliser l’Analyse de texte prédéfinie dans Fabric avec SynapseML
- Utiliser Azure AI Traducteur prédéfini dans Fabric avec l’API REST
- Utiliser Azure AI Traducteur prédéfini dans Fabric avec SynapseML
- Utiliser Azure OpenAI prédéfini dans Fabric avec l’API REST
- Utiliser Azure OpenAI prédéfini dans Fabric avec SynapseML et le Kit de développement logiciel (SDK) Python