Microsoft Foundry Quickstart (كلاسيكي)

المشاهدة الحالية:نسخة - التحويل إلى النسخة الخاصة ببوابة Foundry الجديدة

في هذا البدء السريع، تستخدم Microsoft Foundry ل:

  • أنشئ مشروعا
  • نشر نموذج
  • شغل إكمال محادثة
  • إنشاء وكيل وتشغيله
  • رفع الملفات إلى الوكيل

يتوفر Microsoft Foundry SDK بعدة لغات، بما في ذلك Python وJava وTypeScript وC#. يوفر هذا البدء السريع تعليمات لكل من هذه اللغات.

نصيحة

يوضح بقية هذا المقال كيفية إنشاء واستخدام مشروع Foundry. انظر Quickstart: ابدأ ب Microsoft Foundry (مشاريع المركز) إذا كنت ترغب في استخدام مشروع يعتمد على المحور بدلا من ذلك. أي نوع من المشاريع أحتاج؟

المتطلبات الأساسية

  • حساب Azure مع اشتراك نشط. إذا لم يكن لديك واحد، أنشئ حساب Azure مجاني مجاني، يشمل اشتراكا تجريبيا مجانيا.
  • الوصول إلى دور يسمح لك بإنشاء مورد في Foundry، مثل مالك حساب Foundry أو Foundry Owner على مجموعة الاشتراك أو الموارد. لمزيد من المعلومات حول الأذونات، راجع التحكم في الوصول القائم على الأدوار ل Microsoft Foundry.

    مهم

    تم تغيير اسم أدوار RBAC في Foundry مؤخرا. Foundry User، Foundry Owner، Foundry Account Owner، وFoundry Project Manager تم تسميتها سابقا Azure مستخدم الذكاء الاصطناعي، ومالك الذكاء الاصطناعي Azure، ومالك حساب Azure الذكاء الاصطناعي، ومدير Project الذكاء الاصطناعي Azure. قد ترى الأسماء السابقة في بعض الأماكن أثناء صدور إعادة التسمية. معرفات الأدوار والأذونات الأساسية لم تتغير عند إعادة الاسم.

  • قم بتثبيت أوقات تشغيل اللغة المطلوبة، والأدوات العامة، وإضافات VS Code كما هو موضح في إعداد بيئة التطوير الخاصة بك.

مهم

قبل البدء، تأكد من أن بيئة التطوير جاهزة.
يركز هذا البدء السريع على خطوات محددة للسيناريوهات مثل تثبيت SDK، والمصادقة، وتشغيل كود العينة النموذجية.

في البوابة، يمكنك استكشاف مجموعة غنية من النماذج المتطورة من العديد من المزودين المختلفين. لهذا الدرس، ابحث ثم اختر نموذج gpt-4o .

  1. سجل الدخول إلى Microsoft Foundry. تأكد من إيقاف مفتاح New Foundry . تشير هذه الخطوات إلى Foundry (الكلاسيكي).

  2. إذا كنت في مشروع، اختر Microsoft Foundry في الزاوية العلوية اليسرى لمغادرة المشروع. ستخلق قصة جديدة بعد لحظة.

  3. من صفحة الهبوط أو كتالوج النماذج، اختر gpt-4o (أو gpt-4o-mini).

    لقطة شاشة تظهر كيفية البدء مع نموذج في بوابة Foundry.

  4. اختر استخدام هذا النموذج. عند الطلب، أدخل اسم مشروع جديد واختر الإنشاء.

  5. راجع اسم النشر واختر إنشاء ( Create).

  6. ثم اختر Connect ونشر بعد اختيار نوع النشر.

  7. اختر فتح في ساحة اللعب من صفحة النشر بعد نشرها.

  8. تهبط في ساحة الدردشة والنموذج مطلق مسبقا وجاهز للاستخدام.

إذا كنت تبني وكيل، يمكنك البدء ب Create a Agent. الخطوات متشابهة، لكن بترتيب مختلف. بمجرد إنشاء المشروع، تصل إلى ملعب الوكلاء بدلا من ملعب الدردشة.

استعد للبرمجة

نصيحة

يستخدم الكود Azure مشروع الذكاء الاصطناعي 1.x SDK وهو غير متوافق مع مشاريع الذكاء الاصطناعي Azure 2.x. انظر وثائق Foundry (الجديدة) لإصدار مشاريع الذكاء الاصطناعي Azure 2.x.

  1. قم بتثبيت هذه الحزم:

    pip install openai azure-identity azure-ai-projects==1.0.0
    
  2. ابحث عن نقطة نهاية مشروعك على شاشة الترحيب بالمشروع.

    لقطة شاشة لشاشة الترحيب Microsoft Foundry Models تعرض رابط نقطة النهاية وزر النسخ.

  3. تأكد من تسجيل الدخول باستخدام أمر CLI az login (أو az login --use-device-code) للمصادقة قبل تشغيل سكريبتات Python الخاصة بك.

تابع المتابعة أدناه أو احصل على الرمز:

دردشة مع عارضة أزياء

إكمال المحادثات هو الأساس الأساسي لتطبيقات الذكاء الاصطناعي. باستخدام إكمال الدردشة يمكنك إرسال قائمة بالرسائل والحصول على رد من النموذج.

نصيحة

يستخدم الكود Azure مشروع الذكاء الاصطناعي 1.x SDK وهو غير متوافق مع مشاريع الذكاء الاصطناعي Azure 2.x. انظر وثائق Foundry (الجديدة) لإصدار مشاريع الذكاء الاصطناعي Azure 2.x.

استبدل نقطة النهاية الخاصة بك ب في endpoint هذا الكود:

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)

تحدث مع وكيل

أنشئ وكيلا وتحدث معه.

نصيحة

يستخدم الكود Azure مشروع الذكاء الاصطناعي 1.x SDK وهو غير متوافق مع مشاريع الذكاء الاصطناعي Azure 2.x. انظر وثائق Foundry (الجديدة) لإصدار مشاريع الذكاء الاصطناعي Azure 2.x.

استبدل نقطة النهاية الخاصة بك ب في endpoint هذا الكود:

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

إضافة الملفات إلى الوكيل

يمتلك العملاء قدرات قوية من خلال استخدام الأدوات. لنضيف أداة بحث ملفات تمكننا من استرجاع المعرفة.

نصيحة

يستخدم الكود Azure مشروع الذكاء الاصطناعي 1.x SDK وهو غير متوافق مع مشاريع الذكاء الاصطناعي Azure 2.x. انظر وثائق Foundry (الجديدة) لإصدار مشاريع الذكاء الاصطناعي Azure 2.x.

استبدل نقطة النهاية الخاصة بك ب في endpoint هذا الكود:

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)

موارد التنظيف

إذا لم تعد بحاجة لأي من الموارد التي أنشأتها، احذف مجموعة الموارد المرتبطة بمشروعك.

  • في بوابة Azure، اختر مجموعة الموارد، ثم اختر Delete. تأكد أنك تريد حذف مجموعة الموارد.