Megosztás a következőn keresztül:


Rövid útmutató: Az Azure OpenAI Assistants használatának első lépései (előzetes verzió)

Az Azure OpenAI segédek (előzetes verzió) lehetővé teszik az Ön igényeinek megfelelő AI-segédek létrehozását egyéni utasítások útján, speciális eszközökkel, mint például kódértelmezőkkel és egyéni funkciókkal kiegészítve.

Előfeltételek

  • Azure-előfizetés – Hozzon létre egyet ingyenesen.

  • A hozzáférést az Azure OpenAI a kívánt Azure-előfizetésen belül kapja meg.

    Ezen szolgáltatáshoz jelenleg csak alkalmazás útján kapható hozzáférés. Az Azure OpenAI-hoz való hozzáférésre a következő https://aka.ms/oai/accessűrlap kitöltésével jelentkezhet: . Ha probléma merül fel, nyisson meg egy hibát az adattárban, és lépjen velünk kapcsolatba.

  • Azure OpenAI-erőforrás üzembe helyezett modellel gpt-4 (1106-preview) .

  • Az Azure OpenAI Assistants jelenleg Svédországban, az USA 2. keleti régiójában és Kelet-Ausztráliában érhető el. Az ezekben a régiókban elérhető modellekkel kapcsolatos további információkért tekintse meg a modellek útmutatójában.

  • Javasoljuk, hogy tekintse át a Felelős AI átláthatósági megjegyzését és más felelős AI-erőforrásokat az Azure OpenAI szolgáltatás képességeinek és korlátainak megismeréséhez.

Nyissa meg az Azure OpenAI Studiót

Lépjen az Azure OpenAI Studióba, https://oai.azure.com/ és jelentkezzen be olyan hitelesítő adatokkal, amelyek hozzáférnek az OpenAI-erőforráshoz. A bejelentkezési munkafolyamat során vagy után válassza ki a megfelelő könyvtárat, Azure-előfizetést és Azure OpenAI-erőforrást.

Az Azure OpenAI Studio kezdőlapján indítsa el az Asszisztens játszóterét a bal oldali navigációs Játszótér-asszisztensek>(előzetes verzió)

Képernyőkép az Azure OpenAI Studio kezdőlapjáról.

Játszótér

Az Asszisztensek játszótér lehetővé teszi az AI-asszisztensek felderítését, prototípusát és tesztelését anélkül, hogy bármilyen kódot kellene futtatnia. Ezen az oldalon gyorsan iterálhat és kísérletezhet új ötletekkel.

Az Asszisztens konfigurációs képernyőjének képernyőképe az összes érték kitöltése nélkül.

Asszisztens beállítása

Az Asszisztens beállítási panelen hozzon létre egy új AI-asszisztenst, vagy válasszon ki egy meglévő asszisztenst.

Név Leírás
Segéd neve Az Ön környezetének adott modellhez társított neve.
Utasítások Az utasítások hasonlóak a rendszerüzenetekhez – ez az a rész, ahol Ön útmutatást ad a modellnek arról, hogyan kellene viselkednie, és milyen összefüggéseket kellene figyelembe vennie a válasz létrehozásakor. Leírhatja a segéd személyiségét, megmondhatja, hogy mit kell és mit nem szabad megválaszolnia, és megadhatja, hogyan formázza a válaszokat. Példákat is megadhat neki a válaszadáskor követendő lépésekre.
Üzembe helyezés Itt állíthatja be, hogy melyik modellkörnyezetet szeretné használni a segédjével.
Functions Egyéni függvénydefiníciók létrehozása a modellekhez API-hívások létrehozásához és az adatkimeneteknek az Ön specifikációi alapján történő strukturálásához
Kódértelmező A kódértelmező hozzáférést biztosít egy Python demókörnyezethez, amelyben lehetővé teheti a modell számára kód tesztelését és végrehajtását.
Fájlok Legfeljebb 20 fájlt tölthet fel legfeljebb 512 MB fájlmérettel az eszközökkel való használat céljából.

Eszközök

Az egyéni asszisztensek legfeljebb 128 eszközt érhetnek el, beleértve code interpretera függvényekkel létrehozott egyéni eszközöket is.

Csevegési munkamenet

Az Asszisztens API-jában szálként is ismert csevegési munkamenetben zajlik a felhasználó és az asszisztens közötti beszélgetés. A hagyományos csevegésvégzítési hívásokkal ellentétben nincs korlátozva a szálon lévő üzenetek száma. Az asszisztens automatikusan tömöríti a kérelmeket a modell bemeneti jogkivonat-korlátjának megfelelően.

Ez azt is jelenti, hogy nem szabályozza, hogy hány jogkivonat legyen átadva a modellnek a beszélgetés minden egyes fordulója során. A jogkivonatok kezelését az Assistants API absztrakciója és teljes mértékben kezeli.

Válassza a Csevegés törlése gombot az aktuális beszélgetési előzmények törléséhez.

A szövegbeviteli mező alatt két gomb található:

  • Üzenet hozzáadása futtatás nélkül.
  • Hozzáadás és futtatás.

Naplók

A naplók részletes pillanatképet nyújtanak az asszisztens API-tevékenységéről.

Panelek megjelenítése

Alapértelmezés szerint három panel van: asszisztens beállítása, csevegési munkamenet és naplók. A panelek megjelenítése lehetővé teszi a panelek hozzáadását, eltávolítását és átrendeződését. Ha valaha bezár egy panelt, és vissza kell szereznie, a Panelek megjelenítése parancsot használva visszaállíthatja az elveszett panelt.

