Posted on 5. April 2024

Transform your business with smart .NET apps powered by Azure and ChatGPT

Трансформуйте свій бізнес за допомогою розумних .NET-додатків на базі Azure та ChatGPT


За допомогою ChatGPT ви можете розкрити весь потенціал штучного інтелекту у своїх програмах .NET і гарантувати неймовірний досвід для користувачів від використання природної мови. ChatGPT — це більше, ніж просто інструмент; це те, що кардинально змінює те, як ми отримуємо доступ до даних і аналізуємо їх. Незалежно від того, використовуєте ви Azure, SQL Server або будь-яке інше джерело даних, ви можете легко інтегрувати ChatGPT у свої проєкти .NET і почати створювати інтелектуальні програми вже сьогодні.


У цій публікації я дам короткий огляд того, що таке інтелектуальні програми. Потім, використовуючи зразок програми, я покажу, як за допомогою комбінації служб Azure, таких як Azure OpenAI Service і Azure Cognitive Search, ви можете створювати власні інтелектуальні програми .NET.

TLDR

Ви найкраще вчитеся на практичному досвіді? Ознайомтеся з репозиторієм і приступайте прямо зараз!

Створіть свій власний розумний додаток .NET

Що таке розумні програми?

Розумні програми — це програми на основі штучного інтелекту, які змінюють продуктивність користувачів, автоматизують процеси та дають змогу отримувати різну інформацію.


Bing Chat є прикладом інтелектуальної програми.

Зображення розмови Bing Chat про рецепти


ШІ лежить в основі Bing Chat. Bing Chat використовує штучний інтелект для обробки складних запитів, узагальнення релевантної інформації з різних джерел і створення відповідей.


Створюйте інтелектуальні програми за допомогою .NET

Тепер, коли ви маєте уявлення про те, що таке інтелектуальні програми, давайте подивимося на приклад програми, створеної за допомогою .NET, Azure і ChatGPT.


Переглянути відео


Припустімо, у вас є внутрішня корпоративна база знань, яка містить інформацію про посади, плани охорони здоров’я та інші ділові документи.


Можливо, ваші користувачі вже можуть здійснювати пошук у цій базі знань, але пошук відповідей на конкретні запитання шляхом фільтрування всіх документів у результатах пошуку може зайняти багато часу.

Використовуючи моделі штучного інтелекту, такі як ChatGPT, ви можете змінити продуктивність своїх користувачів, узагальнюючи інформацію, що міститься в цих документах, формуючи ключові висновки.


Архітектура програми

Вихідний код програми знаходиться на GitHub. Нижче наведено основні компоненти програми.

Інтерфейс користувача

Інтерфейс програми є статичною веб-програмою Blazor WebAssembly . Цей інтерфейс приймає запити користувачів, направляє запити до серверної частини програми та відображає згенеровані відповіді. Якщо ви працюєте з клієнтськими програмами на мобільному телефоні чи настільному комп’ютері, .NET MAUI також буде хорошим варіантом для цього компонента.

Сервер програми

Бекенд програми — це мінімальний API ASP.NET Core . Серверна частина містить статичну веб-програму Blazor і те, що організовує взаємодію між різними службами. Послуги, які використовуються в цій програмі, включають:


– Azure Cognitive Search – індексує документи з даних, що зберігаються в обліковому записі Azure Storage. Це робить документи доступними для пошуку.


– Служба Azure OpenAI – надає моделі ChatGPT для створення відповідей. Крім того, Semantic Kernel використовується в поєднанні зі службою Azure OpenAI Service для організації більш складних робочих процесів ШІ.


Azure Redis Cache – кешує відповіді. Це зменшує затримку під час створення відповідей на схожі запитання та допомагає керувати витратами, оскільки вам не потрібно робити інший запит до служби Azure OpenAI.


Надання ресурсів і середовища для розробника

З усіма згаданими послугами процес початкового налаштування може здатися складним. Однак ми спростили цей процес за допомогою Azure Developer CLI . Якщо ви не хочете встановлювати будь-яку залежність, ми також можемо вам допомогти. Просто відкрийте репозиторій у GitHub Codespaces і використовуйте Azure Developer CLI, щоб надати свої послуги.


Використання ChatGPT у ваших документах

Тепер, коли ви знаєте компоненти, з яких складається ця програма, давайте подивимося, як вони працюють разом у контексті чату.


