Szybki start Microsoft Foundry (wersja klasyczna)

Aktualnie wyświetlane:Wersja - Przełączanie do wersji dla nowego portalu Foundry

W tym szybkim przewodniku użyjesz Microsoft Foundry, aby:

  • Tworzenie projektu
  • Wdrażanie modelu
  • Uruchamianie ukończenia czatu
  • Tworzenie i uruchamianie agenta
  • Przekazywanie plików do agenta

Zestaw SDK Microsoft Foundry jest dostępny w wielu językach, w tym w Python, Java, TypeScript i C#. Ten szybki start zawiera instrukcje dla każdego z tych języków.

Wskazówka

W pozostałej części tego artykułu pokazano, jak utworzyć i użyć projektu Foundry. Zobacz Quickstart: Rozpoczynanie pracy z Microsoft Foundry (projekty centrum) jeśli zamiast tego chcesz użyć projektu opartego na centrum. Jakiego typu projektu potrzebuję?

Wymagania wstępne

  • Konto Azure z aktywną subskrypcją. Jeśli go nie masz, utwórz konto free Azure, które obejmuje subskrypcję bezpłatnej wersji próbnej.
  • Dostęp do roli umożliwiającej tworzenie zasobu usługi Foundry, na przykład Azure Account AI Owner lub Foundry Owner, w ramach subskrypcji lub grupy zasobów. Aby uzyskać więcej informacji na temat uprawnień, zobacz Kontrola dostępu oparta na rolach dla Microsoft Foundry.

    Ważne

    Niedawno zmieniono nazwy ról RBAC w usłudze Foundry. Użytkownik Foundry, właściciel Foundry, właściciel konta Foundry i menedżer projektu Foundry były wcześniej nazywane odpowiednio użytkownikiem Azure AI, właścicielem Azure AI, właścicielem konta Azure AI i menedżerem projektu Azure AI. Poprzednie nazwy mogą być nadal widoczne w niektórych miejscach, podczas gdy zmiana nazwy jest wdrażana. Identyfikatory ról i uprawnienia podstawowe są niezmienione przez zmianę nazwy.

  • Zainstaluj wymagane środowiska uruchomieniowe języka, narzędzia globalne i rozszerzenia programu VS Code zgodnie z opisem w temacie Przygotowywanie środowiska projektowego.

Ważne

Przed rozpoczęciem upewnij się, że środowisko deweloperskie jest gotowe.
Ten Szybki start koncentruje się na krokach specyficznych dla scenariusza, takich jak instalacja SDK, uwierzytelnianie i uruchamianie przykładowego kodu.

W portalu możesz zapoznać się z bogatym katalogiem najnowocześniejszych modeli od wielu różnych dostawców. Na potrzeby tego samouczka wyszukaj, a następnie wybierz model gpt-4o .

  1. Zaloguj się do Microsoft Foundry. Upewnij się, że przełącznik New Foundry jest wyłączony. Te kroki odnoszą się do rozwiązania Foundry (wersja klasyczna).

  2. Jeśli jesteś w projekcie, wybierz pozycję Microsoft Foundry w lewym górnym rogu ścieżki nawigacyjnej, aby opuścić projekt. Zaraz utworzysz nowy.

  3. Na stronie docelowej lub katalogu modeli wybierz pozycję gpt-4o (lub gpt-4o-mini).

    Zrzut ekranu przedstawia sposób rozpoczynania pracy z modelem w portalu Foundry.

  4. Wybierz Użyj tego modelu. Po wyświetleniu monitu wprowadź nową nazwę projektu i wybierz pozycję Utwórz.

  5. Przejrzyj nazwę wdrożenia i wybierz pozycję Utwórz.

  6. Następnie wybierz pozycję Połącz i wdróż po wybraniu typu wdrożenia.

  7. Wybierz opcję Otwórz na placu zabaw na stronie wdrożenia po jego wdrożeniu.

  8. Lądujesz w środowisku testowym czatu ze wstępnie wdrożonym i gotowym do użycia modelem.

Jeśli tworzysz agenta, możesz zamiast tego zacząć od sekcji Tworzenie agenta. Kroki są podobne, ale w innej kolejności. Po utworzeniu projektu trafiasz do środowiska agenta zamiast środowiska czatu.

Przygotuj się do kodu

Wskazówka

Kod używa zestawu SDK Azure AI Projects 1.x i jest niezgodny z projektami sztucznej inteligencji Azure 2.x. Zobacz dokumentację Foundry (nową) dla wersji Azure AI Projects 2.x.

  1. Zainstaluj następujące pakiety:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Znajdź punkt końcowy projektu na ekranie powitalnym projektu.

    Oświet ekranu powitalnego Microsoft Foundry Models przedstawiający adres URL punktu końcowego i przycisk kopiowania.

  3. Upewnij się, że zalogujesz się za pomocą polecenia interfejsu wiersza polecenia az login (lub az login --use-device-code), aby uwierzytelnić przed uruchomieniem skryptów Pythona.

Postępuj zgodnie z poniższymi instrukcjami lub pobierz kod:

Rozmowa z modelem

Systemy uzupełniania czatów to fundamentalny element aplikacji sztucznej inteligencji. Korzystając z uzupełniania czatu, możesz wysłać listę wiadomości i uzyskać odpowiedź z modelu.

Wskazówka

Kod używa zestawu SDK Azure AI Projects 1.x i jest niezgodny z projektami sztucznej inteligencji Azure 2.x. Zobacz dokumentację Foundry (nową) dla wersji Azure AI Projects 2.x.

Zastąp endpoint swoim punktem dostępu w tym kodzie.

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)

Rozmowa z agentem

Utwórz agenta i porozmawiaj z nim.

Wskazówka

Kod używa zestawu SDK Azure AI Projects 1.x i jest niezgodny z projektami sztucznej inteligencji Azure 2.x. Zobacz dokumentację Foundry (nową) dla wersji Azure AI Projects 2.x.

Zastąp endpoint swoim punktem dostępu w tym kodzie.

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

Dodawanie plików do agenta

Agenci mają zaawansowane możliwości dzięki użyciu narzędzi. Dodajmy narzędzie do wyszukiwania plików, które umożliwia nam pobieranie wiedzy.

Wskazówka

Kod używa zestawu SDK Azure AI Projects 1.x i jest niezgodny z projektami sztucznej inteligencji Azure 2.x. Zobacz dokumentację Foundry (nową) dla wersji Azure AI Projects 2.x.

Zastąp endpoint swoim punktem dostępu w tym kodzie.

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)

Czyszczenie zasobów

Jeśli nie potrzebujesz już żadnych utworzonych zasobów, usuń grupę zasobów skojarzona z projektem.

  • W portalu Azure wybierz grupę zasobów, a następnie wybierz Delete. Upewnij się, że chcesz usunąć grupę zasobów.