Udostępnij za pośrednictwem


Dowiedz się, jak wygenerować lub manipulować tekstem

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ć tekst jako monit. Model generuje ukończenie 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.

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

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żesz uzyskać nieco inne ukończenie, nawet jeśli monit pozostanie taki sam. To zachowanie można kontrolować za pomocą Temperature 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ólna zasada polega na tym, aby myśleć o tym, jak napisać problem słowa dla ucznia przed nastoletniego do rozwiązania. Dobrze napisany monit zawiera wystarczająco dużo 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 Service mogą wykonywać wszystkie czynności, od generowania oryginalnych scenariuszy do wykonywania złożonej analizy tekstu. Ponieważ mogą one wykonywać tak wiele rzeczy, musisz być jawny w pokazywaniu tego, co chcesz. Sekret dobrego monitu często tkwi w pokazywaniu, a nie tylko informowaniu.

Modele próbują przewidzieć, czego chcesz użyć w wierszu polecenia. Jeśli wprowadzisz monit "Nadaj mi listę ras kotów", model nie zakłada automatycznie, że prosisz tylko o listę. Możesz rozpocząć 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 dobre 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 poinformuj. Wyjaśnij, co chcesz zrobić 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 wierszu polecenia, aby wyświetlić model.

  • Podaj dane dotyczące jakości. Jeśli próbujesz utworzyć klasyfikator lub pobrać model do naśladowania wzorca, upewnij się, że istnieje 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ą sposób deterministycznego generowania odpowiedzi przez model. Jeśli prosisz o odpowiedź, w której istnieje 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, warto użyć wyższych wartości. Najczęstszym błędem popełnianym przez użytkowników z tymi ustawieniami 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 Cię 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 tej demonstracji pokazano interfejs API klasyfikowania tonacji 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 opisów zwykłych języków. 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 jak najbardziej opisowego. Następnie możesz pracować wstecz i usuwać dodatkowe wyrazy, o ile wydajność monitu jest spójna.

  • Pokaż interfejs API, jak reagować na każdy przypadek. Demonstracja zapewnia 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 lub negatywne.

  • Użyj emoji i tekstu zgodnie z typowym 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ż wiedzę na temat tonacji i pojęcia komunikatu tekstowego. Jeśli tworzysz klasyfikator dla czegoś, co interfejs API może nie być zaznajomiony, może być konieczne podanie większej liczby przykładów.

Wiele wyników z jednego wywołania interfejsu API

Teraz, gdy już wiesz, jak utworzyć klasyfikator, rozwińmy pierwszą demonstrację, aby uczynić ją bardziej wydajną. Chcesz mieć możliwość użycia klasyfikatora w celu uzyskania wielu 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 tej demonstracji pokazano interfejs API, jak klasyfikować wiadomości tekstowe według tonacji. Zostanie wyświetlona lista komunikatów z liczbą i lista ocen tonacji z tym samym indeksem liczbowym. Interfejs API używa informacji w pierwszej demonstracji, aby dowiedzieć się, jak klasyfikować tonację dla pojedynczego komunikatu tekstowego. W drugiej demonstracji model uczy się, jak zastosować klasyfikację tonacji do listy wiadomości tekstowych. Takie podejście umożliwia interfejsowi API ocenianie pięciu (a jeszcze więcej) wiadomości SMS 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 punktów do naśladowania:

  • 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 kalibrowane.
  • Nie używaj długich list. Długie listy mogą prowadzić do dryfu.

Wyzwalanie pomysłów

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 tajemniczą powieść i potrzebujesz pomysłów na historię. Możesz nadać interfejsowi API listę kilku pomysłów i próbuje dodać więcej pomysłów do swojej listy. Interfejs API może tworzyć plany biznesowe, opisy znaków, hasła marketingowe i wiele innych z 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.

Ta demonstracja udostępnia interfejs API z podstawowym opisem listy wraz z jednym elementem listy. Następnie użyjesz niekompletnego monitu "2", aby wyzwolić odpowiedź z interfejsu API. Interfejs API interpretuje niekompletny wpis jako żądanie wygenerowania podobnych elementów i dodanie 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śnij intencję listy. Podobnie jak w przypadku pokazu 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 z jednym zdaniem 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 wprowadzaniem tekstu do interfejsu 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 generacji 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 prowadzeniu rozmów 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 przewrotu lub mądre pękanie partnera konwersacji, który sprawia, że żarty i puns. Kluczem jest przekazanie interfejsowi API, jak powinien się zachowywać, a następnie podać kilka przykładów.

