Κοινή χρήση μέσω


Χρήση του Azure OpenAI στο Fabric με Python SDK και Synapse ML (προεπισκόπηση)

Σημαντικό

Αυτή η δυνατότητα είναι σε προεπισκόπηση.

Αυτό το άρθρο παρουσιάζει παραδείγματα σχετικά με τον τρόπο χρήσης του Azure OpenAI στο Fabric με χρήση του OpenAI Python SDK και τη χρήση του SynapseML.

Προαπαιτούμενα στοιχεία

Το OpenAI Python SDK δεν είναι εγκατεστημένο στον προεπιλεγμένο χρόνο εκτέλεσης. Πρέπει πρώτα να το εγκαταστήσετε.

%pip install openai==0.28.1

Συνομιλία

Οι συναρτήσεις ChatGPT και GPT-4 είναι μοντέλα γλώσσας που έχουν βελτιστοποιηθεί για διασυνδέσεις συνομιλίας. Το παράδειγμα που παρουσιάζεται εδώ παρουσιάζει απλές λειτουργίες ολοκλήρωσης συνομιλίας και δεν προορίζεται να χρησιμεύσει ως πρόγραμμα εκμάθησης.

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

Έξοδος

    assistant: Orange who?

Μπορούμε επίσης να μεταδώσετε μέσω ροής την απόκριση

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)

Έξοδος

    assistant: Orange who?

Ενσωματώσεις

Μια ενσωμάτωση είναι μια ειδική μορφή αναπαράστασης δεδομένων που μπορούν να χρησιμοποιήσουν εύκολα μοντέλα και αλγόριθμοι εκμάθησης μηχανής. Περιέχει σημασιολογική έννοια ενός κειμένου εμπλουτισμένη με πληροφορίες, η οποία αντιπροσωπεύεται από ένα διάνυσμα αριθμών κινητής υποδιαστολής. Η απόσταση μεταξύ δύο ενσωματώσεων στο διανυσματικό διάστημα σχετίζεται με τη σημασιολογική ομοιότητα μεταξύ δύο αρχικών εισόδων. Για παράδειγμα, εάν δύο κείμενα είναι παρόμοια, οι διανυσματικές αναπαραστάσεις τους θα πρέπει επίσης να είναι παρόμοιες.

Το παράδειγμα που παρουσιάζεται εδώ δείχνει πώς μπορείτε να λάβετε ενσωματώσεις και δεν προορίζεται ως πρόγραμμα εκμάθησης.

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)

Έξοδος

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