Az első asszisztens létrehozása

  1. Az asszisztens beállítási legördülő menüjében válassza az Új lehetőséget

  2. Adjon nevet a segédnek

  3. Adja meg a következő utasításokat: "Ön egy AI-asszisztens, aki képes kódot írni a matematikai kérdések megválaszolásához"

  4. Válassza ki a központi telepítést gpt-4 (1106-preview). A legördülő menü megjeleníti az egyéni üzembehelyezési neveket, így ha a modell/üzembehelyezési nevek eltérnek, akkor olyan üzembe helyezést kell választania, amelyben az alapul szolgáló modell egyenértékű az 1106-os előzetes verziójú modellel.

  5. Válassza ki a kódértelmezőt engedélyező kapcsolót.

  6. Válassza a Mentés lehetőséget.

    Képernyőkép az asszisztensről a megadott konfigurációs adatokkal.

  7. Adjon meg egy kérdést, amelyre az asszisztens válaszol: "Meg kell oldanunk az egyenletet 3x + 11 = 14. Tud nekem segíteni?"

  8. Válassza a Hozzáadás és futtatás gombot

    The solution to the equation (3x + 11 = 14) is (x = 1).
    

    Bár láthatjuk, hogy a válasz helyes, annak ellenőrzéséhez, hogy a modell kódértelmezőt használt-e a válasz eléréséhez, és hogy az általa írt kód érvényes-e ahelyett, hogy a modell betanítási adataiból ismételnénk meg a választ, egy másik kérdést teszünk fel.

  9. Adja meg a következő kérdést: "A megoldás beszerzéséhez használt kód megjelenítése".

    Certainly! Here's the Python code I ran to find the solution for the equation (3x + 11 = 14):
    
    from sympy import symbols, Eq, solve  
    
    # Define the variable  
    x = symbols('x')  
    
    # Define the equation  
    equation = Eq(3*x + 11, 14)  
    
    # Solve the equation  
    solution = solve(equation, x)  
    solution  
    

Képernyőkép a beszélgetési munkamenetről az Asszisztens játszótéren.

A jobb oldali panelen található naplókban ellenőrizheti, hogy a kódértelmezőt használták-e, és ellenőrizheti a válasz létrehozásához futtatott kódot. Fontos megjegyezni, hogy bár a kódértelmező lehetővé teszi a modell számára, hogy összetettebb matematikai kérdésekre válaszoljon a kérdések kódmá alakításával és egy tesztkörnyezetben futó Python-környezetben, a választ továbbra is ellenőriznie kell, hogy a modell helyesen fordította-e le a kérdést érvényes kódbeli ábrázolásra.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Lásd még

Fontos

A cikkben ismertetett funkciók némelyike csak előzetes verzióban érhető el. Ez az előzetes verzió szolgáltatásszint-szerződés nélkül érhető el, és éles számítási feladatokhoz nem javasoljuk. Előfordulhat, hogy néhány funkció nem támogatott, vagy korlátozott képességekkel rendelkezik. További információ: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

Előfeltételek

Ugrás az Azure AI Studióra (előzetes verzió)

  1. Jelentkezzen be az Azure AI Studióba.

  2. Nyissa meg a projektet, vagy hozzon létre egy új projektet az Azure AI Studióban.

  3. A projekt áttekintésében válassza a Project-játszótér alatt található Asszisztensek lehetőséget.

    Az Asszisztensek játszótér lehetővé teszi az AI-asszisztensek felderítését, prototípusát és tesztelését anélkül, hogy bármilyen kódot kellene futtatnia. Ezen az oldalon gyorsan iterálhat és kísérletezhet új ötletekkel.

    A játszótér számos lehetőséget kínál az asszisztens konfigurálására. Az alábbi lépésekben az Asszisztens beállítási paneljén fog létrehozni egy új AI-asszisztenst.

    Név Leírás
    Segéd neve Az Ön környezetének adott modellhez társított neve.
    Utasítások Az utasítások hasonlóak a rendszerüzenetekhez – ez az a rész, ahol Ön útmutatást ad a modellnek arról, hogyan kellene viselkednie, és milyen összefüggéseket kellene figyelembe vennie a válasz létrehozásakor. Leírhatja a segéd személyiségét, megmondhatja, hogy mit kell és mit nem szabad megválaszolnia, és megadhatja, hogyan formázza a válaszokat. Példákat is megadhat neki a válaszadáskor követendő lépésekre.
    Üzembe helyezés Itt állíthatja be, hogy melyik modellkörnyezetet szeretné használni a segédjével.
    Functions Hozzon létre egyéni függvénydefiníciókat a modellekhez, hogy api-hívásokat alakíthasson ki, és az adatok kimeneteit a specifikációk alapján strukturálja. Ebben a rövid útmutatóban nem használható.
    Kódértelmező A kódértelmező hozzáférést biztosít egy Python demókörnyezethez, amelyben lehetővé teheti a modell számára kód tesztelését és végrehajtását.
    Fájlok Legfeljebb 20 fájlt tölthet fel legfeljebb 512 MB fájlmérettel az eszközökkel való használat céljából. Ebben a rövid útmutatóban nem használható.

    Az Asszisztens konfigurációs képernyőjének képernyőképe az összes érték kitöltése nélkül.

Az első asszisztens létrehozása

  1. Válassza ki az üzembe helyezést az Üzembe helyezések legördülő listából.

  2. Az Asszisztens beállítási legördülő menüjében válassza az Új lehetőséget.

  3. Adjon nevet az asszisztensének.

  4. Adja meg a következő utasításokat: "Ön egy AI-asszisztens, aki képes kódot írni a matematikai kérdések megválaszolásához"

  5. Válasszon ki egy modelltelepítést. Javasoljuk, hogy tesztelje az egyik legújabb gpt-4 modellt.

  6. Válassza ki a kódértelmezőt engedélyező kapcsolót.

  7. Válassza a Mentés lehetőséget.

    Képernyőkép az asszisztensről a megadott konfigurációs adatokkal.

  8. Adjon meg egy kérdést, amelyre az asszisztens válaszol: "Meg kell oldanunk az egyenletet 3x + 11 = 14. Tud nekem segíteni?"

  9. Válassza a Hozzáadás és futtatás gombot

    The solution to the equation (3x + 11 = 14) is (x = 1).
    

    Bár láthatjuk, hogy a válasz helyes, annak ellenőrzéséhez, hogy a modell kódértelmezőt használt-e a válasz eléréséhez, és hogy az általa írt kód érvényes-e ahelyett, hogy a modell betanítási adataiból ismételnénk meg a választ, egy másik kérdést teszünk fel.

  10. Adja meg a következő kérdést: "A megoldás beszerzéséhez használt kód megjelenítése".

    Sure. The code is very straightforward
    
    # calculation
    x = (14 - 11) / 3
    x
    
    
    First, we subtract 11 from 14, then divide the result by 3. This gives us the value of x which is 1.0.
    

    Képernyőkép a beszélgetési munkamenetről az Asszisztens játszótéren.

