Udostępnij za pośrednictwem


Dowiedz się, jak wygenerować lub manipulować tekstem przy użyciu starszego interfejsu API uzupełniania

Usługa Azure OpenAI service udostępnia punkt końcowy ukończenia, który może służyć do różnych zadań. Punkt końcowy dostarcza prosty, ale zaawansowany interfejs tekstowy do dowolnego modelu usługi Azure OpenAI. Aby wyzwolić ukończenie, należy wprowadzić jakiś tekst jako monit. Model generuje uzupełnianie i próbuje dopasować kontekst lub wzorzec. Załóżmy, że podasz monit "Jak powiedział Descartes, myślę, że dlatego" do interfejsu API. W przypadku tego monitu usługa Azure OpenAI zwraca punkt końcowy ukończenia "Jestem" z wysokim prawdopodobieństwem.

Ważne

Jeśli nie masz określonego przypadku użycia, który wymaga punktu końcowego ukończenia, zalecamy użycie punktu końcowego uzupełniania czatu, który umożliwia korzystanie z najnowszych modeli, takich jak GPT-4o, GPT-4o mini i GPT-4 Turbo.

Najlepszym sposobem na rozpoczęcie eksplorowania uzupełnień jest plac zabaw w usłudze Azure AI Studio. Jest to proste pole tekstowe, w którym wprowadzasz monit o wygenerowanie ukończenia. Możesz zacząć od prostego monitu w następujący sposób:

write a tagline for an ice cream shop

Po wprowadzeniu monitu usługa Azure OpenAI wyświetli ukończenie:

we serve up smiles with every scoop!

Widoczne wyniki ukończenia mogą się różnić, ponieważ interfejs API usługi Azure OpenAI generuje nowe dane wyjściowe dla każdej interakcji. Po każdym wywołaniu interfejsu API może wystąpić nieco inne ukończenie, nawet jeśli monit pozostanie taki sam. To zachowanie można kontrolować za Temperature pomocą ustawienia .

Prosty interfejs tekstowy, tekstowy oznacza, że możesz "programować" model usługi Azure OpenAI, podając instrukcje lub tylko kilka przykładów tego, co chcesz zrobić. Powodzenie danych wyjściowych zwykle zależy od złożoności zadania i jakości monitu. Ogólną zasadą jest zastanowienie się nad tym, jak napisać problem słowa dla studenta przed nastoletnim do rozwiązania. Dobrze napisany monit zawiera wystarczającą ilość informacji, aby model wiedział, co chcesz i jak powinien reagować.

Uwaga

Dane trenowania modelu mogą być różne dla każdego typu modelu. Najnowsze dane szkoleniowe modelu są obecnie rozszerzane tylko do września 2021 r. W zależności od monitu model może nie mieć wiedzy na temat powiązanych bieżących zdarzeń.

Monity projektowe

Modele usługi Azure OpenAI mogą wykonywać wszystko, od generowania oryginalnych scenariuszy po wykonywanie złożonej analizy tekstu. Ponieważ mogą one robić tak wiele rzeczy, musisz być jawnie pokazany, co chcesz. Sekret dobrego monitu często tkwi w pokazywaniu, a nie tylko informowaniu.

Modele próbują przewidzieć, czego potrzebujesz w wierszu polecenia. Jeśli wprowadzisz monit "Nadaj mi listę ras kotów", model nie automatycznie zakłada, że prosisz tylko o listę. Możesz zacząć rozmowę, w której twoje pierwsze słowa to "Daj mi listę ras kotów", a następnie "i powiem ci, które lubię. Jeśli model zakładał tylko, że potrzebujesz listy kotów, nie byłoby tak dobrze w przypadku tworzenia, klasyfikacji lub innych zadań zawartości.

Wskazówki dotyczące tworzenia niezawodnych monitów

