Microsoft Foundry rövid útmutatója (klasszikus)

Jelenleg megtekintés:Foundry (klasszikus) portálverzió - Váltás az új Foundry portál verziójára

Ebben a gyors útmutatóban a Microsoft Foundry használatával a következőket teheti:

  • Projekt létrehozása
  • Modell üzembe helyezése
  • Csevegés befejezése
  • Ügynök létrehozása és futtatása
  • Fájlok feltöltése az agenturába

A Microsoft Foundry SDK több nyelven is elérhető, például Python, Java, TypeScript és C# nyelven. Ez a rövid útmutató útmutatást nyújt az egyes nyelvekhez.

Tipp

A cikk további része bemutatja, hogyan hozhat létre és használhat Foundry-projektet. Lásd: Gyorsútmutató - Ismerje meg a Microsoft Foundry használatát (Hub projektek), ha inkább hub-alapú projektet szeretne használni. Milyen típusú projektre van szükségem?

Előfeltételek

  • Aktív előfizetéssel rendelkező Azure fiók. Ha nem rendelkezik ilyen fiókkal, hozzon létre egy free Azure fiókot, amely ingyenes próbaverziós előfizetést tartalmaz.
  • Hozzáférés egy olyan szerepkörhöz, amely lehetővé teszi egy Öntödei erőforrás létrehozását, például az Öntödei fiók tulajdonosa vagy az Öntöde tulajdonosa az előfizetésben vagy az erőforráscsoportban. További információ az engedélyekről a Microsoft Foundry szerepkör-alapú hozzáférés-vezérlésének keretében található.

    Fontos

    Az Foundry RBAC-szerepköröket nemrég átnevezték. Foundry user, Foundry Owner, Foundry-fióktulajdonos és Foundry Project Manager korábban Azure AI-felhasználónak, Azure AI-tulajdonosnak, Azure AI-fióktulajdonosnak és Azure AI-Project-kezelőnek hívták. Előfordulhat, hogy egyes helyeken továbbra is a korábbi elnevezések jelennek meg, amíg az átnevezés fokozatosan bevezetésre kerül. A szerepkör-azonosítók és az alapvető jogosultságok az átnevezés ellenére változatlanok maradnak.

  • Telepítse a szükséges nyelvi futtatókörnyezeteket, globális eszközöket és VS Code-bővítményeket a fejlesztési környezet előkészítése című szakaszban leírtak szerint.

Fontos

Mielőtt hozzákezdene, győződjön meg arról, hogy a fejlesztési környezet készen áll.
Ez a rövid útmutató olyan forgatókönyv-specifikus lépésekre összpontosít, mint az SDK telepítése, a hitelesítés és a mintakód futtatása.

A portálon számos különböző szolgáltató élvonalbeli modelljeinek gazdag katalógusát ismerheti meg. Ebben az oktatóanyagban keressen rá, majd válassza ki a gpt-4o modellt.

  1. Jelentkezzen be Microsoft Foundry. Győződjön meg arról, hogy a New Foundry kapcsoló ki van kapcsolva. Ezek a lépések a Foundryre (klasszikus) vonatkoznak.

  2. Ha projektben van, válassza a Microsoft Foundry lehetőséget a bal felső sávban a projekt elhagyásához. Egy pillanat múlva létrehoz egy újat.

  3. A kezdőlapon vagy a Modellkatalógusban válassza a gpt-4o (vagy gpt-4o-mini) elemet.

    Képernyőkép a modellekkel való kezdésről az Foundry portálon.

  4. Válassza a Modell használata lehetőséget. Amikor a rendszer kéri, adjon meg egy új projektnevet, és válassza a Létrehozás lehetőséget.

  5. Tekintse át az üzembe helyezés nevét, és válassza a Létrehozás lehetőséget.

  6. Ezután válassza a Csatlakozás és üzembe helyezés lehetőséget az üzembe helyezési típus kiválasztása után.

  7. Az üzembe helyezés után válassza a Megnyitás a játszótéren lehetőséget az üzembe helyezési oldalon.

  8. A Chat környezetben egy előre konfigurált és használatra kész modellel találja magát.

Ha ügynököt hoz létre, az Ügynök létrehozása lehetőséggel kezdheti. A lépések hasonlóak, de eltérő sorrendben. A projekt létrehozása után a Csevegési Játszótér helyett az Ügynök Játszótérre érkezik.

Felkészülés a kódra

Tipp

