Metoda: Modele.generateAnswer
- Punkt końcowy
- Parametry ścieżki
- Treść żądania
- Treść odpowiedzi
- Zakresy autoryzacji
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Generuje uzasadnioną odpowiedź na podstawie modelu z danymi wejściowymi GenerateAnswerRequest
.
Punkt końcowy
post
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer
Parametry ścieżki
model
string
Wymagane. Nazwa obiektu Model
, który ma być używany do generowania odpowiedzi ugruntowanej.
Format: model=models/{model}
. Ma on postać models/{model}
.
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
contents[]
object (Content
)
Wymagane. Treść bieżącej rozmowy z modelem. W przypadku zapytań jednoetapowych jest to tylko jedno pytanie, na które trzeba odpowiedzieć. W przypadku zapytań wieloetapowych jest to pole powtarzane, które zawiera historię rozmowy i ostatnie pole Content
na liście zawierające pytanie.
Uwaga: modele.generateAnswer obsługują obecnie tylko zapytania w języku angielskim.
answerStyle
enum (AnswerStyle
)
Wymagane. Styl, w którym mają być zwracane odpowiedzi.
safetySettings[]
object (SafetySetting
)
Opcjonalnie: Lista unikalnych instancji SafetySetting
do blokowania niebezpiecznych treści.
Ta zmiana zostanie zastosowana w GenerateAnswerRequest.contents
i GenerateAnswerResponse.candidate
. Każdy typ SafetyCategory
powinien mieć maksymalnie 1 ustawienie. Interfejs API zablokuje treści i odpowiedzi, które nie osiągną progów ustawionych przez te ustawienia. Ta lista zastępuje domyślne ustawienia dla każdego elementu SafetyCategory
określonego w ustawieniach bezpieczeństwa. Jeśli na liście nie ma atrybutu SafetySetting
dla danego elementu SafetyCategory
, interfejs API użyje dla tej kategorii domyślnego ustawienia bezpieczeństwa. Kategorie szkodliwego działania: HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT, HARM_CATEGORY_HARASSMENT są obsługiwane.
grounding_source
. Źródła, na których oprzeć odpowiedź. grounding_source
może mieć tylko jedną z tych wartości:
inlinePassages
object (GroundingPassages
)
fragmenty dostarczone w tekście żądania.
semanticRetriever
object (SemanticRetrieverConfig
)
Treść pobrana z zasobów utworzonych przy użyciu interfejsu Semantic retriever API.
temperature
number
Opcjonalnie: Określa losowość wyników.
Wartości mogą mieścić się w zakresie od [0,0,1,0] włącznie. Wartość bliższa 1,0 daje odpowiedzi, które są bardziej zróżnicowane i kreatywne, a wartość bliższa 0,0 zapewnia zwykle bardziej przejrzyste odpowiedzi z modelu. W przypadkach użycia funkcji związanych z przypisanymi odpowiedziami na pytania zalecana jest zwykle niska temperatura (~0,2).
Treść odpowiedzi
Odpowiedź modelu zapewniająca ugruntowaną odpowiedź.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
answer
object (Candidate
)
Odpowiedź kandydata na podstawie modelu.
Uwaga: model zawsze próbuje udzielić wiarygodnej odpowiedzi, nawet jeśli jest mało prawdopodobne, że odpowiedzi da się zastosować w danych fragmentach. W takim przypadku może zostać podana niska jakość lub nieuzasadniona odpowiedź oraz niski wskaźnik answerableProbability
.
answerableProbability
number
Tylko dane wyjściowe. Szacowane prawdopodobieństwo, że odpowiedź modelu jest prawidłowa i jest zakorzeniona we fragmentach wejściowych.
Niska wartość prawdopodobieństwa, z którą można się poradzić, wskazuje, że odpowiedź może nie być ugruntowana w źródłach.
Gdy answerableProbability
jest niski, niektórzy klienci mogą chcieć:
- Wyświetlaj komunikat o treści „Nie udało nam się odpowiedzieć na to pytanie”. po stronie użytkownika.
- Wróćmy do ogólnego przeznaczenia LLM, które stanowi odpowiedź na pytanie wynikające z wiedzy z całego świata. Próg i charakter takich wartości zastępczych zależą od przypadków użycia poszczególnych klientów. Na początek dobry próg to 0,5.
inputFeedback
object (InputFeedback
)
Tylko dane wyjściowe. Opinie związane z danymi wejściowymi użytymi do udzielenia odpowiedzi na pytanie w odróżnieniu od odpowiedzi na pytanie wygenerowane przez model.
„Dane wejściowe” mogą być jednym lub kilkoma z tych elementów:
- Pytanie określone w ostatnim wpisie w polu
GenerateAnswerRequest.content
- Historia rozmowy określona przez inne wpisy w sekcji
GenerateAnswerRequest.content
- Źródła umocowania (
GenerateAnswerRequest.semantic_retriever
lubGenerateAnswerRequest.inline_passages
)
Zapis JSON |
---|
{ "answer": { object ( |
GroundingPassages
Powtórzona lista fragmentów.
Zapis JSON |
---|
{
"passages": [
{
object ( |
passages[]
object (GroundingPassage
)
Lista fragmentów.
GroundingPassage
Fragment dołączony do konfiguracji umocowania.
Zapis JSON |
---|
{
"id": string,
"content": {
object ( |
id
string
Identyfikator fragmentu, dla którego został przypisany udział w uzasadnionych odpowiedziach.
content
object (Content
)
Treść fragmentu.
SemanticRetrieverConfig
Konfiguracja pobierania treści umocowań z zasobu Corpus
lub Document
utworzonego za pomocą interfejsu Semantic retriever API.
Zapis JSON |
---|
{ "source": string, "query": { object ( |
source
string
Wymagane. Nazwa zasobu do pobrania, np. korpusy/123 lub korpusy/123/dokumenty/abc.
query
object (Content
)
Wymagane. Zapytanie, które ma być używane do dopasowywania elementów typu Chunk
w podanym zasobie.
metadataFilters[]
object (MetadataFilter
)
Opcjonalnie: Filtry wyboru elementów typu Document
lub Chunk
z zasobu.
maxChunksCount
integer
Opcjonalnie: Maksymalna liczba odpowiednich elementów Chunk
do pobrania.
minimumRelevanceScore
number
Opcjonalnie: Minimalny wynik trafności dla pobranych odpowiednich elementów typu Chunk
.
AnswerStyle
Nadaj styl konstruktywnym odpowiedziom.
Wartości w polu enum | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
Nieokreślony styl odpowiedzi. |
ABSTRACTIVE |
Krótki, ale abstrakcyjny. |
EXTRACTIVE |
Bardzo krótki i wyodrębniony styl. |
VERBOSE |
Szczegółowy styl z dodatkowymi szczegółami. Odpowiedź może być sformatowana jako zdanie, akapit, wiele akapitów, punktory itp. |
InputFeedback
Opinie związane z danymi wejściowymi użytymi do udzielenia odpowiedzi na pytanie w odróżnieniu od odpowiedzi na pytanie wygenerowane przez model.
Zapis JSON |
---|
{ "safetyRatings": [ { object ( |
safetyRatings[]
object (SafetyRating
)
Oceny bezpieczeństwa danych wejściowych. Każda kategoria może mieć maksymalnie 1 ocenę.
blockReason
enum (BlockReason
)
Opcjonalnie: Jeśli dane wejściowe są ustawione, zostały zablokowane i nie są zwracane żadne propozycje. Przeredaguj wpisany tekst.
BlockReason
Określa powód zablokowania danych wejściowych.
Wartości w polu enum | |
---|---|
BLOCK_REASON_UNSPECIFIED |
Wartość domyślna. Ta wartość nie jest używana. |
SAFETY |
Wpisywanie danych zostało zablokowane ze względów bezpieczeństwa. Możesz sprawdzić zasadę safetyRatings , aby dowiedzieć się, która kategoria bezpieczeństwa ją zablokowała. |
OTHER |
Dane wejściowe zostały zablokowane z innych powodów. |