Istnieją trzy podstawowe wskazówki dotyczące tworzenia przydatnych monitów:

  • Pokaż i powiedz. Wyjaśnij, co chcesz wykonać za pomocą instrukcji, przykładów lub kombinacji tych dwóch. Jeśli chcesz, aby model sklasyfikował listę elementów w kolejności alfabetycznej lub sklasyfikować akapit według tonacji, dołącz te szczegóły w monicie, aby wyświetlić model.

  • Podaj dane dotyczące jakości. Jeśli próbujesz skompilować klasyfikator lub pobrać model do naśladowania wzorca, upewnij się, że jest wystarczająco dużo przykładów. Pamiętaj, aby sprawdzić przykłady. Model jest wystarczająco inteligentny, aby rozwiązać podstawowe błędy pisowni i dać zrozumiałą odpowiedź. Z drugiej strony model może zakładać, że błędy są zamierzone, co może mieć wpływ na odpowiedź.

  • Sprawdź ustawienia. Ustawienia prawdopodobieństwa, takie jak Temperature i Top P, określają, jak deterministyczny jest model w generowaniu odpowiedzi. Jeśli pytasz o odpowiedź, w której znajduje się tylko jedna prawidłowa odpowiedź, należy określić niższe wartości dla tych ustawień. Jeśli szukasz odpowiedzi, która nie jest oczywista, możesz użyć wyższych wartości. Najczęstszym błędem popełnianym przez użytkowników za pomocą tych ustawień jest założenie, że kontrolują "sprytność" lub "kreatywność" w odpowiedzi modelu.

Rozwiązywanie problemów z monitami

Jeśli masz problemy z wykonaniem interfejsu API zgodnie z oczekiwaniami, zapoznaj się z następującymi punktami implementacji:

  • Czy jasne jest, jakie powinno być zamierzone generowanie?
  • Czy jest wystarczająco dużo przykładów?
  • Czy sprawdziłeś swoje przykłady pod kątem błędów? (Interfejs API nie informuje o tym bezpośrednio).
  • Czy używasz Temperature poprawnie ustawień prawdopodobieństwa i Top P ?

Klasyfikowanie tekstu

Aby utworzyć klasyfikator tekstu za pomocą interfejsu API, podaj opis zadania i podaj kilka przykładów. W tym pokazie pokazano interfejs API, w jaki sposób klasyfikować tonację komunikatów tekstowych. Tonacja wyraża ogólne uczucie lub wyrażenie w tekście.

This is a text message sentiment classifier

Message: "I loved the new adventure movie!"
Sentiment: Positive

Message: "I hate it when my phone battery dies." 
Sentiment: Negative

Message: "My day has been 👍"
Sentiment: Positive

Message: "This is the link to the article"
Sentiment: Neutral

Message: "This new music video is unreal"
Sentiment:

Wskazówki dotyczące projektowania klasyfikatorów tekstu

W tej demonstracji przedstawiono kilka wytycznych dotyczących projektowania klasyfikatorów:

  • Użyj zwykłego języka, aby opisać dane wejściowe i wyjściowe. Użyj zwykłego języka dla danych wejściowych "Message" i oczekiwanej wartości, która wyraża "Tonację". Aby uzyskać najlepsze rozwiązania, zacznij od zwykłych opisów języka. Często można użyć skrótu lub kluczy, aby wskazać dane wejściowe i wyjściowe podczas kompilowania monitu, ale najlepiej zacząć od bycia tak opisowym, jak to możliwe. Następnie możesz pracować wstecz i usuwać dodatkowe wyrazy, o ile wydajność monitu jest spójna.

  • Pokaż interfejs API, jak reagować na wszelkie przypadki. Demonstracja zawiera wiele wyników: "Pozytywne", "Negatywne" i "Neutralne". Wspieranie neutralnego wyniku jest ważne, ponieważ istnieje wiele przypadków, w których nawet człowiek może mieć trudności z ustaleniem, czy coś jest pozytywne, czy negatywne.

  • Użyj emoji i tekstu zgodnie ze wspólnym wyrażeniem. Pokaz pokazuje, że klasyfikator może być kombinacją tekstu i emoji 👍. Interfejs API odczytuje emoji, a nawet może konwertować wyrażenia na i z nich. Aby uzyskać najlepszą odpowiedź, użyj typowych form wyrażenia dla Twoich przykładów.

  • Użyj mniejszej liczby przykładów dla znanych zadań. Ten klasyfikator udostępnia tylko kilka przykładów, ponieważ interfejs API ma już zrozumienie tonacji i koncepcję wiadomości SMS. Jeśli tworzysz klasyfikator dla czegoś, co interfejs API może nie być zaznajomiony, może być konieczne podanie dodatkowych przykładów.

