Udostępnij przez


Szybki przewodnik startowy Microsoft Foundry

Note

Ten dokument odnosi się do portalu Microsoft Foundry (klasycznego).

🔄 Przejdź do nowej dokumentacji Microsoft Foundry, jeśli używasz nowego portalu.

Note

Ten dokument odnosi się do portalu Microsoft Foundry (nowy).

W tym szybkim przewodniku użyjesz Microsoft Foundry do interakcji z modelem Foundry, utworzyć i rozmawiać z agentem.

Prerequisites

Ustawianie zmiennych środowiskowych i pobieranie kodu

Zapisz punkt końcowy projektu jako zmienną środowiskową. Ustaw również te wartości do użycia w skryptach.

PROJECT_ENDPOINT=<endpoint copied from welcome screen>
AGENT_NAME="MyAgent"
MODEL_DEPLOYMENT_NAME="gpt-4.1-mini"

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

Zaloguj się, używając polecenia CLI az login, aby potwierdzić swoją tożsamość przed uruchomieniem skryptów Pythona.

Instalowanie i uwierzytelnianie

Upewnij się, że zainstalujesz poprawną wersję zapoznawczą/wstępną pakietów, jak pokazano na tej stronie.

  1. Zainstaluj te pakiety, w tym wersję zapoznawcza programu azure-ai-projects. Ta wersja używa API projektów Foundry (nowe) (wersja zapoznawcza).

    pip install azure-ai-projects --pre
    pip install openai azure-identity python-dotenv
    
  2. Zaloguj się, używając polecenia CLI az login, aby potwierdzić swoją tożsamość przed uruchomieniem skryptów Pythona.

Tip

Kod używa usługi Azure AI Projects 2.x (wersja zapoznawcza) i jest niezgodny z usługą Azure AI Projects 1.x. Przejdź do dokumentacji usługi Foundry (wersja klasyczna) dla wersji GA Azure AI Projects 1.x.

Rozmowa z modelem

Interakcja z modelem to podstawowy blok konstrukcyjny aplikacji sztucznej inteligencji. Wyślij dane wejściowe i odbierz odpowiedź z modelu:

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

load_dotenv()

print(f"Using PROJECT_ENDPOINT: {os.environ['PROJECT_ENDPOINT']}")
print(f"Using MODEL_DEPLOYMENT_NAME: {os.environ['MODEL_DEPLOYMENT_NAME']}")

project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

openai_client = project_client.get_openai_client()