A jobb oldali panelen található naplókban ellenőrizheti, hogy a kódértelmezőt használták-e, és ellenőrizheti a válasz létrehozásához futtatott kódot. Fontos megjegyezni, hogy bár a kódértelmező lehetővé teszi a modell számára, hogy összetettebb matematikai kérdésekre válaszoljon a kérdések kódmá alakításával és egy tesztkörnyezetben futó Python-környezetben, a választ továbbra is ellenőriznie kell, hogy a modell helyesen fordította-e le a kérdést érvényes kódbeli ábrázolásra.

Fő fogalmak

Az Asszisztensek játszótér használata során tartsa szem előtt az alábbi fogalmakat.

Eszközök

Az egyéni asszisztensek legfeljebb 128 eszközt érhetnek el, beleértve code interpretera függvényekkel létrehozott egyéni eszközöket is.

Csevegési munkamenet

Az Asszisztens API-jában szálként is ismert csevegési munkamenetben zajlik a felhasználó és az asszisztens közötti beszélgetés. A hagyományos csevegésvégzítési hívásokkal ellentétben nincs korlátozva a szálon lévő üzenetek száma. Az asszisztens automatikusan tömöríti a kérelmeket a modell bemeneti jogkivonat-korlátjának megfelelően.

Ez azt is jelenti, hogy nem szabályozza, hogy hány jogkivonat legyen átadva a modellnek a beszélgetés minden egyes fordulója során. A jogkivonatok kezelését az Assistants API absztrakciója és teljes mértékben kezeli.

Válassza a Csevegés törlése gombot az aktuális beszélgetési előzmények törléséhez.

A szövegbeviteli mező alatt két gomb található:

  • Üzenet hozzáadása futtatás nélkül.
  • Hozzáadás és futtatás.

Naplók

A naplók részletes pillanatképet nyújtanak az asszisztens API-tevékenységéről.

Panelek megjelenítése

Alapértelmezés szerint három panel van: asszisztens beállítása, csevegési munkamenet és naplók. A panelek megjelenítése lehetővé teszi a panelek hozzáadását, eltávolítását és átrendeződését. Ha valaha bezár egy panelt, és vissza kell szereznie, a Panelek megjelenítése parancsot használva visszaállíthatja az elveszett panelt.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Másik lehetőségként törölheti az asszisztenst vagy a szálat az Asszisztens API-ján keresztül.

Lásd még

Referenciadokumentáció kódtár forráskódcsomagja | (PyPi) | |

Előfeltételek

  • Azure-előfizetés – Ingyenes létrehozás

  • Hozzáférés az Azure OpenAI-hoz a kívánt Azure-előfizetésben

    Ezen szolgáltatáshoz jelenleg csak alkalmazás útján kapható hozzáférés. Az Azure OpenAI-hoz való hozzáférésre a következő https://aka.ms/oai/accessűrlap kitöltésével jelentkezhet: . Ha probléma merül fel, nyisson meg egy hibát az adattárban, és lépjen velünk kapcsolatba.

  • Python 3.8 vagy újabb verzió

  • A következő Python-kódtárak: os, json, openai (1.x-es verzió szükséges)

  • Jupyter notebook

  • Az Azure OpenAI Assistants jelenleg Svédországban, az USA 2. keleti régiójában és Kelet-Ausztráliában érhető el. Az ezekben a régiókban elérhető modellekkel kapcsolatos további információkért tekintse meg a modellek útmutatójában.

  • Javasoljuk, hogy tekintse át a Felelős AI átláthatósági megjegyzését és más felelős AI-erőforrásokat az Azure OpenAI szolgáltatás képességeinek és korlátainak megismeréséhez.

  • Ebben a példában egy Azure OpenAI-erőforrást használtunk a gpt-4 (1106-preview) modell üzembe helyezésével.

Beállítás

Telepítse az OpenAI Python ügyfélkódtárat a következőkkel:

pip install openai==v1.20.0

Feljegyzés

  • A fájlkeresés asszisztensenként akár 10 000 fájlt is betölthet – 500-szor több, mint korábban. Gyors, többszálas keresésekkel támogatja a párhuzamos lekérdezéseket, és továbbfejlesztett újraírást és lekérdezés-újraírást is kínál.
    • A vektortároló egy új objektum az API-ban. Miután hozzáadtak egy fájlt egy vektortárolóhoz, a rendszer automatikusan elemzi, darabolja és beágyazja, és készen áll a keresésre. A vektortárolók asszisztensek és szálak között is használhatók, így egyszerűbbé teheti a fájlkezelést és a számlázást.
  • Hozzáadtuk a tool_choice paraméter támogatását, amely egy adott eszköz (például fájlkeresés, kódértelmező vagy függvény) egy adott futtatáshoz való kényszerítésére használható.

Kulcs és végpont lekérése

Az Azure OpenAI szolgáltatással való sikeres híváshoz a következőkre lesz szüksége:

Változó neve Érték
ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. Az értéket az Azure OpenAI Studio>Playground>View-kódjában is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.
API-KEY Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. A következők bármelyikét használhatja: KEY1 vagy KEY2.
DEPLOYMENT-NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal erőforrás-kezelési modell üzembe helyezései vagy az Azure OpenAI Studio felügyeleti>üzembe helyezései alatt található.>