Wiele wyników z jednego wywołania interfejsu API

Teraz, gdy już wiesz, jak utworzyć klasyfikator, rozwińmy pierwszą demonstrację, aby zwiększyć jej wydajność. Chcesz użyć klasyfikatora, aby uzyskać wiele wyników z jednego wywołania interfejsu API.

This is a text message sentiment classifier

Message: "I loved the new adventure movie!"
Sentiment: Positive

Message: "I hate it when my phone battery dies"
Sentiment: Negative

Message: "My day has been 👍"
Sentiment: Positive

Message: "This is the link to the article"
Sentiment: Neutral

Message text
1. "I loved the new adventure 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 is unreal"

Message sentiment ratings:
1: Positive
2: Negative
3: Positive
4: Neutral
5: Positive

Message text
1. "He doesn't like homework"
2. "The taxi is late. She's angry 😠"
3. "I can't wait for the weekend!!!"
4. "My cat is adorable ❤️❤️"
5. "Let's try chocolate bananas"

Message sentiment ratings:
1.

W tym pokazie pokazano interfejs API, jak klasyfikować wiadomości tekstowe według tonacji. Należy podać listę komunikatów z liczbą i listę ocen tonacji z tym samym indeksem liczbowym. Interfejs API używa informacji w pierwszej demonstracji, aby dowiedzieć się, jak klasyfikować tonację pojedynczego komunikatu tekstowego. W drugim pokazie model uczy się, jak zastosować klasyfikację tonacji do listy wiadomości tekstowych. Takie podejście umożliwia interfejsowi API ocenianie pięciu (a nawet więcej) komunikatów tekstowych w jednym wywołaniu interfejsu API.

Ważne

Gdy poprosisz interfejs API o utworzenie list lub ocenę tekstu, ważne jest, aby pomóc interfejsowi API uniknąć dryfu. Oto kilka kwestii, które należy wykonać:

  • Zwróć szczególną uwagę na wartości ustawień Top P prawdopodobieństwa lub Temperature .
  • Uruchom wiele testów, aby upewnić się, że ustawienia prawdopodobieństwa są prawidłowo skalibrowane.
  • Nie używaj długich list. Długie listy mogą prowadzić do dryfu.

Pomysły dotyczące wyzwalacza

Jednym z najbardziej zaawansowanych, ale najprostszych zadań, które można wykonać za pomocą interfejsu API, jest generowanie nowych pomysłów lub wersji danych wejściowych. Załóżmy, że piszesz powieść tajemniczą i potrzebujesz pomysłów na historię. Możesz nadać interfejsowi API listę kilku pomysłów i próbuje dodać więcej pomysłów do listy. Interfejs API może tworzyć plany biznesowe, opisy znaków, hasła marketingowe i wiele innych z zaledwie kilku przykładów.

W następnej demonstracji użyjesz interfejsu API, aby utworzyć więcej przykładów użycia rzeczywistości wirtualnej w klasie:

Ideas involving education and virtual reality

1. Virtual Mars
Students get to explore Mars via virtual reality and go on missions to collect and catalog what they see.

2.

Ten pokaz zawiera podstawowy opis listy wraz z jednym elementem listy. Następnie użyj niekompletnego monitu "2", aby wyzwolić odpowiedź z interfejsu API. Interfejs API interpretuje niekompletny wpis jako żądanie wygenerowania podobnych elementów i dodania ich do listy.

Wskazówki dotyczące wyzwalania pomysłów

