Använda Azure OpenAI i Fabric med Python SDK och Synapse ML (förhandsversion)
Viktigt!
Den här funktionen är i förhandsversion.
Den här artikeln visar exempel på hur du använder Azure OpenAI i Fabric med OpenAI Python SDK och använder SynapseML.
Förutsättningar
OpenAI Python SDK är inte installerat i standardkörningen. Du måste först installera det.
%pip install openai==0.28.1
Chatt
ChatGPT och GPT-4 är språkmodeller som är optimerade för konversationsgränssnitt. Exemplet som presenteras här visar enkla chattåtgärder och är inte avsett att fungera som en självstudie.
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}")
Output
assistant: Orange who?
Vi kan också strömma svaret
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)
Output
assistant: Orange who?
Inbäddningar
En inbäddning är ett särskilt datarepresentationsformat som maskininlärningsmodeller och algoritmer enkelt kan använda. Den innehåller informationsrik semantisk betydelse för en text som representeras av en vektor med flyttalsnummer. Avståndet mellan två inbäddningar i vektorutrymmet är relaterat till den semantiska likheten mellan två ursprungliga indata. Om två texter till exempel är liknande bör deras vektorrepresentationer också vara liknande.
Exemplet som visas här visar hur du hämtar inbäddningar och inte är avsett som en självstudie.
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)
Output
{
"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
}
}
Relaterat innehåll
- Använda fördefinierade Textanalys i Infrastrukturresurser med REST API
- Använda fördefinierade Textanalys i Infrastrukturresurser med SynapseML
- Använda fördefinierade Azure AI Translator i Fabric med REST API
- Använda fördefinierade Azure AI Translator i Fabric med SynapseML
- Använda fördefinierade Azure OpenAI i Fabric med REST API
- Använda fördefinierade Azure OpenAI i Fabric med SynapseML och Python SDK