response = openai_client.responses.create(
    model=os.environ["MODEL_DEPLOYMENT_NAME"],
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

Tip

Kod używa usługi Azure AI Projects 2.x (wersja zapoznawcza) i jest niezgodny z usługą Azure AI Projects 1.x. Przejdź do dokumentacji (wersja klasyczna) Foundry dla wersji ogólnie dostępnej (GA) w usłudze Azure AI Projects 1.x.

Utwórz agenta

Utwórz agenta przy użyciu wdrożonego modelu.

Agent definiuje podstawowe zachowanie. Po utworzeniu zapewnia spójne odpowiedzi w interakcjach użytkownika bez powtarzania instrukcji za każdym razem. Agentów można aktualizować lub usuwać w dowolnym momencie.

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.models import PromptAgentDefinition

load_dotenv()

project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent = project_client.agents.create_version(
    agent_name=os.environ["AGENT_NAME"],
    definition=PromptAgentDefinition(
        model=os.environ["MODEL_DEPLOYMENT_NAME"],
        instructions="You are a helpful assistant that answers general questions",
    ),
)
print(f"Agent created (id: {agent.id}, name: {agent.name}, version: {agent.version})")

Tip

Kod używa usługi Azure AI Projects 2.x (wersja zapoznawcza) i jest niezgodny z usługą Azure AI Projects 1.x. Przejdź do dokumentacji Foundry (klasyczna) dla wersji GA projektu Azure AI Projects 1.x.

Rozmowa z agentem

Użyj wcześniej utworzonego agenta o nazwie "MyAgent", aby nawiązać interakcję, zadając pytanie i powiązaną odpowiedź. Konwersacja zachowuje historię podczas tych interakcji.

import os
from dotenv import load_dotenv
from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient

load_dotenv()

project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

agent_name = os.environ["AGENT_NAME"]
openai_client = project_client.get_openai_client()

# Optional Step: Create a conversation to use with the agent
conversation = openai_client.conversations.create()
print(f"Created conversation (id: {conversation.id})")

# Chat with the agent to answer questions
response = openai_client.responses.create(
    conversation=conversation.id, #Optional conversation context for multi-turn
    extra_body={"agent": {"name": agent_name, "type": "agent_reference"}},
    input="What is the size of France in square miles?",
)
print(f"Response output: {response.output_text}")

# Optional Step: Ask a follow-up question in the same conversation
response = openai_client.responses.create(
    conversation=conversation.id,
    extra_body={"agent": {"name": agent_name, "type": "agent_reference"}},
    input="And what is the capital city?",
)
print(f"Response output: {response.output_text}")

Tip

Kod używa usługi Azure AI Projects 2.x (wersja zapoznawcza) i jest niezgodny z usługą Azure AI Projects 1.x. Przejdź do klasycznej dokumentacji Foundry dla wersji 1.x GA Azure AI Projects.

Uprzątnij zasoby

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

  • W witrynie Azure Portal wybierz grupę zasobów, a następnie wybierz pozycję Usuń. Upewnij się, że chcesz usunąć grupę zasobów.

Następny krok

W tym szybkim rozpoczęciu użyjesz Microsoft Foundry do:

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

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

Tip

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

Prerequisites

Important

Przed rozpoczęciem upewnij się, że środowisko deweloperskie jest gotowe.
Ten Szybki start koncentruje się na krokach specyficznych dla scenariusza, takich jak instalacja zestawu 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 usługi 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, aby opuścić projekt. Za chwilę 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 pozycję 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 pozycję Otwórz na placu zabaw na stronie wdrożenia po jej wdrożeniu.

  8. Lądujesz na placu zabaw czatu ze wstępnie wdrożonym modelem i gotowym do użycia.

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

Przygotuj się do kodu

Tip

Kod używa zestawu AZURE AI Projects 1.x SDK i jest niezgodny z usługą Azure AI Projects 2.x (wersja zapoznawcza). Przejdź do nowej dokumentacji Foundry dla wersji Azure AI Projects 2.x (wersja preview).

  1. Zainstaluj następujące pakiety:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Modele Microsoft Foundry umożliwiają klientom korzystanie z najpotężniejszych modeli od flagowych dostawców za pomocą jednego punktu końcowego i tych samych poświadczeń. Oznacza to, że można przełączać się między modelami i korzystać z nich z aplikacji bez konieczności zmieniania pojedynczego wiersza kodu.

    Skopiuj punkt końcowy projektu Foundry w sekcji Przegląd projektu. Użyjesz go za chwilę.

    Zrzut ekranu przedstawia przegląd projektu dla projektu Foundry.

    Tip

    Jeśli nie widzisz punktu końcowego projektu Foundry, używasz projektu opartego na centrum. (Zobacz Typy projektów). Przejdź do projektu Foundry lub użyj powyższych kroków, aby go utworzyć.

  3. Pamiętaj, aby zalogować się za pomocą CLI az login (lub az login --use-device-code) do uwierzytelnienia przed uruchomieniem skryptów Pythona.

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

Rozmowa z modelem

Uzupełnianie czatów to podstawowy blok konstrukcyjny aplikacji sztucznej inteligencji. Korzystając z uzupełniania czatu, możesz wysłać listę wiadomości i uzyskać odpowiedź od modelu.

Tip

Kod używa zestawu AZURE AI Projects 1.x SDK i jest niezgodny z usługą Azure AI Projects 2.x (wersja zapoznawcza). Przejdź do nowej dokumentacji Foundry dla wersji zapoznawczej Azure AI Projects 2.x.

Zastąp element endpoint swoim punktem końcowym 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.

Tip

Kod używa zestawu AZURE AI Projects 1.x SDK i jest niezgodny z usługą Azure AI Projects 2.x (wersja zapoznawcza). Przejdź do dokumentacji rozwiązania Foundry (nowa) dla wersji usługi Azure AI Projects 2.x (wersja zapoznawcza).

Zastąp element endpoint swoim punktem końcowym 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.

Tip

Kod używa zestawu AZURE AI Projects 1.x SDK i jest niezgodny z usługą Azure AI Projects 2.x (wersja zapoznawcza). Przejdź do nowej dokumentacji Foundry dla wersji zapoznawczej usługi Azure AI Projects 2.x.

Zastąp element endpoint swoim punktem końcowym 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)

Uprzątnij zasoby

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

W portalu Microsoft Foundry wybierz nazwę projektu w prawym górnym rogu. Następnie wybierz link do grupy zasobów, aby otworzyć ją w witrynie Azure Portal. Wybierz grupę zasobów, a następnie wybierz pozycję Usuń. Upewnij się, że chcesz usunąć grupę zasobów.