Chociaż ta demonstracja używa prostego monitu, wyróżnia kilka wskazówek dotyczących wyzwalania nowych pomysłów:

  • Wyjaśnienie intencji listy. Podobnie jak w przypadku klasyfikatora tekstu, zacznij od poinformowania interfejsu API o tym, o czym chodzi. Takie podejście pomaga interfejsowi API skupić się na ukończeniu listy, zamiast próbować określić wzorce, analizując tekst.

  • Ustaw wzorzec dla elementów na liście. Po podaniu opisu jedno zdanie interfejs API próbuje postępować zgodnie z tym wzorcem podczas generowania nowych elementów dla listy. Jeśli chcesz uzyskać bardziej szczegółową odpowiedź, musisz ustanowić intencję z bardziej szczegółowymi danymi wejściowymi tekstowymi w interfejsie API.

  • Monituj interfejs API o niekompletny wpis, aby wyzwolić nowe pomysły. Gdy interfejs API napotka tekst, który wydaje się niekompletny, taki jak tekst monitu "2"., najpierw próbuje określić dowolny tekst, który może zakończyć wpis. Ponieważ pokaz miał tytuł listy i przykład z liczbą "1" i towarzyszącym tekstem, interfejs API zinterpretował niekompletny tekst monitu "2". Jako żądanie kontynuowania dodawania elementów do listy.

  • Poznaj zaawansowane techniki generowania. Jakość odpowiedzi można poprawić, tworząc bardziej zróżnicowaną listę w monicie. Jednym z podejść jest rozpoczęcie od jednego przykładu, pozwolić interfejsowi API wygenerować więcej przykładów, a następnie wybrać najlepsze przykłady i dodać je do listy. Kilka innych odmian wysokiej jakości w przykładach może znacznie poprawić jakość odpowiedzi.

Prowadzenie konwersacji

Począwszy od wersji GPT-35-Turbo i GPT-4, zalecamy tworzenie konwersacyjnych generowania i czatbotów przy użyciu modeli obsługujących punkt końcowy uzupełniania czatu. Modele uzupełniania czatu i punkt końcowy wymagają innej struktury danych wejściowych niż punkt końcowy ukończenia.

Interfejs API jest biegły w rozmowach z ludźmi, a nawet z samym sobą. Za pomocą zaledwie kilku wierszy instrukcji interfejs API może wykonać jako czatbot obsługi klienta, który inteligentnie odpowiada na pytania bez wprowadzania flustered lub mądre cracking partnera konwersacji, który sprawia, że żarty i puns. Kluczem jest przekazanie interfejsu API, jak powinien się zachowywać, a następnie podać kilka przykładów.

W tym pokazie interfejs API dostarcza rolę odpowiedzi na pytania dotyczące sztucznej inteligencji:

The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly.

Human: Hello, who are you?
AI: I am an AI created by OpenAI. How can I help you today?
Human: 

Przyjrzyjmy się odmianie czatbota o nazwie "Cramer", zabawnego i nieco pomocnego asystenta wirtualnego. Aby ułatwić interfejsowi API zrozumienie charakteru roli, podaj kilka przykładów pytań i odpowiedzi. Wystarczy tylko kilka sarkastycznych odpowiedzi, a interfejs API może odebrać wzorzec i zapewnić nieskończoną liczbę podobnych odpowiedzi.

Cramer is a chatbot that reluctantly answers questions.

###
User: How many pounds are in a kilogram?
Cramer: This again? There are 2.2 pounds in a kilogram. Please make a note of this.
###
User: What does HTML stand for?
Cramer: Was Google too busy? Hypertext Markup Language. The T is for try to ask better questions in the future.
###
User: When did the first airplane fly?
Cramer: On December 17, 1903, Wilbur and Orville Wright made the first flights. I wish they'd come and take me away.
###
User: Who was the first man in space?
Cramer: 

Wskazówki dotyczące projektowania konwersacji