Перш ніж почати спілкуватися в чаті зі своїми документами, ви захочете мати базу знань, до якої можна зробити запит. Швидше за все, у вас вона вже є. Для цього прикладу програми ми зробили просту базу знань. У каталозі даних програми є набір PDF-документів. Щоб завантажити їх у Azure Storage та індексувати в Azure Cognitive Search, ми створили консольну програму C#.



Консольна програма C# виконує такі дії:

1. Використовує Azure Form Recognizer для вилучення тексту з кожного документа.

2. Розбиває документи на менші уривки. (нарізка)

3. Створює новий документ PDF для кожного з уривків.

4. Завантажує уривок до облікового запису сховища Azure.

5. Створює індекс у Azure Cognitive Search.

6. Додає документи до індексу когнітивного пошуку Azure.

 

Чому PDF-файли розбиваються на частини?


Моделі OpenAI, такі як ChatGPT, мають обмеження на токени. Щоб отримати додаткові відомості про обмеження маркерів, перегляньте довідковий посібник із квот і обмежень служби Azure OpenAI.


У цьому прикладі процес створення бази знань є ручним. Однак, залежно від ваших потреб, ви можете запускати його як завдання на основі подій щоразу, коли новий документ додається до облікового запису Azure Storage, або пакетно як фонове завдання.


Ще один шаблон, про який варто згадати, передбачає використання вбудовування для кодування семантичної інформації про ваші дані. Ці вбудовування зазвичай зберігаються у векторних базах даних. Щоб отримати коротку інформацію про вбудовування, перегляньте документацію щодо вбудовування Azure OpenAI . Цей шаблон не є основним, що використовується в цьому прикладі, і виходить за рамки цієї публікації. Однак у наступних публікаціях ми розглянемо ці теми більш детально, тож слідкуйте за оновленнями!


Спілкуйтеся зі своїми даними

Коли ви налаштуєте свою базу знань, настав час поспілкуватися з нею.


Зображення запитання, яке ставлять у веб-програмі ChatGPT .NET

Запит до бази знань починається з того, що користувач вводить запитання у веб-програмі Blazor. Потім запит користувача направляється до ASP.NET Core Minimal Web API.


Всередині веб-інтерфейсу API кінцева точка chat обробляє запит.

api.MapPost(“chat”, OnPostChatAsync);

Щоб обробити запит, ми застосовуємо шаблон, відомий як Retrieval Augmented Generation, який робить наступне:

1. Запитує в базі знань відповідні документи

2. Використовує відповідні документи як контекст для створення відповіді


Запит до бази знань


Запити до Бази знань відбуваються за допомогою когнітивного пошуку Azure. Хоча когнітивний пошук Azure не розуміє природну мову, надану користувачем. На щастя, ми можемо використовувати ChatGPT, щоб допомогти перекласти природну мову в запит.

 

Використовуючи семантичне ядро, ми створюємо метод, який визначає шаблон підказки та додає історію чату та запитання користувача як додатковий контекст для створення запиту Azure Cognitive Search.

Потім цей метод використовується для створення запиту на створення команди.

Коли ви запускаєте функцію семантичного ядра, вона надає складену команду моделі Azure OpenAI Service ChatGPT, яка генерує відповідь.

З огляду на питання “Що входить до мого плану Northwind Health Plus, чого немає в стандарті?”, сформований запит може виглядати так: “Покриття плану Northwind Health Plus


Після створення запиту скористайтеся клієнтом Azure Cognitive Search, щоб зробити запит до індексу, що містить ваші документи.

На цьому етапі когнітивний пошук Azure поверне результати, які містять документи, які найбільше відповідають вашому запиту. Результати можуть виглядати так:


Northwind_Health_Plus_Benefits_Details-108.pdf: ви повинні надати Northwind Health Plus з копією EOB для первинного страхування, а також копію заяви, яку ви подали до свого первинного страхування. Це дозволить нам визначити переваги, доступні вам за Northwind Health Plus. Важливо зазначити, що Northwind Health Plus не покриває жодних витрат, які вважаються відповідальністю Основного покриття.

Benefit_Options-3.pdf: Плани також охоплюють профілактичні послуги, такі як мамографія, колоноскопія та інші скринінги на рак. Northwind Health Plus пропонує більш повне покриття, ніж Northwind Standard. Цей план пропонує покриття екстрених служб, як у мережі, так і поза мережею, а також покриття психічного здоров’я та зловживання психоактивними речовинами. Northwind Standard не пропонує покриття послуг екстреної допомоги, психічного здоров’я та токсикоманія, а також послуги поза мережею

Створення відповіді