Nyissa meg az erőforrást az Azure Portalon. A kulcsok és végpontok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1 vagy KEY2. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Képernyőkép egy Azure OpenAI-erőforrás áttekintési paneljéről az Azure Portalon, a végpont és a hozzáférési kulcsok helye pirossal bekarikázva.

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

Környezeti változók

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Segéd létrehozása

A kódban a következő értékeket fogjuk megadni:

Név Leírás
Segéd neve Az Ön környezetének adott modellhez társított neve.
Utasítások Az utasítások hasonlóak a rendszerüzenetekhez – ez az a rész, ahol Ön útmutatást ad a modellnek arról, hogyan kellene viselkednie, és milyen összefüggéseket kellene figyelembe vennie a válasz létrehozásakor. Leírhatja a segéd személyiségét, megmondhatja, hogy mit kell és mit nem szabad megválaszolnia, és megadhatja, hogyan formázza a válaszokat. Példákat is megadhat neki a válaszadáskor követendő lépésekre.
Modell Itt adhatja meg, hogy melyik modell üzembehelyezési nevét használja az asszisztensével. A lekérési eszközhöz szükség van vagy gpt-4 (1106-preview) modellre van szükséggpt-35-turbo (1106). Állítsa ezt az értéket az üzemelő példány nevére, és ne a modell nevére, hacsak nem ugyanaz.
Kódértelmező A kódértelmező hozzáférést biztosít egy Python demókörnyezethez, amelyben lehetővé teheti a modell számára kód tesztelését és végrehajtását.

Eszközök

Az egyéni asszisztensek legfeljebb 128 eszközt érhetnek el, beleértve code interpretera függvényekkel létrehozott egyéni eszközöket is.

Hozzon létre és futtasson egy asszisztenst a következőkkel:

import os
import time
import json
from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-02-15-preview",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )

# Create an assistant
assistant = client.beta.assistants.create(
    name="Math Assist",
    instructions="You are an AI assistant that can write code to help answer math questions.",
    tools=[{"type": "code_interpreter"}],
    model="gpt-4-1106-preview" #You must replace this value with the deployment name for your model.
)

# Create a thread
thread = client.beta.threads.create()

# Add a user question to the thread
message = client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)

# Run the thread
run = client.beta.threads.runs.create(
  thread_id=thread.id,
  assistant_id=assistant.id,
)

# Retrieve the status of the run
run = client.beta.threads.runs.retrieve(
  thread_id=thread.id,
  run_id=run.id
)

status = run.status

# Wait till the assistant has responded
while status not in ["completed", "cancelled", "expired", "failed"]:
    time.sleep(5)
    run = client.beta.threads.runs.retrieve(thread_id=thread.id,run_id=run.id)
    status = run.status

messages = client.beta.threads.messages.list(
  thread_id=thread.id
)

print(messages.model_dump_json(indent=2))

Hozam

{
  "data": [
    {
      "id": "msg_XOL8597uuV6zIEgaqZtI0KD3",
      "assistant_id": "asst_WKFOCDJ42Ld1bVUfS8w2pt6E",
      "content": [
        {
          "text": {
            "annotations": [],
            "value": "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
          },
          "type": "text"
        }
      ],
      "created_at": 1705892759,
      "file_ids": [],
      "metadata": {},
      "object": "thread.message",
      "role": "assistant",
      "run_id": "run_TSmF4LoU6bX4SD3xp5xDr1ey",
      "thread_id": "thread_hCOKdEZy1diZAAzwDudRqGRc"
    },
    {
      "id": "msg_F25tb90W5xTPqSn4KgU4aMsb",
      "assistant_id": null,
      "content": [
        {
          "text": {
            "annotations": [],
            "value": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
          },
          "type": "text"
        }
      ],
      "created_at": 1705892751,
      "file_ids": [],
      "metadata": {},
      "object": "thread.message",
      "role": "user",
      "run_id": null,
      "thread_id": "thread_hCOKdEZy1diZAAzwDudRqGRc"
    }
  ],
  "object": "list",
  "first_id": "msg_XOL8597uuV6zIEgaqZtI0KD3",
  "last_id": "msg_F25tb90W5xTPqSn4KgU4aMsb",
  "has_more": false
}

Az eredmények ismertetése

Ebben a példában létrehozunk egy asszisztenst, amely engedélyezve van a kódértelmezővel. Amikor matematikai kérdést teszünk fel az asszisztensnek, az python kódra fordítja le a kérdést, és tesztkörnyezetben hajtja végre a kódot a kérdésre adott válasz meghatározásához. A modell által létrehozott és a válaszhoz szükséges tesztek kódja a következő:

    from sympy import symbols, Eq, solve  
      
    # Define the variable  
    x = symbols('x')  
      
    # Define the equation  
    equation = Eq(3*x + 11, 14)  
      
    # Solve the equation  
    solution = solve(equation, x)  
    solution  

Fontos megjegyezni, hogy bár a kódértelmező lehetővé teszi a modell számára, hogy összetettebb lekérdezésekre válaszoljon a kérdések kóddá alakításával és a kód iteratív futtatásával a Python-tesztkörnyezetben, amíg el nem éri a megoldást, továbbra is ellenőriznie kell a választ, hogy a modell helyesen lefordította-e a kérdést egy érvényes kódképre.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Lásd még

Referenciadokumentáció Forráskódcsomag | (NuGet) |