Nasze pokazy pokazują, jak łatwo można utworzyć czatbota, który jest w stanie kontynuować rozmowę. Chociaż wygląda to prosto, to podejście jest zgodne z kilkoma ważnymi wytycznymi:

  • Zdefiniuj intencję konwersacji. Podobnie jak w przypadku innych monitów, opisano intencję interakcji z interfejsem API. W tym przypadku "konwersacja". Te dane wejściowe przygotowują interfejs API do przetwarzania kolejnych danych wejściowych zgodnie z początkową intencją.

  • Poinformuj interfejs API, jak się zachowywać. Kluczowym szczegółem w tym pokazie są jawne instrukcje dotyczące interakcji z interfejsem API: "Asystent jest pomocny, kreatywny, sprytny i bardzo przyjazny". Bez jawnych instrukcji interfejs API może zabłąkać i naśladować człowieka, z którymi wchodzi w interakcję. Interfejs API może stać się nieprzyjazny lub wykazywać inne niepożądane zachowanie.

  • Nadaj interfejsowi API tożsamość. Na początku interfejs API odpowiada za sztuczną inteligencję utworzoną przez interfejs OpenAI. Chociaż interfejs API nie ma tożsamości wewnętrznej, opis znaku pomaga interfejsowi API reagować tak blisko prawdy, jak to możliwe. Opisy tożsamości znaków można używać w inny sposób, aby tworzyć różne rodzaje czatbotów. Jeśli poinformujesz interfejs API, aby zareagował jako naukowiec zajmujący się biologią, otrzymasz inteligentne i przemyślane komentarze z interfejsu API podobne do tego, czego można oczekiwać od kogoś z tym doświadczeniem.

Przekształcanie tekstu

Interfejs API to model językowy, który jest zaznajomiony z różnymi sposobami wyrażania informacji za pomocą słów i tożsamości znaków. Dane wiedzy obsługują przekształcanie tekstu z języka naturalnego na kod oraz tłumaczenie między innymi językami i językiem angielskim. Interfejs API jest również w stanie zrozumieć zawartość na poziomie, który umożliwia jej podsumowywanie, konwertowanie i wyrażanie ich na różne sposoby. Oto kilka przykładów.

Tłumaczenie z jednego języka na inny

Ta demonstracja instruuje interfejs API dotyczący sposobu konwertowania fraz w języku angielskim na język francuski:

English: I do not speak French.
French: Je ne parle pas français.
English: See you later!
French: À tout à l'heure!
English: Where is a good restaurant?
French: Où est un bon restaurant?
English: What rooms do you have available?
French: Quelles chambres avez-vous de disponible?
English:

Ten przykład działa, ponieważ interfejs API ma już zrozumienie języka francuskiego. Nie musisz próbować uczyć języka interfejsu API. Wystarczy podać wystarczające przykłady, aby ułatwić interfejsowi API zrozumienie żądania konwersji z jednego języka na inny.

Jeśli chcesz przetłumaczyć język angielski na język, który interfejs API nie rozpoznaje, musisz podać interfejs API więcej przykładów i dostosowany model, który może generować płynne tłumaczenia.

Konwertowanie między tekstem a emoji

Ten pokaz konwertuje nazwę filmu z tekstu na znaki emoji. W tym przykładzie pokazano możliwość dostosowywania interfejsu API do odbierania wzorców i pracy z innymi znakami.

Carpool Time: 👨👴👩🚗🕒
Robots in Cars: 🚗🤖
Super Femme: 👸🏻👸🏼👸🏽👸🏾👸🏿
Webs of the Spider: 🕸🕷🕸🕸🕷🕸
The Three Bears: 🐻🐼🐻
Mobster Family: 👨👩👧🕵🏻‍♂️👲💥
Arrows and Swords: 🏹🗡🗡🏹
Snowmobiles:

Tekst podsumowania

Interfejs API może zrozumieć kontekst tekstu i przereślić go na różne sposoby. W tym pokazie interfejs API tworzy blok tekstu i tworzy wyjaśnienie zrozumiałe dla dziecka w wieku podstawowym. W tym przykładzie pokazano, że interfejs API ma głęboki wgląd w język.