W tym pokazie interfejs API dostarcza rolę sztucznej inteligencji w odpowiedzi na pytania:

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 wirtualnego asystent. 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 intencją początkową.

  • Poinformuj interfejs API, jak się zachowywać. Kluczowym szczegółem tego pokazu jest jawne instrukcje dotyczące interakcji interfejsu API: "Asystent jest pomocna, kreatywna, sprytna i bardzo przyjazna". Bez jawnych instrukcji interfejs API może zabłąkać i naśladować człowieka, z którymi korzysta. Interfejs API może stać się nieprzyjazny lub wykazywać inne niepożądane zachowanie.

  • Nadaj interfejsowi API tożsamość. Na początku interfejs API odpowiada jako sztuczna inteligencja utworzona przez usługę OpenAI. Chociaż interfejs API nie ma tożsamości wewnętrznej, opis znaku pomaga interfejsowi API reagować w sposób, który jest jak najbardziej zbliżony do prawdy. 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 odpowiedział jako analityk naukowy w dziedzinie biologii, 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 merytoryczne 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 mu podsumowywanie, konwertowanie i wyrażanie jej na różne sposoby. Oto kilka przykładów.

Tłumaczenie z jednego języka na inny

W tym pokazie pokazano 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ącą liczbę przykładów, aby ułatwić interfejsowi API zrozumienie żądania konwersji z jednego języka na inny.

Jeśli chcesz przetłumaczyć z języka angielskiego na język, 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

Ta demonstracja konwertuje nazwę filmu z tekstu na znaki emoji. W tym przykładzie pokazano możliwość dostosowania 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:

Podsumuj tekst

Interfejs API może zrozumieć kontekst tekstu i przećmieć go na różne sposoby. W tym pokazie interfejs API przyjmuje 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:

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

  • Przed i po podsumowaniu wyjaśnij intencję podsumowania i docelową grupę odbiorców. Zwróć uwagę, że ten przykład różni się od innych, ponieważ udostępniasz instrukcje do interfejsu API dwa razy: 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, warto myśleć 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 monit tekstowy do interfejsu API, który wydaje się być niekompletny. Zatrzymasz wpis tekstowy w słowie "i". 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ż rozumie odpowiednią React bibliotekę.

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 o zapewnieniu odpowiedzi, które koncentrują się na intencji opisanej w wierszu polecenia.

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

  • Korzystanie z modeli GPT-35-Turbo i GPT-4 platformy Azure OpenAI. W przypadku zadań obejmujących interpretację lub generowanie kodu firma Microsoft zaleca korzystanie z GPT-35-TurboGPT-4 modeli i Azure OpenAI. Te modele korzystają z nowego formatu uzupełniania czatów.

Generowanie rzeczywistych odpowiedzi

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

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

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. Podano również przykłady pytań ("Q"), które mogą nie 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ć faktycznie.

Jako zabezpieczenie ustawisz Temperature prawdopodobieństwo na zero, aby interfejs API był bardziej skłonny do odpowiadania za pomocą znaku zapytania (?), jeśli istnieje wątpliwości co do prawdziwej 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 faktycznych odpowiedzi

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

  • Podaj podstawowe informacje dla interfejsu API. Poinstruuj interfejs API o tym, czego należy użyć jako podstawy do utworzenia prawdziwej i faktycznej odpowiedzi na podstawie intencji. Jeśli podasz interfejs API treść tekstu, aby odpowiedzieć na pytania (na przykład wpis w Wikipedii), interfejs API będzie mniej skłonny do utworzenia odpowiedzi.

  • 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żyć konkretnej odpowiedzi na pytania, dla których nie może znaleźć faktycznej odpowiedzi. W tym przykładzie nauczysz interfejs API odpowiadać za pomocą znaku zapytania (?), gdy nie może znaleźć odpowiednich danych. Takie podejście pomaga również interfejsowi API dowiedzieć się, kiedy odpowiadam za pomocą polecenia "Nie wiem" jest bardziej "poprawne" niż tworzenie odpowiedzi.

Praca z kodem

Seria modeli Codex jest elementem potomnym podstawowej serii GPT-3 platformy 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 ponad 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