Dela via


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 hur du använder Azure OpenAI i Fabric, med OpenAI Python SDK och med 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

Skapa en ny cell i din Fabric-anteckningsbok för att använda den här koden, separat från cellen som beskrivs i föregående steg för att installera openai-biblioteken. GPT-4o och GPT-4o-mini ä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-4o', # deployment_id could be one of {gpt-4o or gpt-4o-mini}
    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}")

Utgång

    assistant: Orange who?

Vi kan också strömma svaret

response = openai.ChatCompletion.create(
    deployment_id='gpt-4o', # deployment_id could be one of {gpt-4o or gpt-4o-mini}
    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)

Utgång

    assistant: Orange who?

Inbäddningar

Skapa en ny cell i din Fabric-anteckningsbok för att använda den här koden, separat från cellen som beskrivs i föregående steg för att installera openai-biblioteken. 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)

Utgång

    {
      "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
      }
    }