Aracılığıyla paylaş


Microsoft Foundry hızlı başlangıç kılavuzu (klasik)

Uyarı

Bu belge , Microsoft Foundry (klasik) portalını ifade eder.

Yeni portal hakkında bilgi edinmek için Microsoft Foundry (yeni) belgelerini görüntüleyin.

Bu hızlı başlangıçta, Microsoft Foundry'yi kullanarak şunları kullanacaksınız:

  • Proje oluştur
  • Bir model dağıtın
  • Sohbet tamamlama gerçekleştirme
  • Aracı oluşturma ve çalıştırma
  • Dosyaları aracıya yükle

Microsoft Foundry SDK'sı Python, Java, TypeScript ve C# gibi birden çok dilde kullanılabilir. Bu hızlı başlangıçta bu dillerin her biri için yönergeler sağlanır.

Tavsiye

Bu makalenin geri kalanında Bir Foundry projesinin nasıl oluşturulacağı ve kullanılacağı gösterilmektedir. Bunun yerine hub tabanlı bir proje kullanmak istiyorsanız bkz . Hızlı Başlangıç: Microsoft Foundry'yi (Hub projeleri) kullanmaya başlama . Hangi tür projeye ihtiyacım var?

Önkoşullar

  • Etkin aboneliği olan bir Azure hesabı. Hesabınız yoksa ücretsiz deneme aboneliği içeren bir free Azure hesabı oluşturun.
  • Abonelikte veya kaynak grubunda Azure Hesap Yapay Zeka Sahibi veya Azure Yapay Zeka Sahibi gibi bir Dökümhane kaynağı oluşturmanıza olanak tanıyan bir role erişim. İzinler hakkında daha fazla bilgi için bkz. Microsoft Foundry için rol tabanlı erişim denetimi.
  • Geliştirme ortamınızı hazırlama bölümünde açıklandığı gibi gerekli dil çalışma zamanlarını, genel araçları ve VS Code uzantılarını yükleyin.

Önemli

Başlamadan önce geliştirme ortamınızın hazır olduğundan emin olun.
Bu Hızlı Başlangıç, SDK yüklemesi, kimlik doğrulaması ve örnek kodu çalıştırma gibi senaryoya özgü adımlara odaklanır.

Portalda, birçok farklı sağlayıcının en son modellerinden oluşan zengin bir kataloğu keşfedebilirsiniz. Bu öğretici için gpt-4o modelini arayın ve seçin.

  1. Microsoft Foundry'de oturum açın. Yeni Dökümhane açma/kapama düğmesinin kapalı olduğundan emin olun. Bu adımlar Foundry (klasik) için geçerlidir.

  2. Projedeyseniz, projeden ayrılmak için sol üstteki içerik haritasında Microsoft Foundry'yi seçin. Birazdan yeni bir tane oluşturacaksınız.

  3. Giriş sayfasından veya Model kataloğundangpt-4o (veya gpt-4o-mini) öğesini seçin.

    Dökümhane portalında bir modelle nasıl başlayacağını gösteren ekran görüntüsü.

  4. Bu modeli kullan'ı seçin. İstendiğinde yeni bir proje adı girin ve Oluştur'u seçin.

  5. Dağıtım adını gözden geçirin ve Oluştur'u seçin.

  6. Ardından bir dağıtım türü seçtikten sonra Bağlan ve dağıt'ı seçin.

  7. Dağıtıldıktan sonra dağıtım sayfasında Oyun alanında aç'ı seçin.

  8. Modelin önceden dağıtılıp kullanıma hazır olduğu Sohbet oyun alanında yer alırsınız.

Aracı oluşturuyorsanız, bunun yerine Aracı oluşturma ile başlayabilirsiniz. Adımlar benzerdir, ancak farklı bir sıradadır. Proje oluşturulduktan sonra Sohbet oyun alanı yerine Aracı oyun alanı'na ulaşırsınız.

Kod oluşturmaya hazırlanma

Tavsiye

Kod, Azure AI Projeleri 1.x SDK kullanır ve Azure AI Projeleri 2.x ile uyumlu değildir. Azure AI Projeleri 2.x sürümü için Foundry (yeni) belgelerini görüntüleyin.

  • Python
  • C#
  • TypeScript
  • Java
  • REST API
  • Dökümhane portalı
  1. Şu paketleri yükleyin:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. Projenin hoş geldiniz ekranında proje uç noktanızı bulun.

    Uç nokta URL'sini ve kopyala düğmesini gösteren Microsoft Foundry Modelleri hoş geldiniz ekranının ekran görüntüsü.

  3. Python betiklerinizi çalıştırmadan önce kimlik doğrulaması yapmak için CLI az login (veya az login --use-device-code) komutunu kullanarak oturum açtığınızdan emin olun.

Aşağıdaki adımları izleyin veya kodu alın:

Kodu alma

Modelle sohbet etme

Sohbet tamamlamaları, yapay zeka uygulamalarının temel yapı taşlarıdır. Sohbet tamamlamalarını kullanarak bir ileti listesi gönderebilir ve modelden yanıt alabilirsiniz.

Tavsiye

Kod, Azure AI Projeleri 1.x SDK kullanır ve Azure AI Projeleri 2.x ile uyumlu değildir. Azure AI Projeleri 2.x sürümü için Foundry (yeni) belgelerini görüntüleyin.

Uç noktanızı şu koddaki ile değiştirin:

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)

Temsilciyle sohbet edin

Bir aracı oluşturun ve onunla sohbet edin.

Tavsiye

Kod, Azure AI Projeleri 1.x SDK kullanır ve Azure AI Projeleri 2.x ile uyumlu değildir. Azure AI Projeleri 2.x sürümü için Foundry (yeni) belgelerini görüntüleyin.

Uç noktanızı şu koddaki ile değiştirin:

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

Aracıya dosya ekleme

Temsilciler, araçların kullanımıyla güçlü yeteneklere sahiptir. Bilgi alma işlemi yapmamıza olanak tanıyan bir dosya arama aracı ekleyelim.

  • Temsilcinize vermek için product_info_1.md dosyasını indirin.

Tavsiye

Kod, Azure AI Projeleri 1.x SDK kullanır ve Azure AI Projeleri 2.x ile uyumlu değildir. Azure AI Projeleri 2.x sürümü için Foundry (yeni) belgelerini görüntüleyin.

Uç noktanızı şu koddaki ile değiştirin:

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)

Kaynakları temizle

Oluşturduğunuz kaynaklardan herhangi birine artık ihtiyacınız yoksa projenizle ilişkili kaynak grubunu silin.

  • Azure portalında kaynak grubunu seçin ve ardından Delete öğesini seçin. Kaynak grubunu silmek istediğinizi onaylayın.
  • Hızlı Başlangıç: Yeni aracı oluşturma
  • İstemci kitaplığına genel bakış