Тепер, коли у вас є документи з відповідною інформацією, яка допоможе відповісти на запитання користувача, настав час використати їх для створення відповіді.


Ми починаємо з використання семантичного ядра для створення функції, яка створює запит, що містить історію чату, документи та додаткові запитання.

Чи жорстко ми кодуємо відповіді в запиті?


НЕ жорстко. Приклади в запиті слугують вказівками для моделі для створення відповіді. Відоме як кількакратне навчання.

Коли ви запускаєте функцію семантичного ядра, вона надає скомпонований запит для моделі Azure OpenAI Service ChatGPT, яка генерує відповідь.


Після деякого форматування відповідь повертається до веб-програми та відображається. Результат може виглядати приблизно так:


Зображення, на якому показано відповіді, згенеровані ChatGPT у веб-програмі .NET

Щоб підвищити довіру до відповідей, відповідь включає цитати, повну підказку, яка використовується для створення відповіді, і допоміжний вміст, що містить документи з результатів пошуку.

Створюйте власні інтелектуальні програми

Ми з нетерпінням чекаємо майбутнього інтелектуальних програм у .NET.

Перегляньте вихідний код програми на GitHub і використовуйте його як шаблон, щоб почати створювати інтелектуальні програми на основі власних даних.

 

Створіть свій власний розумний додаток .NET


 

Source




Posted on 16. March 2024

Get started with .NET 8 and AI using new quickstart tutorials

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

У планах на наступний рік – кілька чудових оновлень для .NET-розробників, які працюють зі штучним інтелектом (щоб дізнатися більше, ознайомтеся з нашим баченням .NET 9).  Якщо ви замислювалися над тим, щоб наповнити свої наявні .NET-додатки генеративними моделями штучного інтелекту та великими мовними моделями (LLM), зараз саме час зануритися в роботу, і у нас є нові інструкції, які допоможуть вам у цьому.

Вивчайте штучний інтелект за допомогою нових інструкцій зі швидкого запуску .NET

Ми щойно випустили новий набір швидких запусків, які ви можете використовувати з великими мовними моделями OpenAI (незабаром з’явиться ще більше моделей):

У кожному прикладі ви крок за кроком ознайомитеся з кодом, необхідним для виконання теми, за допомогою Azure OpenAI SDK. Дуже скоро ми також додамо версії цих прикладів з використанням Semantic Kernel SDK (ми опублікуємо пост тут, коли вони будуть готові).

Дізнайтеся більше про основні концепції

Якщо ChatGPT, LLM, моделі та OpenAI – це нові для вас терміни, або ви тільки починаєте працювати в цій сфері, ось кілька додаткових ресурсів, які допоможуть вам вивчити основні поняття та дослідити їх краще:

 



.NET | AI | C#
Posted on 9. December 2023

Learn .NET 8 with New Beginner Videos

Вивчайте .NET 8 з новими відео для початківців

Дивіться серію статей про .NET 8 для початківців


Новачок у .NET? Приєднуйтесь до нас і дивіться нову серію .NET 8 для початківців, щоб зрозуміти .NET крок за кроком. Ми щойно запустили дев’ять нових серій для початківців про C#, .NET, генеративний ШІ, NuGet, Visual Studio, VS Code та C# Dev Kit, Blazor Hybrid, .NET IoT та модернізацію .NET додатків. Ми розповімо про те, що таке .NET, що ви можете створювати з його допомогою, як почати роботу з професійними інструментами та поради щодо покращення ваших проектів.  


Нижче наведено огляд кожної нової серії.


Вивчайте C# від експертів  

Приєднуйтесь до Скотта Хансельмана та видатного інженера .NET Девіда Фаулера, які навчають нас C# з нуля. Від Hello World до LINQ і не тільки, Скотт і Девід ділитимуться уроками C# у глибокому та неквапливому темпі. Наприкінці ви будете готові до вивчення базової сертифікації C# від FreeCodeCamp!  

Дивіться на YouTube


Переглянути на Microsoft Learn


Генеративний ШІ з .NET для початківців   

Пориньте з головою в майбутнє, щоб дізнатися про безперешкодну інтеграцію штучного інтелекту (AI) і машинного навчання (ML) у ваші програми .NET, що відкриває перед вами безліч можливостей. Від розуміння основних концепцій до практичних занять з ChatGPT, Azure AI Services та ML.NET ви отримаєте навички створення інтелектуальних, адаптивних додатків. Приєднуйтесь до нас у цій подорожі та зробіть революцію у своїх .NET-додатках, використовуючи безмежний потенціал .NET, штучного інтелекту та хмарних розробок!


