Delen via


Azure OpenAI gebruiken in Fabric met Python SDK en Synapse ML (preview)

Belangrijk

Deze functie is beschikbaar als preview-versie.

In dit artikel wordt beschreven hoe u Azure OpenAI gebruikt in Fabric, met openAI Python SDK en synapseML.

Vereisten

OpenAI Python SDK is niet geïnstalleerd in de standaardruntime. U moet deze eerst installeren.

%pip install openai==0.28.1

Babbelen

Maak een nieuwe cel in uw Fabric-notebook om deze code te gebruiken, gescheiden van de cel die in de vorige stap is beschreven om de openai-bibliotheken te installeren. GPT-4o en GPT-4o-mini 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-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}")

Uitvoer

    assistant: Orange who?

We kunnen het antwoord ook streamen

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)

Uitvoer

    assistant: Orange who?

Insluitingen

Maak een nieuwe cel in uw Fabric-notebook om deze code te gebruiken, gescheiden van de cel die in de vorige stap is beschreven om de openai-bibliotheken te installeren. 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
      }
    }