Sztuczna inteligencja przestała być tylko hasłem przyszłości, dziś AI realnie wzbogaca aplikacje, również te pisane w .NET. Często słyszymy obawy, że "AI zastąpi programistów". W praktyce jednak to programiści, którzy korzystają z AI nie mają się czego obawiać. Dlatego warto już teraz poznać możliwości integracji .NET z usługami AI. W tym artykule opowiem, jak w prosty sposób dodać inteligentne funkcje do aplikacji .NET, wykorzystując Azure Cognitive Services (usługi AI od Microsoftu) oraz OpenAI API (np. modele GPT od OpenAI). Pokażę konkretne przykłady zastosowań, abyś mógł szybko zacząć eksperymentować z AI we własnym kodzie.
Azure Cognitive Services - AI w chmurze dla .NET
Azure Cognitive Services (znane też jako Azure AI Services) to zestaw gotowych usług chmurowych od Microsoftu, które dodają do aplikacji zdolność "widzenia", "słyszenia", "mówienia" i "rozumienia" użytkownika w naturalny sposób. Nie musisz budować ani trenować własnych modeli ML, Microsoft udostępnia pretrenowane modele poprzez proste API lub biblioteki dla .NET. Wystarczy założyć konto Azure, utworzyć odpowiednią usługę (np. Analiza Tekstu, Computer Vision itp.) i pobrać klucz API oraz endpoint.
Przykładowe możliwości Azure Cognitive Services, które łatwo wykorzystasz w .NET:
• Computer Vision – rozpoznawanie zawartości obrazów (np. wykrywanie obiektów, opisywanie scen na zdjęciu).
• Text Analytics – analiza tekstu: wykrywanie języka, analiza sentymentu wypowiedzi, ekstrakcja kluczowych fraz z dokumentu.
• Speech – przetwarzanie mowy: rozpoznawanie mowy (Speech to Text) oraz synteza mowy (Text to Speech).
• Translator – tłumaczenie tekstów na inne języki w locie.
Integracja jest bardzo prosta dzięki oficjalnym bibliotekom Azure dla .NET. Przykładowo, poniższy kod pokazuje użycie usługi Text Analytics do analizy sentymentu tekstu:
/* Analiza sentymentu za pomocą Azure Cognitive Services (Text Analytics) */
var client = new TextAnalyticsClient(new Uri(endpoint), new AzureKeyCredential(klucz));
var wynik = await client.AnalyzeSentimentAsync("I love this product!");
Console.WriteLine(wynik.Value.Sentiment); /* Wynik: Positive/Negative/Neutral */ Tutaj endpoint to URL Twojej usługi Azure (np. https://TwojaNazwa.cognitiveservices.azure.com) a klucz to klucz uwierzytelniający API. Kod tworzy klienta TextAnalyticsClient, wysyła do usługi przykładowy tekst "I love this product!" i otrzymuje analizę sentymentu. W tym przypadku wynik.Value.Sentiment może zwrócić np. Positive (pozytywny wydźwięk). Podobnie możesz wywołać inne funkcje, np. rozpoznać obiekty na zdjęciu przy użyciu klienta ComputerVisionClient, czy przetranskrybować audio na tekst używając SpeechClient. Wszystko sprowadza się do wywołania odpowiedniej metody API , resztą zajmują się gotowe modele AI Microsoftu.
OpenAI API – potęga modeli językowych w Twojej aplikacji
Drugim źródłem "inteligencji" dla aplikacji .NET są usługi od OpenAI, znane z modeli językowych takich jak GPT-3.5 czy GPT-4 (to one napędzają m.in. ChatGPT). OpenAI API umożliwia wysyłanie zapytań do tych zaawansowanych modeli językowych i odbieranie odpowiedzi wygenerowanych przez AI. Możesz to wykorzystać do generowania tekstu, podsumowań, odpowiadania na pytania użytkownika w stylu czatbota, a nawet pisania fragmentów kodu na podstawie opisu.
Integracja z OpenAI w .NET również jest osiągalna dla początkujących. Najprościej skorzystać z oficjalnej biblioteki OpenAI dla .NET (dostępnej na NuGet jako pakiet OpenAI). Po zainstalowaniu pakietu i zdobyciu klucza API z portalu OpenAI, komunikacja sprowadza się do kilku linijek kodu. Przykładowo, aby wygenerować odpowiedź modelu na zadany prompt (polecenie/tekst):
/* Wykorzystanie OpenAI API do wygenerowania tekstu (np. odpowiedzi czatbota) */
var openAiClient = new OpenAIClient(new OpenAIClientOptions(apiKey));
string prompt = "Wygeneruj krótki opis pogody w Warszawie.";
string odpowiedź = await openAiClient.GetCompletionAsync(prompt);
Console.WriteLine(odpowiedź);Powyższy kod (uproszczony) tworzy klienta OpenAI z podanym apiKey, wysyła do modelu polecenie z prośbą o opis pogody i wypisuje otrzymaną odpowiedź. W praktyce, przy użyciu oficjalnej biblioteki, możemy też skorzystać z modeli konwersacyjnych (ChatGPT) w podobny sposób, podając wiadomości od użytkownika i otrzymując odpowiedź asystenta. Wszystko odbywa się przez Internet, nasza aplikacja wysyła zapytanie HTTP do API OpenAI, a w odpowiedzi dostaje wygenerowany przez model wynik. Ważne jest, by przechowywać klucz API w bezpieczny sposób (np. w konfiguracji, nie w kodzie) i pamiętać, że usługa OpenAI jest płatna za wykorzystane tokeny (choć na start często otrzymuje się pewną pulę darmowych zapytań).
Przykłady zastosowań OpenAI w .NET: Możesz zbudować chatbota odpowiadającego na pytania użytkowników na podstawie dokumentacji firmy, generator tekstu do automatycznego tworzenia opisów produktów, lub np. asystenta programisty podpowiadającego fragmenty kodu. Model GPT potrafi też tłumaczyć tekst, pisać podsumowania czy nawet tworzyć proste treści marketingowe, wszystko to możesz zautomatyzować w swojej aplikacji poprzez jedno wywołanie API.
Podsumowanie
Integracja usług AI z .NET otwiera przed początkującymi programistami ogrom możliwości – od analityki danych tekstowych, przez rozpoznawanie obrazów i mowy, aż po generowanie odpowiedzi językowych zbliżonych do ludzkich. Co ważne, nie musisz być specjalistą od uczenia maszynowego, by z tych funkcji skorzystać. Zarówno Azure Cognitive Services, jak i OpenAI API, dostarczają gotową "inteligencję" na wyciągnięcie ręki, wystarczy wywołać odpowiednie metody API w swoim kodzie.
Na koniec zachęcam Cię do samodzielnych eksperymentów, np. załóż darmowe konto Azure i wypróbuj analizę sentymentu albo rozpoznawanie obiektów, a także skorzystaj z darmowych prób OpenAI, by zobaczyć jak model GPT odpowiada na Twoje zapytania. Jeśli temat AI w .NET Cię zainteresował i chcesz nauczyć się krok po kroku tworzyć inteligentne aplikacje, sprawdź more szkolenie online Szkoła AI w C#/.NET. W tym szkoleniu uczymy się praktycznie integrować .NET z usługami AI (Azure, OpenAI i nie tylko), budując od podstaw aplikacje wykorzystujące sztuczną inteligencję. To świetny sposób, aby nie zostać w tyle, bo przyszłość oprogramowania należy do aplikacji wzbogaconych o AI.