Skip to content

Latest commit

 

History

History
223 lines (158 loc) · 12 KB

File metadata and controls

223 lines (158 loc) · 12 KB

Phi Family in AITK

AI Toolkit for VS Code спрощує розробку додатків із генеративним ШІ, об'єднуючи найсучасніші інструменти та моделі AI від Microsoft Foundry Catalog та інших каталогів, таких як Hugging Face. Ви зможете переглядати каталог моделей ШІ, який працює на базі GitHub Models та Microsoft Foundry Model Catalogs, завантажувати їх локально або віддалено, донавчати, тестувати та використовувати у вашому додатку.

Попередній перегляд AI Toolkit працюватиме локально. Локальне виведення або донавчання залежить від вибраної моделі, можливо, вам знадобиться GPU, наприклад NVIDIA CUDA GPU. Ви також можете запускати GitHub Models безпосередньо через AITK.

Початок роботи

Дізнайтеся більше про встановлення підсистеми Windows для Linux

та змінення розподілу за замовчуванням.

Репозиторій AI Toolkit на GitHub

Встановлення AI Toolkit

AI Toolkit постачається як розширення для Visual Studio Code, тому спочатку потрібно встановити VS Code та завантажити AI Toolkit із VS Marketplace.
AI Toolkit доступний у Visual Studio Marketplace і може бути встановлений як будь-яке інше розширення VS Code.

Якщо ви не знайомі з встановленням розширень VS Code, виконайте наступні кроки:

Вхід у систему

  1. У панелі активності VS Code виберіть Extensions
  2. У рядку пошуку розширень введіть "AI Toolkit"
  3. Виберіть "AI Toolkit for Visual Studio code"
  4. Натисніть Install

Тепер ви готові користуватися розширенням!

Вам буде запропоновано увійти в GitHub, тож натисніть "Allow" для продовження. Вас буде перенаправлено на сторінку входу GitHub.

Будь ласка, увійдіть і дотримуйтесь кроків процесу. Після успішного завершення вас повернуть до VS Code.

Після встановлення розширення ви побачите іконку AI Toolkit у панелі активності.

Давайте дослідимо доступні дії!

Доступні дії

Головна бічна панель AI Toolkit організована в секції

  • Моделі
  • Ресурси
  • Пісочниця
  • Донавчання
  • Оцінювання

Доступні у розділі Resources. Щоб почати, виберіть Model Catalog.

Завантаження моделі з каталогу

При запуску AI Toolkit із бічної панелі VS Code ви можете обрати такі опції:

AI toolkit model catalog

  • Знайти підтримувану модель у Model Catalog і завантажити локально
  • Протестувати виведення моделі у Model Playground
  • Донавчати модель локально або віддалено у Model Fine-tuning
  • Розгорнути донавчені моделі у хмарі через командну палітру AI Toolkit
  • Оцінити моделі

Note

GPU та CPU

Ви помітите, що на картках моделей показані розмір моделі, платформа та тип акселератора (CPU, GPU). Для оптимальної продуктивності на пристроях Windows з принаймні одним GPU обирайте версії моделей, які підтримують лише Windows.

Це гарантує, що модель оптимізована для акселератора DirectML.

Імена моделей мають формат

  • {model_name}-{accelerator}-{quantization}-{format}.

Щоб перевірити наявність GPU на вашому пристрої Windows, відкрийте Диспетчер завдань і виберіть вкладку Performance. Якщо GPU(и) є, вони будуть перелічені під назвами, як-от "GPU 0" або "GPU 1".

Запуск моделі у пісочниці

Після встановлення всіх параметрів натисніть Generate Project.

Після завантаження моделі виберіть Load in Playground на картці моделі у каталозі:

  • Ініціювати завантаження моделі
  • Встановити всі необхідні залежності
  • Створити робочий простір VS Code

Load model in playground

Використання REST API у вашому додатку

AI Toolkit постачається з локальним веб-сервером REST API на порті 5272, який використовує формат чат-комплітів OpenAI.

Це дозволяє тестувати ваш додаток локально без необхідності покладатися на хмарний сервіс моделей ШІ. Наприклад, наведений нижче JSON-файл показує, як налаштувати тіло запиту:

{
    "model": "Phi-4",
    "messages": [
        {
            "role": "user",
            "content": "what is the golden ratio?"
        }
    ],
    "temperature": 0.7,
    "top_p": 1,
    "top_k": 10,
    "max_tokens": 100,
    "stream": true
}

Ви можете тестувати REST API за допомогою (наприклад) Postman або утиліти CURL (Client URL):

curl -vX POST http://127.0.0.1:5272/v1/chat/completions -H 'Content-Type: application/json' -d @body.json

Використання бібліотеки OpenAI для Python

from openai import OpenAI

client = OpenAI(
    base_url="http://127.0.0.1:5272/v1/", 
    api_key="x" # необхідно для API, але не використовується
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            "role": "user",
            "content": "what is the golden ratio?",
        }
    ],
    model="Phi-4",
)

print(chat_completion.choices[0].message.content)

Використання бібліотеки Azure OpenAI для .NET

Додайте Azure OpenAI клієнтську бібліотеку для .NET до вашого проекту через NuGet:

dotnet add {project_name} package Azure.AI.OpenAI --version 1.0.0-beta.17

Додайте файл C# під назвою OverridePolicy.cs у ваш проект і вставте наступний код:

// OverridePolicy.cs
using Azure.Core.Pipeline;
using Azure.Core;

internal partial class OverrideRequestUriPolicy(Uri overrideUri)
    : HttpPipelineSynchronousPolicy
{
    private readonly Uri _overrideUri = overrideUri;

    public override void OnSendingRequest(HttpMessage message)
    {
        message.Request.Uri.Reset(_overrideUri);
    }
}

Далі вставте наступний код у файл Program.cs:

// Program.cs
using Azure.AI.OpenAI;

Uri localhostUri = new("http://localhost:5272/v1/chat/completions");

OpenAIClientOptions clientOptions = new();
clientOptions.AddPolicy(
    new OverrideRequestUriPolicy(localhostUri),
    Azure.Core.HttpPipelinePosition.BeforeTransport);
OpenAIClient client = new(openAIApiKey: "unused", clientOptions);

ChatCompletionsOptions options = new()
{
    DeploymentName = "Phi-4",
    Messages =
    {
        new ChatRequestSystemMessage("You are a helpful assistant. Be brief and succinct."),
        new ChatRequestUserMessage("What is the golden ratio?"),
    }
};

StreamingResponse<StreamingChatCompletionsUpdate> streamingChatResponse
    = await client.GetChatCompletionsStreamingAsync(options);

await foreach (StreamingChatCompletionsUpdate chatChunk in streamingChatResponse)
{
    Console.Write(chatChunk.ContentUpdate);
}

Донавчання за допомогою AI Toolkit

  • Почніть з пошуку моделей та пісочниці.
  • Донавчання та виведення моделі за допомогою локальних обчислювальних ресурсів.
  • Віддалене донавчання та виведення з використанням ресурсів Azure

Донавчання з AI Toolkit

Ресурси запитань та відповідей AI Toolkit

Будь ласка, зверніться до нашої сторінки з Q&A для найпоширеніших питань і рішень


Відмова від відповідальності: Цей документ було перекладено за допомогою сервісу автоматичного перекладу Co-op Translator. Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ рідною мовою повинен вважатися авторитетним джерелом. Для критично важливої інформації рекомендується професійний переклад людиною. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.