Azure OpenAI gebruiken in Fabric met Python SDK en Synapse ML (preview)
Belangrijk
Deze functie is beschikbaar als preview-versie.
In dit artikel vindt u voorbeelden van het gebruik van Azure OpenAI in Fabric met behulp van de OpenAI Python SDK en het gebruik van SynapseML.
Vereisten
OpenAI Python SDK is niet geïnstalleerd in de standaardruntime. U moet deze eerst installeren.
%pip install openai==0.28.1
Chat
ChatGPT en GPT-4 zijn taalmodellen die zijn geoptimaliseerd voor gespreksinterfaces. Het voorbeeld dat hier wordt weergegeven, toont eenvoudige bewerkingen voor het voltooien van chats en is niet bedoeld als zelfstudie.
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}")
Uitvoer
assistant: Orange who?
We kunnen het antwoord ook streamen
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)
Uitvoer
assistant: Orange who?
Insluitingen
Een insluiting is een speciale indeling voor gegevensweergave die machine learning-modellen en -algoritmen eenvoudig kunnen gebruiken. Het bevat informatierijke semantische betekenis van een tekst, vertegenwoordigd door een vector van drijvendekommanummers. De afstand tussen twee insluitingen in de vectorruimte is gerelateerd aan de semantische gelijkenis tussen twee oorspronkelijke invoerwaarden. Als twee teksten bijvoorbeeld vergelijkbaar zijn, moeten hun vectorweergaven ook vergelijkbaar zijn.
In het voorbeeld dat hier wordt getoond, ziet u hoe u insluitingen kunt verkrijgen en niet is bedoeld als zelfstudie.
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)
Uitvoer
{
"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
}
}
Gerelateerde inhoud
- Vooraf samengestelde Text Analytics gebruiken in Fabric met REST API
- Vooraf samengestelde Text Analytics gebruiken in Fabric met SynapseML
- Vooraf samengestelde Azure AI Translator gebruiken in Fabric met REST API
- Vooraf samengestelde Azure AI Translator gebruiken in Fabric met SynapseML
- Vooraf samengestelde Azure OpenAI gebruiken in Fabric met REST API
- Vooraf samengestelde Azure OpenAI gebruiken in Fabric met SynapseML en Python SDK