Del via


Brug Azure OpenAI i Fabric med Python SDK og Synapse ML (prøveversion)

Vigtigt

Denne funktion er en prøveversion.

I denne artikel kan du se, hvordan du bruger Azure OpenAI i Fabric med OpenAI Python SDK og SynapseML.

Forudsætninger

OpenAI Python SDK er ikke installeret i standardkørslen. Du skal først installere det.

%pip install openai==0.28.1

Chatte

Opret en ny celle i din Fabric-notesbog for at bruge denne kode, adskilt fra den celle, der blev beskrevet i forrige trin, for at installere openai-bibliotekerne. GPT-4o og GPT-4o-mini er sprogmodeller, der er optimeret til samtalegrænseflader. I det eksempel, der præsenteres her, vises enkle handlinger til fuldførelse af chat og er ikke beregnet til at fungere som et selvstudium.

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

Udgang

    assistant: Orange who?

Vi kan også streame 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)

Udgang

    assistant: Orange who?

Integreringer

Opret en ny celle i din Fabric-notesbog for at bruge denne kode, adskilt fra den celle, der blev beskrevet i forrige trin, for at installere openai-bibliotekerne. En integrering er et særligt datarepræsentationsformat, som modeller til maskinel indlæring og algoritmer nemt kan bruge. Den indeholder oplysningerrig semantisk betydning af en tekst, der repræsenteres af en vektor af flydende tal. Afstanden mellem to integreringer i vektorområdet er relateret til den semantiske lighed mellem to oprindelige input. Hvis to tekster f.eks. er ens, bør deres vektorrepræsentationer også være ens.

Det eksempel, der vises her, viser, hvordan du henter integreringer og ikke er beregnet som et selvstudium.

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)

Udgang

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