Rychlý start Microsoft Foundry classic

Momentálně zobrazujete:Verze portálu Foundry (classic) - Přechod na verzi nového portálu Foundry

V tomto rychlém startu použijete Microsoft Foundry k:

  • Vytvoření projektu
  • Nasazení modelu
  • Spuštění dokončení chatu
  • Vytvoření a spuštění agenta
  • Nahrání souborů do agenta

Sada Microsoft Foundry SDK je dostupná ve více jazycích, včetně Python, Java, TypeScriptu a jazyka C#. Tento rychlý start obsahuje pokyny pro každý z těchto jazyků.

Tip

Zbytek tohoto článku ukazuje, jak vytvořit a použít projekt Foundry. Viz Quickstart: Začínáme s Microsoft Foundry (projekty centra) pokud chcete místo toho použít projekt založený na centru. Jaký typ projektu potřebuji?

Požadavky

  • Účet Azure s aktivním předplatným. Pokud ho nemáte, vytvořte si účet free Azure, který zahrnuje bezplatné zkušební předplatné.
  • Přístup k roli, která umožňuje vytvořit prostředek Foundry, například Vlastník účtu Foundry nebo Vlastník foundry v předplatném nebo skupině prostředků. Další informace o oprávněních najdete v tématu Řízení přístupu na základě oprávnění pro Microsoft Foundry.

    Důležité

    Nedávno byly přejmenovány role Foundry RBAC. Foundry User, Foundry Owner, Foundry Account Owner a Foundry Project Manager se dříve nazývaly Uživatel Azure AI, Vlastník Azure AI, Vlastník účtu Azure AI a Správce projektů Azure AI. Během zavádění přejmenování se stále můžou zobrazovat předchozí názvy na některých místech. ID rolí a základní oprávnění se při přejmenování nezmění.

  • Nainstalujte požadované runtime pro jazyk, globální nástroje a rozšíření VS Code, jak je popsáno v části Příprava vývojového prostředí.

Důležité

Než začnete, ujistěte se, že je vaše vývojové prostředí připravené.
Tento rychlý start se zaměřuje na kroky specifické pro konkrétní scénáře , jako je instalace sady SDK, ověřování a spouštění ukázkového kódu.

Na portálu můžete prozkoumat bohatý katalog špičkových modelů od mnoha různých poskytovatelů. Pro účely tohoto kurzu vyhledejte a vyberte model gpt-4o .

  1. Přihlaste se k Microsoft Foundry. Ujistěte se, že je přepínač New Foundry vypnutý. Tyto kroky odkazují na Foundry (classic).

  2. Pokud jste v projektu, vyberte Microsoft Foundry v levém horním rohu a projekt opustíte. Za chvíli vytvoříte nový.

  3. Na cílové stránce nebo v katalogu modelů vyberte gpt-4o (nebo gpt-4o-mini).

    Snímek obrazovky ukazuje, jak začít s modelem na portálu Foundry.

  4. Vyberte Použít tento model. Po zobrazení výzvy zadejte nový název projektu a vyberte Vytvořit.

  5. Zkontrolujte název nasazení a vyberte Vytvořit.

  6. Po výběru typu nasazení vyberte Připojit a nasadit .

  7. Po nasazení na stránce nasazení vyberte Otevřít v testovacím prostředí.

  8. Dostanete se do testovacího prostředí chatu s předem nasazeným a připraveným modelem k použití.

Pokud vytváříte agenta, můžete místo toho začít vytvořením agenta. Postup je podobný, ale v jiném pořadí. Po vytvoření projektu se místo chatovacího rozhraní dostanete do hřiště pro agenty.

Připravte se kódovat

Tip

Kód používá Azure AI Projects 1.x SDK a není kompatibilní s Azure projekty AI 2.x. Podívejte se na dokumentaci Foundry (nová) pro verzi Azure AI Projects 2.x.

  1. Nainstalujte tyto balíčky:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Na úvodní obrazovce projektu najděte koncový bod projektu.

    Snímek obrazovky uvítací obrazovky Microsoft Foundry Models zobrazující URL koncového bodu a tlačítko pro kopírování.

  3. Před spuštěním skriptů Python nezapomeňte se přihlásit pomocí příkazu CLI az login (nebo az login --use-device-code).

Postupujte podle následujících pokynů nebo získejte kód:

Chatování s modelem

Dokončování chatu je základním stavebním blokem aplikací umělé inteligence. Pomocí dokončování chatu můžete odeslat seznam zpráv a získat odpověď z modelu.

Tip

Kód používá Azure AI Projects 1.x SDK a není kompatibilní s Azure projekty AI 2.x. Podívejte se na dokumentaci Foundry (nová) pro verzi Azure AI Projects 2.x.

Nahraďte váš koncový bod za endpoint v tomto kódu:

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)

Chat s agentem

Vytvořte agenta a chatujte s ním.

Tip

Kód používá Azure AI Projects 1.x SDK a není kompatibilní s Azure projekty AI 2.x. Podívejte se na dokumentaci Foundry (nová) pro verzi Azure AI Projects 2.x.

Nahraďte váš koncový bod za endpoint v tomto kódu:

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

Přidejte soubory do agenta

Agenti mají výkonné funkce prostřednictvím nástrojů. Pojďme přidat nástroj pro vyhledávání souborů, který nám umožňuje načítání znalostí.

Tip

Kód používá Azure AI Projects 1.x SDK a není kompatibilní s Azure projekty AI 2.x. Podívejte se na dokumentaci Foundry (nová) pro verzi Azure AI Projects 2.x.

Nahraďte váš koncový bod za endpoint v tomto kódu:

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)

Vyčištění prostředků

Pokud už žádné prostředky, které jste vytvořili, nepotřebujete, odstraňte skupinu prostředků přidruženou k vašemu projektu.

  • Na portálu Azure vyberte skupinu prostředků a pak vyberte Delete. Potvrďte, že chcete odstranit skupinu prostředků.