Aracılığıyla paylaş


Python SDK ve Synapse ML ile Dokuda Azure OpenAI kullanma (önizleme)

Önemli

Bu özellik önizleme aşamasındadır.

Bu makalede, OpenAI Python SDK'sını ve SynapseML'yi kullanarak Dokuda Azure OpenAI'yi kullanma örnekleri gösterilmektedir.

Önkoşullar

OpenAI Python SDK'sı varsayılan çalışma zamanında yüklü değildir, önce yüklemeniz gerekir.

%pip install openai==0.28.1

Sohbet

ChatGPT ve GPT-4, konuşma arabirimleri için iyileştirilmiş dil modelleridir. Burada sunulan örnek, basit sohbet tamamlama işlemlerini gösterir ve öğretici olarak hizmet vermek üzere tasarlanmamıştır.

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

Çıktı

    assistant: Orange who?

Ayrıca yanıtın akışını da sağlayabiliriz

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)

Çıktı

    assistant: Orange who?

Eklemeler

Ekleme, makine öğrenmesi modellerinin ve algoritmalarının kolayca kullanabileceği özel bir veri gösterimi biçimidir. Kayan nokta sayılarından oluşan bir vektörle temsil edilen metnin zengin bilgi anlamsal anlamını içerir. Vektör uzayına iki ekleme arasındaki uzaklık, iki özgün giriş arasındaki anlamsal benzerlikle ilgilidir. Örneğin, iki metin benzerse, vektör gösterimleri de benzer olmalıdır.

Burada gösterilen örnek, eklemelerin nasıl alınıp alınduğunu gösterir ve öğretici olarak tasarlanmamıştır.

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)

Çıktı

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