Előfeltételek

  • Azure-előfizetés – Ingyenes létrehozás

  • Hozzáférés az Azure OpenAI-hoz a kívánt Azure-előfizetésben

    Ezen szolgáltatáshoz jelenleg csak alkalmazás útján kapható hozzáférés. Az Azure OpenAI-hoz való hozzáférésre a következő https://aka.ms/oai/accessűrlap kitöltésével jelentkezhet: . Ha probléma merül fel, nyisson meg egy hibát az adattárban, és lépjen velünk kapcsolatba.

  • A .NET 8 SDK

  • Az Azure OpenAI Assistants jelenleg Svédországban, az USA 2. keleti régiójában és Kelet-Ausztráliában érhető el. Az ezekben a régiókban elérhető modellekkel kapcsolatos további információkért tekintse meg a modellek útmutatójában.

  • Javasoljuk, hogy tekintse át a Felelős AI átláthatósági megjegyzését és más felelős AI-erőforrásokat az Azure OpenAI szolgáltatás képességeinek és korlátainak megismeréséhez.

  • Ebben a példában egy Azure OpenAI-erőforrást használtunk a gpt-4 (1106-preview) modell üzembe helyezésével.

Beállítás

Egy új .NET Core-alkalmazás létrehozása

Egy konzolablakban (például parancsmag, PowerShell vagy Bash) a dotnet new paranccsal hozzon létre egy új konzolalkalmazást a névvel azure-openai-quickstart. Ez a parancs létrehoz egy egyszerű "„Helló világ!” alkalmazás" projektet egyetlen C#-forrásfájllal: Program.cs.

dotnet new console -n azure-openai-assistants-quickstart

Módosítsa a könyvtárat az újonnan létrehozott alkalmazásmappára. Az alkalmazást a következőkkel hozhatja létre:

dotnet build

A buildkimenet nem tartalmazhat figyelmeztetést vagy hibát.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Telepítse az OpenAI .NET ügyfélkódtárat a következőkkel:

dotnet add package Azure.AI.OpenAI.Assistants --prerelease

Kulcs és végpont lekérése

Az Azure OpenAI-ra való sikeres híváshoz egy végpontra és egy kulcsra van szükség.

Változó neve Érték
ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. Az értéket az Azure OpenAI Studio>Playground>Code nézetben is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.
API-KEY Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. A következők bármelyikét használhatja: KEY1 vagy KEY2.

Nyissa meg az erőforrást az Azure Portalon. A Kulcsok > végpont szakasz az Erőforrás-kezelés szakaszban található. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1 vagy KEY2. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Képernyőkép egy Azure OpenAI-erőforrás áttekintő felhasználói felületéről az Azure Portalon, a végpont és a hozzáférési kulcsok helye pirossal bekarikázva.

Környezeti változók

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Segéd létrehozása

A kódban a következő értékeket fogjuk megadni:

Név Leírás
Segéd neve Az Ön környezetének adott modellhez társított neve.
Utasítások Az utasítások hasonlóak a rendszerüzenetekhez – ez az a rész, ahol Ön útmutatást ad a modellnek arról, hogyan kellene viselkednie, és milyen összefüggéseket kellene figyelembe vennie a válasz létrehozásakor. Leírhatja a segéd személyiségét, megmondhatja, hogy mit kell és mit nem szabad megválaszolnia, és megadhatja, hogyan formázza a válaszokat. Példákat is megadhat neki a válaszadáskor követendő lépésekre.
Modell Itt adhatja meg, hogy melyik modell üzembehelyezési nevét használja az asszisztensével. A lekérési eszközhöz szükség van vagy gpt-4 (1106-preview) modellre van szükséggpt-35-turbo (1106). Állítsa ezt az értéket az üzemelő példány nevére, és ne a modell nevére, hacsak nem ugyanaz.
Kódértelmező A kódértelmező hozzáférést biztosít egy Python demókörnyezethez, amelyben lehetővé teheti a modell számára kód tesztelését és végrehajtását.

Eszközök

Az egyéni asszisztensek legfeljebb 128 eszközt érhetnek el, beleértve code interpretera függvényekkel létrehozott egyéni eszközöket is.

Hozzon létre és futtasson egy asszisztenst a következőkkel:

using Azure;
using Azure.AI.OpenAI.Assistants;

string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? throw new ArgumentNullException("AZURE_OPENAI_ENDPOINT");
string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? throw new ArgumentNullException("AZURE_OPENAI_API_KEY");
AssistantsClient client = new AssistantsClient(new Uri(endpoint), new AzureKeyCredential(key));

// Create an assistant
Assistant assistant = await client.CreateAssistantAsync(
    new AssistantCreationOptions("gpt-4-1106-preview") // Replace this with the name of your model deployment
    {
        Name = "Math Tutor",
        Instructions = "You are a personal math tutor. Write and run code to answer math questions.",
        Tools = { new CodeInterpreterToolDefinition() }
    });

// Create a thread
AssistantThread thread = await client.CreateThreadAsync();

// Add a user question to the thread
ThreadMessage message = await client.CreateMessageAsync(
    thread.Id,
    MessageRole.User,
    "I need to solve the equation `3x + 11 = 14`. Can you help me?");

// Run the thread
ThreadRun run = await client.CreateRunAsync(
    thread.Id,
    new CreateRunOptions(assistant.Id)
);

// Wait for the assistant to respond
do
{
    await Task.Delay(TimeSpan.FromMilliseconds(500));
    run = await client.GetRunAsync(thread.Id, run.Id);
}
while (run.Status == RunStatus.Queued
    || run.Status == RunStatus.InProgress);

// Get the messages
PageableList<ThreadMessage> messagesPage = await client.GetMessagesAsync(thread.Id);
IReadOnlyList<ThreadMessage> messages = messagesPage.Data;

// Note: messages iterate from newest to oldest, with the messages[0] being the most recent
foreach (ThreadMessage threadMessage in messages.Reverse())
{
    Console.Write($"{threadMessage.CreatedAt:yyyy-MM-dd HH:mm:ss} - {threadMessage.Role,10}: ");
    foreach (MessageContent contentItem in threadMessage.ContentItems)
    {
        if (contentItem is MessageTextContent textItem)
        {
            Console.Write(textItem.Text);
        }
        Console.WriteLine();
    }
}

Ez a következőképpen nyomtatja ki a kimenetet:

2024-03-05 03:38:17 -       user: I need to solve the equation `3x + 11 = 14`. Can you help me?
2024-03-05 03:38:25 -  assistant: The solution to the equation \(3x + 11 = 14\) is \(x = 1\).

Az újrafuttatás előtt új üzenetek hozhatók létre a szálon, ami azt fogja látni, hogy az asszisztens a korábbi üzeneteket kontextusként használja a szálon belül.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Lásd még

Referenciadokumentáció Kódtár forráskódcsomagja | (npm) | |

Előfeltételek

A jelszó nélküli hitelesítéshez

  1. Használja a @azure/identity csomagot.
  2. Rendelje hozzá a szerepkört Cognitive Services User a felhasználói fiókjához. Ez az Azure Portal Hozzáférés-vezérlés (IAM)>Szerepkör-hozzárendelés hozzáadása területén végezhető el.
  3. Jelentkezzen be az Azure CLI-vel, például az login.

Beállítás

  1. Telepítse a JavaScripthez készült OpenAI Assistants ügyfélkódtárat a következőkkel:

    npm install openai
    
  2. Az ajánlott jelszó nélküli hitelesítéshez:

    npm install @azure/identity
    

Kulcs és végpont lekérése

Az Azure OpenAI szolgáltatással való sikeres híváshoz a következőkre lesz szüksége:

Változó neve Érték
ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. Az értéket az Azure OpenAI Studio>Playground>View-kódjában is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.
API-KEY Ez az érték a Kulcsok és végpont szakaszban található, amikor az erőforrást az Azure Portalról vizsgálja. A következők bármelyikét használhatja: KEY1 vagy KEY2.
DEPLOYMENT-NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal erőforrás-kezelési modell üzembe helyezései vagy az Azure OpenAI Studio felügyeleti>üzembe helyezései alatt található.>

Nyissa meg az erőforrást az Azure Portalon. A kulcsok és végpontok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1 vagy KEY2. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Képernyőkép egy OpenAI-erőforrás áttekintési paneljéről az Azure Portalon, amelyen a végpont és a hozzáférési kulcsok helye pirossal van bekarikázva.

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

Környezeti változók

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Adjon hozzá egy további környezeti változót az üzembehelyezési névhez: AZURE_OPENAI_DEPLOYMENT_NAME.

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

setx AZURE_OPENAI_DEPLOYMENT_NAME "REPLACE_WITH_YOUR_DEPLOYMENT_NAME" 

Segéd létrehozása

A kódban a következő értékeket fogjuk megadni:

Név Leírás
Segéd neve Az Ön környezetének adott modellhez társított neve.
Utasítások Az utasítások hasonlóak a rendszerüzenetekhez – ez az a rész, ahol Ön útmutatást ad a modellnek arról, hogyan kellene viselkednie, és milyen összefüggéseket kellene figyelembe vennie a válasz létrehozásakor. Leírhatja a segéd személyiségét, megmondhatja, hogy mit kell és mit nem szabad megválaszolnia, és megadhatja, hogyan formázza a válaszokat. Példákat is megadhat neki a válaszadáskor követendő lépésekre.
Modell Ez az üzembe helyezés neve.
Kódértelmező A kódértelmező hozzáférést biztosít egy Python demókörnyezethez, amelyben lehetővé teheti a modell számára kód tesztelését és végrehajtását.

Eszközök

Az egyéni asszisztensek legfeljebb 128 eszközt érhetnek el, beleértve code interpretera függvényekkel létrehozott egyéni eszközöket is.

Jelentkezzen be az Azure-ba az login , majd hozzon létre és futtasson egy asszisztenst a következő ajánlott jelszó nélküli TypeScript modullal (index.ts):

import "dotenv/config";
import { AzureOpenAI } from "openai";
import {
  Assistant,
  AssistantCreateParams,
  AssistantTool,
} from "openai/resources/beta/assistants";
import { Message, MessagesPage } from "openai/resources/beta/threads/messages";
import { Run } from "openai/resources/beta/threads/runs/runs";
import { Thread } from "openai/resources/beta/threads/threads";

// Add `Cognitive Services User` to identity for Azure OpenAI resource
import {
  DefaultAzureCredential,
  getBearerTokenProvider,
} from "@azure/identity";

// Get environment variables
const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT as string;
const azureOpenAIDeployment = process.env
  .AZURE_OPENAI_DEPLOYMENT_NAME as string;

// Check env variables
if (!azureOpenAIEndpoint || !azureOpenAIDeployment) {
  throw new Error(
    "Please ensure to set AZURE_OPENAI_DEPLOYMENT_NAME and AZURE_OPENAI_ENDPOINT in your environment variables."
  );
}

// Get Azure SDK client
const getClient = (): AzureOpenAI => {
  const credential = new DefaultAzureCredential();
  const scope = "https://cognitiveservices.azure.com/.default";
  const azureADTokenProvider = getBearerTokenProvider(credential, scope);
  const assistantsClient = new AzureOpenAI({
    endpoint: azureOpenAIEndpoint,
    azureADTokenProvider,
  });
  return assistantsClient;
};

const assistantsClient = getClient();

const options: AssistantCreateParams = {
  model: azureOpenAIDeployment, // Deployment name seen in Azure AI Studio
  name: "Math Tutor",
  instructions:
    "You are a personal math tutor. Write and run JavaScript code to answer math questions.",
  tools: [{ type: "code_interpreter" } as AssistantTool],
};
const role = "user";
const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?";

// Create an assistant
const assistantResponse: Assistant =
  await assistantsClient.beta.assistants.create(options);