Дивіться на YouTube  


Переглянути на Microsoft Learn


.NET  

Не знайомі з .NET? Ми знаємо, що вам ще багато чого треба вивчити – тож приєднуйтесь до нас у серії .NET для початківців, щоб зрозуміти .NET крок за кроком. Ми розповімо про те, що таке .NET, що ви можете створювати з його допомогою, як розпочати роботу з VS Code та як покращити ваші проекти за допомогою пакетів NuGet.

  

Дивіться на YouTube  


Переглянути на Microsoft Learn


Azure для .NET розробників  

Курс .NET на Azure для початківців навчить вас основам Azure та використанню її сервісів і функцій для створення чудових хмарних додатків. Ви дізнаєтеся, як розгортати веб-додатки, працювати зі сховищем і даними, автентифікуватись і використовувати керовану ідентичність, використовувати можливості контейнерів і навіть розгортати за допомогою GitHub Actions. Наприкінці цього курсу ви матимете навички та впевненість, щоб почати розробляти власні .NET-додатки в Azure!

Дивіться на YouTube


Розробка на C# та .NET за допомогою Visual Studio  

Visual Studio – це інтегроване середовище розробки (IDE), яке є дуже популярним для робочих навантажень .NET та C++. У цій серії статей ми коротко розглянемо найкращі можливості Visual Studio, включаючи навігацію кодом, налагодження, тестування, завершення коду та спільну роботу. Ви дізнаєтесь все необхідне для початку роботи з Visual Studio 2022 та .NET 8, а також отримаєте багато цінних порад щодо кастомізації та підвищення продуктивності.  


Дивіться на YouTube


Переглянути на Microsoft Learn


Розробка C# та .NET за допомогою VS Code  

Писати C# додатки у Visual Studio Code ще ніколи не було так просто! Нещодавно ми представили нове розширення C# Dev Kit У цій серії відео ви дізнаєтеся, як почати писати, налагоджувати, тестувати і продуктивно запускати свої C# додатки у VS Code за допомогою нового розширення C# Dev Kit.

 

Дивіться на YouTube


Переглянути на Microsoft Learn


Керування пакетами .NET за допомогою NuGet  

NuGet – це інструмент, який спрощує процес включення сторонніх бібліотек та пакунків у ваші .NET проекти. У цій серії статей ви дізнаєтеся все про те, як використовувати NuGet, зокрема, як встановлювати та використовувати пакунки, як створювати та публікувати власні пакунки, а також про деякі найкращі практики та функції безпеки, на які слід звернути увагу при використанні NuGet для взаємодії з екосистемою відкритого вихідного коду. 

Дивіться на YouTube


Переглянути на Microsoft Learn


Blazor Hybrid   

Приєднуйтесь до Джеймса Монтемагно (James Montemagno), який проведе вас у подорож по створенню ваших перших гібридних додатків для iOS, Android, Mac, Windows та Web за допомогою ASP.NET Core, Blazor, Blazor Hybrid та .NET MAUI! Ви дізнаєтесь, як використовувати Blazor Hybrid для поєднання нативних клієнтських фреймворків для настільних та мобільних пристроїв з .NET та Blazor.

Дивіться на YouTube  


Переглянути на Microsoft Learn


.NET IoT  

Оскільки .NET є кросплатформенною і працює на різних архітектурах процесорів, вона сумісна з широким спектром одноплатних комп’ютерів, включаючи Raspberry Pi. Ці пристрої широко використовуються в сценаріях Інтернету речей (IoT) для зв’язку з датчиками, дисплеями, аналого-цифровими перетворювачами тощо. У цій серії ви дізнаєтесь про основи запуску коду .NET на одноплатних комп’ютерах та ефективне використання бібліотек .NET IoT для зв’язку з різними пристроями Інтернету речей. Ви також побачите різні практичні приклади, які надихнуть вас на створення власних проектів! 

Дивіться на YouTube 


Переглянути на Microsoft Learn


Оновлення додатків за допомогою .NET  

Щороку виходять нові версії .NET, і тепер дуже легко перейти на найновішу версію, незалежно від того, який цільовий фреймворк .NET ви зараз використовуєте. У цій серії статей ви дізнаєтеся, як оновити свої програми до найновішої версії .NET за допомогою існуючих інструментів від Microsoft. Ми розглянемо оновлення для різних типів додатків, використовуючи як розширення Visual Studio, так і інструмент CLI. 

Дивіться на YouTube 

 

Переглянути на Microsoft Learn