Omówienie funkcji Azure OpenAI i uzupełniania tekstu
Usługa Azure OpenAI Service zapewnia dostęp interfejsu API REST do zaawansowanych modeli językowych platformy OpenAI, w tym serii modeli GPT-3.5 i GPT-4. Modele te można łatwo dostosować do określonego zadania, w tym między innymi generowania zawartości, podsumowywania, wyszukiwania semantycznego i języka naturalnego do tłumaczenia kodu.
Oprócz dostępu do interfejsu API REST zestaw SDK platformy .NET istnieje w celu uzyskania dostępu do usługi Azure OpenAI Service. I to właśnie użyjemy do skompilowania naszej aplikacji. Jednak przed utworzeniem aplikacji dowiedzmy się nieco więcej o tym, czym jest usługa Azure OpenAI i jakie są uzupełnienia tekstu. Wiedząc, że daje nam to podstawę, musimy tworzyć niesamowite aplikacje za pomocą sztucznej inteligencji.
Omówienie usługi Azure OpenAI
Usługa Azure OpenAI Service zapewnia klientom zaawansowaną sztuczną inteligencję języka dzięki modelom OpenAI GPT-3.5, GPT-4, Codex i DALL-E z obietnicą zabezpieczeń i przedsiębiorstwa platformy Azure. Usługa Azure OpenAI koduje interfejsy API z funkcją OpenAI, zapewniając zgodność i bezproblemowe przejście z jednego do drugiego.
Dzięki usłudze Azure OpenAI klienci uzyskują możliwości zabezpieczeń platformy Microsoft Azure podczas uruchamiania tych samych modeli co openAI. Usługa Azure OpenAI oferuje sieć prywatną, dostępność regionalną, filtrowanie zawartości odpowiedzialnej sztucznej inteligencji oraz możliwość rozszerzania modelu na własne dane.
Punkt końcowy uzupełniania jest podstawowym składnikiem usługi interfejsu API. Ten interfejs API zapewnia dostęp do interfejsu tekstowego i wychodzącego modelu. Użytkownicy muszą po prostu podać wiersz wejściowy zawierający polecenie tekstowe w języku angielskim, a model generuje uzupełnianie tekstu.
Uzupełnianie tekstu
W tej lekcji poznamy uzupełnianie tekstu. Punkt końcowy uzupełniania może służyć do wykonywania wielu różnych zadań. Udostępnia on prosty, ale zaawansowany interfejs tekstowy, tekstowy do dowolnego z modeli usługi Azure OpenAI. Wprowadzasz tekst jako monit, a model generuje uzupełnianie tekstu, które próbuje dopasować dowolny kontekst lub wzorzec. Jeśli na przykład nadasz interfejsowi API monit " Jak powiedział Descartes, myślę, że dlatego", zwraca ukończenie "Jestem" z wysokim prawdopodobieństwem.
Rzeczywiste wyniki ukończenia mogą się różnić, ponieważ sztuczna inteligencja jest domyślnie stochastic. Innymi słowy, możesz uzyskać nieco inne ukończenie za każdym razem, gdy go wywołasz, nawet jeśli monit pozostanie taki sam.
Ten prosty interfejs "text in, text out" oznacza, że można "programować" model, podając instrukcje lub tylko kilka przykładów tego, co chcesz zrobić. Jego powodzenie zwykle zależy od złożoności zadania i jakości monitu. Ogólną zasadą jest myślenie o tym, jak napisać problem słowa dla młodego ucznia do rozwiązania. Dobrze napisany monit zawiera wystarczającą ilość informacji, aby model wiedział, co chcesz i jak powinien reagować.
Przyjrzymy się, jak napisać dobry monit nieco później, ale na razie przyjrzyjmy się różnym typom uzupełniania.
Typy uzupełniania usługi Azure OpenAI
Jak wspomniano, przekazujesz monit do interfejsu API usługi Azure OpenAI, który zawiera instrukcje dotyczące tego, co chcesz zrobić. Możesz też sprawić, że będzie to robić, takie jak klasyfikowanie tekstu, generowanie pomysłów, a nawet tłumaczenie tekstu na emotikony.
Klasyfikacja
W przypadku tego pierwszego typu uzupełniania przyjrzyjmy się bliżej sposobowi "programowania" modelu z instrukcjami.
Możesz określić model, który ma sortować dane w wstępnie zdefiniowane kategorie. Ten typ ukończenia jest nazywany klasyfikacją.
Możesz na przykład przekazać instrukcje lub monit podobny do następującego do interfejsu API uzupełniania:
This is a sentiment classifier
Example: "I loved the new movie!"
Sentiment: Positive
Example: "I hate it when my phone battery dies"
Sentiment: Negative
Example: "My day has been 👍"
Sentiment: Positive
Example: "This is the link to the article"
Sentiment: Neutral
Examples:
1. "I loved the new Batman movie!"
2. "I hate it when my phone battery dies"
3. "My day has been 👍"
4. "This is the link to the article"
5. "This new music video blew my mind"
Examples sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive
Create sentiments for:
1. "I can't stand homework"
2. "This is no fun. I'm bored 😠"
3. "I can't wait for Halloween!!!"
4. "My cat is adorable ❤️❤️"
5. "I hate chocolate"
Sentiment classifications:
1.
Po wyświetleniu modelu 4 przykładów zdania sklasyfikowanego według tonacji udostępnimy mu listę przykładów, a następnie listę ocen tonacji z tym samym indeksem liczbowym. Interfejs API może odebrać z tego sposobu, w jaki powinien on wygenerować niejawne tonacje.
I to prowadzi nas do tego, co chcemy, aby model zrobił: udostępniamy mu 5 tonacji, aby klasyfikować, a następnie powinny zwracać klasyfikację każdego z nich na uporządkowanej liście.
Dzięki temu model może oceniać pięć (a nawet więcej) przykładów tylko w jednym wywołaniu.
Możesz zacząć widzieć, jak monit lub tekst przekazywany do modelu jest językiem programowania.
Generowanie
Jednym z najbardziej zaawansowanych, ale najprostszych zadań, które można wykonać za pomocą różnych modeli GPT, jest generowanie nowych pomysłów lub wersji danych wejściowych. Możesz nadać modelowi listę kilku pomysłów na historię i próbuje dodać ją do tej listy. Widzieliśmy, jak tworzy plany biznesowe, opisy znaków i hasła marketingowe, podając kilka przykładów.
Konwersacja
Model jest bardzo biegły w prowadzenie rozmów z ludźmi, a nawet z samym sobą. Mając zaledwie kilka wierszy instrukcji, widzieliśmy, jak model działa jako czatbot obsługi klienta, który inteligentnie odpowiada na pytania, nie coraz flustered lub mądry cracking partnera konwersacji, który sprawia, że żarty i puns.
Przekształcenie
Model jest modelem językowym, który jest zaznajomiony z różnymi sposobami wyrażania informacji za pomocą słów i znaków. Dotyczy to od tekstu w języku naturalnym po kod i języki inne niż angielski. Model jest również w stanie zrozumieć zawartość na poziomie, który umożliwia jej podsumowywanie, konwertowanie i wyrażanie ich na różne sposoby.
Tłumaczenie
Model ma już zrozumienie wielu języków, takich jak francuski, więc nie trzeba go uczyć. Zamiast tego wystarczy podać wystarczającą liczbę przykładów tłumaczenia w wierszu polecenia, aby zrozumieć, że jest tłumaczona z jednego języka na inny.
Konwersja
W tym przykładzie przekonwertujemy nazwę filmu na emoji. Pokazuje to możliwość dostosowywania modelu do podnoszenia wzorców i pracy z innymi znakami.
W tym miejscu oczekujemy, że dane wyjściowe będą reprezentacją emoji filmu Spider-Man.
Back to Future: 👨👴🚗🕒
Batman: 🤵🦇
Transformers: 🚗🤖
Wonder Woman: 👸🏻👸🏼👸🏽👸🏾👸🏿
Spider-Man: 🕸🕷🕸🕸🕷🕸
Winnie the Pooh: 🐻🐼🐻
The Godfather: 👨👩👧🕵🏻♂️👲💥
Game of Thrones: 🏹🗡🗡🏹
Spider-Man:
Podsumowanie
Model jest w stanie zrozumieć kontekst tekstu i przereślić go na różne sposoby. Na przykład może on przyjąć blok tekstu i utworzyć wyjaśnienie, które dziecko zrozumie.
Zakończenie
Mimo że wszystkie monity powodują ukończenie, warto myśleć o uzupełnianiu tekstu jako własnym zadaniu w wystąpieniach, w których model ma odebrać miejsce, w którym został przerwany. Jeśli na przykład zostanie wyświetlony ten monit, model będzie kontynuować uczenie myśli o rolnictwie pionowym.
Vertical farming provides a novel solution for producing food locally, reducing transportation costs and
Odpowiedź rzeczowa
Duże modele językowe (LLM) mają dużą wiedzę, że nauczyły się na podstawie danych, na których się szkoliły. Mają również możliwość zapewnienia odpowiedzi, które brzmią naprawdę, ale w rzeczywistości się składają. Istnieją dwa sposoby ograniczenia prawdopodobieństwa, że llMs tworzą odpowiedź.
1. Podaj podstawowe informacje dla interfejsu API Jeśli podasz modelowi treść tekstu, aby odpowiedzieć na pytania (takie jak wpis w Wikipedii), jest mniej prawdopodobne, aby zkonbulbulować odpowiedź.
2. Użyj niskiego prawdopodobieństwa i pokaż interfejs API, jak powiedzieć "Nie wiem" Jeśli model rozumie, że w przypadkach, gdy jest mniej pewna odpowiedzi, że powiedzenie "Nie wiem" lub jakaś odmiana jest odpowiednia, jest mniej skłonna do tworzenia odpowiedzi.
W tym przykładzie udostępniamy przykładowe przykłady pytań i odpowiedzi modelu, które zna, a następnie przykłady rzeczy, których nie zna, i udostępniamy znaki zapytania. Ustawiliśmy również prawdopodobieństwo na zero, więc model jest bardziej prawdopodobne, aby odpowiedzieć z wartością "?", jeśli istnieje wątpliwości.
Q: Who is Batman?
A: Batman is a fictional comic book character.
Q: What is torsalplexity?
A: ?
Q: What is Devz9?
A: ?
Q: Who is George Lucas?
A: George Lucas is American film director and producer famous for creating Star Wars.
Podsumowanie
Usługa Azure OpenAI Service zapewnia dostęp interfejsu API REST do zaawansowanych modeli językowych platformy OpenAI, w tym serii modeli GPT-3.5 i GPT-4. Zapewnia również funkcje zabezpieczeń i przedsiębiorstwa, które pochodzą z chmury platformy Azure.
Jedną z najbardziej przydatnych funkcji modeli językowych OpenAI jest uzupełnianie tekstu. Należy przekazać monit lub zwykły opis tego, co ma zrobić model, i może wykonywać zadania, takie jak klasyfikacja tekstu, generowanie tekstu lub podsumowywanie tekstu.