A kód a Azure AI-projektek 1.x SDK-ját használja, és nem kompatibilis az Azure AI-projektek 2.x SDK-jával. Nézze meg a Foundry (új) dokumentációját az Azure AI Projects 2.x verziójához.

  1. Telepítse a következő csomagokat:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Keresse meg a projektvégpontot a projekt üdvözlőképernyőjén.

    A Microsoft Foundry Models üdvözlőképernyőjének képernyőképe, amely a végpont URL-jét és a másolási gombot mutatja.

  3. A Python szkriptek futtatása előtt mindenképpen jelentkezzen be a CLI az login (vagy az login --use-device-code) paranccsal.

Kövesse az alábbi lépéseket, vagy kérje le a kódot:

Egy modellel való csevegés

A csevegés befejezése az AI-alkalmazások alapvető építőeleme. A csevegés befejezésével elküldheti az üzenetek listáját, és választ kaphat a modelltől.

Tipp

A kód a Azure AI-projektek 1.x SDK-ját használja, és nem kompatibilis az Azure AI-projektek 2.x SDK-jával. Nézze meg a Foundry (új) dokumentációját az Azure AI Projects 2.x verziójához.

Cserélje le a végpontot a endpoint következő kódra:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

models = project.get_openai_client(api_version="2024-10-21")
response = models.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "system", "content": "You are a helpful writing assistant"},
        {"role": "user", "content": "Write me a poem about flowers"},
    ],
)

print(response.choices[0].message.content)

Csevegés ügynökkel

Hozzon létre egy ügynököt, és csevegjen vele.

Tipp

A kód a Azure AI-projektek 1.x SDK-ját használja, és nem kompatibilis az Azure AI-projektek 2.x SDK-jával. Nézze meg a Foundry (új) dokumentációját az Azure AI Projects 2.x verziójához.

Cserélje le a végpontot a endpoint következő kódra:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import ListSortOrder, FilePurpose

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

agent = project.agents.create_agent(
    model="gpt-4o",
    name="my-agent",
    instructions="You are a helpful writing assistant")

thread = project.agents.threads.create()
message = project.agents.messages.create(
    thread_id=thread.id, 
    role="user", 
    content="Write me a poem about flowers")

run = project.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
if run.status == "failed":
    # Check if you got "Rate limit is exceeded.", then you want to get more quota
    print(f"Run failed: {run.last_error}")

# Get messages from the thread
messages = project.agents.messages.list(thread_id=thread.id)

# Get the last message from the sender
messages = project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
for message in messages:
    if message.run_id == run.id and message.text_messages:
        print(f"{message.role}: {message.text_messages[-1].text.value}")

# Delete the agent once done
project.agents.delete_agent(agent.id)
print("Deleted agent")

Fájlok hozzáadása az ügynökszoftverhez

Az ügynökök hatékony képességekkel rendelkeznek az eszközök használatával. Adjunk hozzá egy fájlkereső eszközt, amely lehetővé teszi a tudás lekérését.

Tipp

A kód a Azure AI-projektek 1.x SDK-ját használja, és nem kompatibilis az Azure AI-projektek 2.x SDK-jával. Nézze meg a Foundry (új) dokumentációját az Azure AI Projects 2.x verziójához.

Cserélje le a végpontot a endpoint következő kódra:

from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import ListSortOrder, FileSearchTool

project = AIProjectClient(
    endpoint="https://your-foundry-resource-name.ai.azure.com/api/projects/project-name",
    credential=DefaultAzureCredential(),
)

# Upload file and create vector store
file = project.agents.files.upload(file_path="./product_info_1.md", purpose=FilePurpose.AGENTS)
vector_store = project.agents.vector_stores.create_and_poll(file_ids=[file.id], name="my_vectorstore")

# Create file search tool and agent
file_search = FileSearchTool(vector_store_ids=[vector_store.id])
agent = project.agents.create_agent(
    model="gpt-4o",
    name="my-assistant",
    instructions="You are a helpful assistant and can search information from uploaded files",
    tools=file_search.definitions,
    tool_resources=file_search.resources,
)

# Create thread and process user message
thread = project.agents.threads.create()
project.agents.messages.create(thread_id=thread.id, role="user", content="Hello, what Contoso products do you know?")
run = project.agents.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)

# Handle run status
if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Print thread messages
messages = project.agents.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
for message in messages:
    if message.run_id == run.id and message.text_messages:
        print(f"{message.role}: {message.text_messages[-1].text.value}")

# Cleanup resources
project.agents.vector_stores.delete(vector_store.id)
project.agents.files.delete(file_id=file.id)
project.agents.delete_agent(agent.id)

Erőforrások törlése

Ha már nincs szüksége a létrehozott erőforrásokra, törölje a projekthez társított erőforráscsoportot.

  • A Azure portálon jelölje ki az erőforráscsoportot, majd válassza a Delete lehetőséget. Győződjön meg arról, hogy törölni szeretné az erőforráscsoportot.