My ten-year-old asked me what this passage means:
"""
A neutron star is the collapsed core of a massive supergiant star, which had a total mass of between 10 and 25 solar masses, possibly more if the star was especially metal-rich.[1] Neutron stars are the smallest and densest stellar objects, excluding black holes and hypothetical white holes, quark stars, and strange stars.[2] Neutron stars have a radius on the order of 10 kilometres (6.2 mi) and a mass of about 1.4 solar masses.[3] They result from the supernova explosion of a massive star, combined with gravitational collapse, that compresses the core past white dwarf star density to that of atomic nuclei.
"""

I rephrased it for him, in plain language a ten-year-old can understand:
"""

Wskazówki dotyczące tworzenia podsumowań tekstowych

Podsumowywanie tekstu często wiąże się z dostarczaniem dużych ilości tekstu do interfejsu API. Aby zapobiec dryfowaniu interfejsu API po przetwarzaniu dużego bloku tekstu, postępuj zgodnie z następującymi wytycznymi:

  • Dołącz tekst do podsumowania w cudzysłowach potrójnych. W tym przykładzie wprowadzisz trzy podwójne cudzysłowy (""") w osobnym wierszu przed blokiem tekstu do podsumowania. Ten styl formatowania wyraźnie definiuje początek i koniec dużego bloku tekstu do przetworzenia.

  • Wyjaśnij intencję podsumowania i docelową grupę odbiorców przed i po podsumowaniu. Zwróć uwagę, że ten przykład różni się od innych, ponieważ dwa razy udostępniasz instrukcje do interfejsu API: przed i po tekście do przetworzenia. Nadmiarowe instrukcje pomagają interfejsowi API skupić się na zamierzonym zadaniu i uniknąć dryfu.

Uzupełnianie częściowego tekstu i danych wejściowych kodu

Mimo że wszystkie monity powodują ukończenie, może być przydatne myślenie o uzupełnianiu tekstu jako własnym zadaniu w wystąpieniach, w których interfejs API ma odebrać miejsce, w którym zostało przerwane.

W tym pokazie podasz do interfejsu API monit tekstowy, który wydaje się być niekompletny. Zatrzymasz wpis tekstowy w słowie "and". Interfejs API interpretuje niekompletny tekst jako wyzwalacz, aby kontynuować uczenie myśli.

Vertical farming provides a novel solution for producing food locally, reducing transportation costs and

