Udostępnij za pośrednictwem


Używanie usługi Azure OpenAI w usłudze Fabric z zestawem PYTHON SDK i usługą Synapse ML (wersja zapoznawcza)

Ważne

Ta funkcja jest dostępna w wersji zapoznawczej.

W tym artykule przedstawiono przykłady używania usługi Azure OpenAI w usłudze Fabric przy użyciu zestawu SDK języka Python openAI i używania języka SynapseML.

Wymagania wstępne

Zestaw OPENAI Python SDK nie jest zainstalowany w domyślnym środowisku uruchomieniowym. Należy go najpierw zainstalować.

%pip install openai==0.28.1

Czat

ChatGPT i GPT-4 to modele językowe zoptymalizowane pod kątem interfejsów konwersacyjnych. Przedstawiony tutaj przykład przedstawia proste operacje uzupełniania czatu i nie jest przeznaczony do służyć jako samouczek.

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

Wyjście

    assistant: Orange who?

Możemy również przesłać strumieniowo odpowiedź

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)

Wyjście

    assistant: Orange who?

Osadzanie

Osadzanie to specjalny format reprezentacji danych, z którego mogą łatwo korzystać modele i algorytmy uczenia maszynowego. Zawiera on semantycznie sformatowane informacje znaczenie tekstu reprezentowane przez wektor liczb zmiennoprzecinkowych. Odległość między dwoma osadzaniami w przestrzeni wektorowej jest powiązana z semantyczną podobieństwem między dwoma oryginalnymi danymi wejściowymi. Jeśli na przykład dwa teksty są podobne, ich reprezentacje wektorowe również powinny być podobne.

W tym przykładzie pokazano tutaj, jak uzyskać osadzanie i nie jest przeznaczony jako samouczek.

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)

Wyjście

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