console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`);

// Create a thread
const assistantThread: Thread = await assistantsClient.beta.threads.create({});
console.log(`Thread created: ${JSON.stringify(assistantThread)}`);

// Add a user question to the thread
const threadResponse: Message =
  await assistantsClient.beta.threads.messages.create(assistantThread.id, {
    role,
    content: message,
  });
console.log(`Message created:  ${JSON.stringify(threadResponse)}`);

// Run the thread and poll it until it is in a terminal state
const runResponse: Run = await assistantsClient.beta.threads.runs.createAndPoll(
  assistantThread.id,
  {
    assistant_id: assistantResponse.id,
  },
  { pollIntervalMs: 500 }
);
console.log(`Run created:  ${JSON.stringify(runResponse)}`);

// Get the messages
const runMessages: MessagesPage =
  await assistantsClient.beta.threads.messages.list(assistantThread.id);
for await (const runMessageDatum of runMessages) {
  for (const item of runMessageDatum.content) {
    // types are: "image_file" or "text"
    if (item.type === "text") {
      console.log(`Message content: ${JSON.stringify(item.text?.value)}`);
    }
  }
}

A szolgáltatáskulcs hitelesítéshez való használatához létrehozhat és futtathat egy asszisztenst a következő TypeScript modullal (index.ts):

import "dotenv/config";
import { AzureOpenAI } from "openai";
import {
  Assistant,
  AssistantCreateParams,
  AssistantTool,
} from "openai/resources/beta/assistants";
import { Message, MessagesPage } from "openai/resources/beta/threads/messages";
import { Run } from "openai/resources/beta/threads/runs/runs";
import { Thread } from "openai/resources/beta/threads/threads";

// Get environment variables
const azureOpenAIKey = process.env.AZURE_OPENAI_KEY as string;
const azureOpenAIEndpoint = process.env.AZURE_OPENAI_ENDPOINT as string;
const azureOpenAIDeployment = process.env
  .AZURE_OPENAI_DEPLOYMENT_NAME as string;

// Check env variables
if (!azureOpenAIKey || !azureOpenAIEndpoint || !azureOpenAIDeployment) {
  throw new Error(
    "Please set AZURE_OPENAI_KEY and AZURE_OPENAI_ENDPOINT and AZURE_OPENAI_DEPLOYMENT_NAME in your environment variables."
  );
}

// Get Azure SDK client
const getClient = (): AzureOpenAI => {
  const assistantsClient = new AzureOpenAI({
    endpoint: azureOpenAIEndpoint,
    apiKey: azureOpenAIKey,
  });
  return assistantsClient;
};

const assistantsClient = getClient();

const options: AssistantCreateParams = {
  model: azureOpenAIDeployment, // Deployment name seen in Azure AI Studio
  name: "Math Tutor",
  instructions:
    "You are a personal math tutor. Write and run JavaScript code to answer math questions.",
  tools: [{ type: "code_interpreter" } as AssistantTool],
};
const role = "user";
const message = "I need to solve the equation `3x + 11 = 14`. Can you help me?";

// Create an assistant
const assistantResponse: Assistant =
  await assistantsClient.beta.assistants.create(options);
console.log(`Assistant created: ${JSON.stringify(assistantResponse)}`);

// Create a thread
const assistantThread: Thread = await assistantsClient.beta.threads.create({});
console.log(`Thread created: ${JSON.stringify(assistantThread)}`);

// Add a user question to the thread
const threadResponse: Message =
  await assistantsClient.beta.threads.messages.create(assistantThread.id, {
    role,
    content: message,
  });
console.log(`Message created:  ${JSON.stringify(threadResponse)}`);

// Run the thread and poll it until it is in a terminal state
const runResponse: Run = await assistantsClient.beta.threads.runs.createAndPoll(
  assistantThread.id,
  {
    assistant_id: assistantResponse.id,
  },
  { pollIntervalMs: 500 }
);
console.log(`Run created:  ${JSON.stringify(runResponse)}`);

// Get the messages
const runMessages: MessagesPage =
  await assistantsClient.beta.threads.messages.list(assistantThread.id);
for await (const runMessageDatum of runMessages) {
  for (const item of runMessageDatum.content) {
    // types are: "image_file" or "text"
    if (item.type === "text") {
      console.log(`Message content: ${JSON.stringify(item.text?.value)}`);
    }
  }
}

Hozam

Assistant created: {"id":"asst_zXaZ5usTjdD0JGcNViJM2M6N","createdAt":"2024-04-08T19:26:38.000Z","name":"Math Tutor","description":null,"model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"fileIds":[],"metadata":{}}
Thread created: {"id":"thread_KJuyrB7hynun4rvxWdfKLIqy","createdAt":"2024-04-08T19:26:38.000Z","metadata":{}}
Message created:  {"id":"msg_o0VkXnQj3juOXXRCnlZ686ff","createdAt":"2024-04-08T19:26:38.000Z","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","role":"user","content":[{"type":"text","text":{"value":"I need to solve the equation `3x + 11 = 14`. Can you help me?","annotations":[]},"imageFile":{}}],"assistantId":null,"runId":null,"fileIds":[],"metadata":{}}
Created run
Run created:  {"id":"run_P8CvlouB8V9ZWxYiiVdL0FND","object":"thread.run","status":"queued","model":"daisy","instructions":"You are a personal math tutor. Write and run JavaScript code to answer math questions.","tools":[{"type":"code_interpreter"}],"metadata":{},"usage":null,"assistantId":"asst_zXaZ5usTjdD0JGcNViJM2M6N","threadId":"thread_KJuyrB7hynun4rvxWdfKLIqy","fileIds":[],"createdAt":"2024-04-08T19:26:39.000Z","expiresAt":"2024-04-08T19:36:39.000Z","startedAt":null,"completedAt":null,"cancelledAt":null,"failedAt":null}
Message content: "The solution to the equation \\(3x + 11 = 14\\) is \\(x = 1\\)."
Message content: "Yes, of course! To solve the equation \\( 3x + 11 = 14 \\), we can follow these steps:\n\n1. Subtract 11 from both sides of the equation to isolate the term with x.\n2. Then, divide by 3 to find the value of x.\n\nLet me calculate that for you."
Message content: "I need to solve the equation `3x + 11 = 14`. Can you help me?"

Fontos megjegyezni, hogy bár a kódértelmező lehetővé teszi a modell számára, hogy összetettebb lekérdezésekre válaszoljon a kérdések kóddá alakításával és a kód iteratív futtatásával a JavaScriptben, amíg el nem éri a megoldást, továbbra is ellenőriznie kell a választ annak ellenőrzéséhez, hogy a modell helyesen lefordította-e a kérdést egy érvényes kódbeli reprezentációra.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Mintakód

Lásd még

Előfeltételek

  • Azure-előfizetés – Ingyenes létrehozás

  • Hozzáférés az Azure OpenAI-hoz a kívánt Azure-előfizetésben

    Ezen szolgáltatáshoz jelenleg csak alkalmazás útján kapható hozzáférés. Az Azure OpenAI szolgáltatáshoz való hozzáférésre a következő https://aka.ms/oai/accessűrlap kitöltésével jelentkezhet: . Ha probléma merül fel, nyisson meg egy hibát az adattárban, és lépjen velünk kapcsolatba.

  • Python 3.8 vagy újabb verzió

  • Az Azure OpenAI Assistants jelenleg Svédországban, az USA 2. keleti régiójában és Kelet-Ausztráliában érhető el. Az ezekben a régiókban elérhető modellekkel kapcsolatos további információkért tekintse meg a modellek útmutatójában.

  • Javasoljuk, hogy tekintse át a Felelős AI átláthatósági megjegyzését és más felelős AI-erőforrásokat az Azure OpenAI szolgáltatás képességeinek és korlátainak megismeréséhez.

  • Ebben a példában egy Azure OpenAI-erőforrást használtunk a gpt-4 (1106-preview) modell üzembe helyezésével.

Beállítás

Kulcs és végpont lekérése

Az Azure OpenAI-ra való sikeres híváshoz a következőkre lesz szüksége:

Változó neve Érték
ENDPOINT Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. Másik lehetőségként az értéket az Azure OpenAI Studio>Demókörnyezet>Kódnézet részen is megtalálhatja. Példavégpont: https://docs-test-001.openai.azure.com/.
API-KEY Ez az érték a Kulcsok és végpont szakaszban található meg, amikor megvizsgálja az erőforrást az Azure Portalon. A következők bármelyikét használhatja: KEY1 vagy KEY2.
DEPLOYMENT-NAME Ez az érték a modell üzembe helyezésekor az üzembe helyezéshez választott egyéni névnek felel meg. Ez az érték az Azure Portal Erőforrás-kezelő>Üzemelő példányok részén, vagy pedig az Azure OpenAI Studio Kezelés>Üzemelő példányok részén található meg.

Nyissa meg az erőforrást az Azure Portalon. A végpont és a kulcsok az Erőforrás-kezelés szakaszban találhatók. Másolja ki a végpontot és a hozzáférési kulcsot, mivel mindkettőre szüksége lesz az API-hívások hitelesítéséhez. A következők bármelyikét használhatja: KEY1 vagy KEY2. A két kulcs mindig lehetővé teszi a kulcsok biztonságos elforgatását és újragenerálását anélkül, hogy szolgáltatáskimaradást okoz.

Képernyőkép egy Azure OpenAI-erőforrás áttekintési paneljéről az Azure Portalon, a végpont és a hozzáférési kulcsok helye pirossal bekarikázva.

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

Környezeti változók

Állandó környezeti változók létrehozása és hozzárendelése a kulcshoz és a végponthoz.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

REST API

Segéd létrehozása

Feljegyzés

Az Azure OpenAI-ban a model paraméterhez modelltelepítési név szükséges. Ha a modell központi telepítési neve eltér az alapul szolgáló modell nevéétől, akkor a kódot a következőre "model": "{your-custom-model-deployment-name}"kell módosítania: .

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/assistants?api-version=2024-05-01-preview \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "instructions": "You are an AI assistant that can write code to help answer math questions.",
    "name": "Math Assist",
    "tools": [{"type": "code_interpreter"}],
    "model": "gpt-4-1106-preview"
  }'

Eszközök

Az egyéni asszisztensek legfeljebb 128 eszközt érhetnek el, beleértve code interpretera függvényekkel létrehozott egyéni eszközöket is.

Szál létrehozása

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d ''

Felhasználói kérdés hozzáadása a szálhoz

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d '{
      "role": "user",
      "content": "I need to solve the equation `3x + 11 = 14`. Can you help me?"
    }'

A szál futtatása

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "assistant_id": "asst_abc123",
  }'

A futtatás állapotának lekérése

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/runs/run_abc123 \
  -H "api-key: $AZURE_OPENAI_API_KEY" \

Asszisztens válasza

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/threads/thread_abc123/messages \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \

Az eredmények ismertetése

Ebben a példában létrehozunk egy asszisztenst, amely engedélyezve van a kódértelmezővel. Amikor matematikai kérdést teszünk fel az asszisztensnek, az python kódra fordítja le a kérdést, és tesztkörnyezetben hajtja végre a kódot a kérdésre adott válasz meghatározásához. A modell által létrehozott és a válaszhoz szükséges tesztek kódja a következő:

    from sympy import symbols, Eq, solve  
      
    # Define the variable  
    x = symbols('x')  
      
    # Define the equation  
    equation = Eq(3*x + 11, 14)  
      
    # Solve the equation  
    solution = solve(equation, x)  
    solution  

Fontos megjegyezni, hogy bár a kódértelmező lehetővé teszi a modell számára, hogy összetettebb lekérdezésekre válaszoljon a kérdések kóddá alakításával és a kód iteratív futtatásával a Python-tesztkörnyezetben, amíg el nem éri a megoldást, továbbra is ellenőriznie kell a választ, hogy a modell helyesen lefordította-e a kérdést egy érvényes kódképre.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Azure OpenAI-erőforrást, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli.

Lásd még