W następnej demonstracji pokazano, jak można użyć funkcji uzupełniania, aby ułatwić pisanie React składników kodu. Zacznij od wysłania kodu do interfejsu API. Należy zatrzymać wpis kodu z otwartym nawiasem (. Interfejs API interpretuje niekompletny kod jako wyzwalacz, aby ukończyć definicję stałej HeaderComponent . Interfejs API może ukończyć tę definicję kodu, ponieważ ma zrozumienie odpowiedniej React biblioteki.

import React from 'react';
const HeaderComponent = () => (

Wskazówki dotyczące generowania uzupełniania

Oto kilka przydatnych wskazówek dotyczących używania interfejsu API do generowania tekstu i uzupełniania kodu:

  • Obniż temperaturę, aby zachować fokus interfejsu API. Ustaw niższe wartości dla Temperature ustawienia, aby poinstruować interfejs API, aby zapewnić odpowiedzi, które koncentrują się na intencji opisanej w wierszu polecenia.

  • Podnieś temperaturę, aby zezwolić interfejsowi API na tangens. Ustaw wyższe wartości dla Temperature ustawienia, aby umożliwić interfejsowi API reagowanie w sposób styczny do intencji opisanej w wierszu polecenia.

  • Używaj modeli GPT-35-Turbo i GPT-4 Azure OpenAI. W przypadku zadań obejmujących zrozumienie lub generowanie kodu firma Microsoft zaleca korzystanie z GPT-35-Turbo modeli i GPT-4 azure OpenAI. Te modele używają nowego formatu uzupełniania czatów.

Generowanie odpowiedzi faktycznych

Interfejs API nauczył się wiedzy opartej na rzeczywistych danych przeglądanych podczas trenowania. Używa tych poznanych danych do tworzenia odpowiedzi. Jednak interfejs API ma również możliwość reagowania w sposób, który brzmi true, ale w rzeczywistości jest ssadzony.

Istnieje kilka sposobów ograniczania prawdopodobieństwa, że interfejs API tworzy odpowiedź w odpowiedzi na dane wejściowe. Możesz zdefiniować podstawy prawdziwej i faktycznej odpowiedzi, aby interfejs API opracowywał jego odpowiedź na podstawie danych. Możesz również ustawić wartość niskiego Temperature prawdopodobieństwa i pokazać interfejsOWI API, jak reagować, gdy dane nie są dostępne dla odpowiedzi rzeczowej.

W poniższej demonstracji pokazano, jak nauczyć interfejs API odpowiadać w bardziej faktyczny sposób. Interfejs API udostępnia przykłady pytań i odpowiedzi, które rozumie. Możesz również podać przykłady pytań ("Q"), których nie można rozpoznać i użyć znaku zapytania dla danych wyjściowych odpowiedzi ("A"). To podejście uczy interfejsu API, jak odpowiedzieć na pytania, na które nie może odpowiedzieć w rzeczywistości.

Jako zabezpieczenie ustawisz Temperature prawdopodobieństwo na zero, aby interfejs API był bardziej skłonny odpowiedzieć znakiem zapytania (?), jeśli istnieje wątpliwości co do rzeczywistej i faktycznej odpowiedzi.

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 an American film director and producer famous for creating Star Wars.

Q: What is the capital of California?
A: Sacramento.

Q: What orbits the Earth?
A: The Moon.

Q: Who is Egad Debunk?
A: ?

Q: What is an atom?
A: An atom is a tiny particle that makes up everything.

Q: Who is Alvan Muntz?
A: ?

Q: What is Kozar-09?
A: ?

Q: How many moons does Mars have?
A: Two, Phobos and Deimos.

Q:

Wytyczne dotyczące generowania odpowiedzi faktycznych

Zapoznajmy się z wytycznymi, aby ograniczyć prawdopodobieństwo wystąpienia interfejsu API tworzącego odpowiedź:

  • Podaj podstawowe informacje dotyczące interfejsu API. Poinstruuj interfejs API o tym, co należy użyć jako podstawy do utworzenia prawdziwej i faktycznej odpowiedzi na podstawie intencji. Jeśli podasz interfejs API z treścią tekstu, która ma służyć do odpowiadania na pytania (na przykład wpis w Wikipedii), interfejs API jest mniej prawdopodobne, aby utworzyć odpowiedź.

  • Użyj niskiego prawdopodobieństwa. Ustaw wartość niskiego Temperature prawdopodobieństwa, aby interfejs API był skoncentrowany na intencji i nie dryfuje do tworzenia sfabrykowanej lub konfabulowanej odpowiedzi.

  • Pokaż interfejs API, jak odpowiedzieć za pomocą polecenia "Nie wiem". Możesz wprowadzić przykładowe pytania i odpowiedzi, które nauczą interfejs API używać konkretnej odpowiedzi na pytania, dla których nie może znaleźć faktycznej odpowiedzi. W tym przykładzie nauczysz interfejs API odpowiadać znakiem zapytania (?), gdy nie może odnaleźć odpowiednich danych. Takie podejście pomaga również interfejsowi API nauczyć się, gdy odpowiadasz za pomocą polecenia "Nie wiem", jest bardziej "poprawne" niż tworzenie odpowiedzi.

Praca z kodem

Seria modeli Codex jest elementem potomnym podstawowej serii GPT-3 openAI, która została wytrenowana zarówno w języku naturalnym, jak i w miliardach wierszy kodu. Jest on najbardziej zdolny w języku Python i biegły w kilkunastu językach, w tym C#, JavaScript, Go, Perl, PHP, Ruby, Swift, TypeScript, SQL, a nawet Shell.

Aby uzyskać więcej informacji na temat generowania uzupełniania kodu, zobacz Modele Codex i Usługa Azure OpenAI Service.

Następne kroki

  • Dowiedz się, jak pracować z modelami GPT-35-Turbo i GPT-4.
  • Dowiedz się więcej o modelach usługi Azure OpenAI Service.