Interfejs Semantic Retrieval API udostępnia hostowaną usługę odpowiadania na pytania, która umożliwia tworzenie systemów Retrieval Augmented Generation (RAG) z wykorzystaniem infrastruktury Google.
Metoda: models.generateAnswer
- Punkt końcowy
- Parametry ścieżki
- Treść żądania
- Treść odpowiedzi
- Zakresy autoryzacji
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Generuje odpowiedź opartą na modelu na podstawie danych wejściowych GenerateAnswerRequest
.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
Parametry ścieżki
model
string
Wymagane. Nazwa Model
, która ma być użyta do wygenerowania odpowiedzi opartej na źródłach.
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 Model
. W przypadku zapytań jednorazowych jest to pojedyncze pytanie, na które należy odpowiedzieć. W przypadku zapytań wieloetapowych jest to pole powtarzane, które zawiera historię rozmowy, a ostatni element na liście zawiera pytanie.Content
Uwaga: models.generateAnswer
obsługuje tylko zapytania w języku angielskim.
answerStyle
enum (AnswerStyle
)
Wymagane. Styl, w jakim mają być zwracane odpowiedzi.
safetySettings[]
object (SafetySetting
)
Opcjonalnie. Lista unikalnych instancji SafetySetting
do blokowania niebezpiecznych treści.
Będzie to egzekwowane w przypadku GenerateAnswerRequest.contents
i GenerateAnswerResponse.candidate
. Nie powinno być więcej niż 1 ustawienia dla każdego typu SafetyCategory
. Interfejs API będzie blokować treści i odpowiedzi, które nie spełniają progów określonych w tych ustawieniach. Ta lista zastępuje domyślne ustawienia każdego SafetyCategory
określonego w parametrze safetySettings. Jeśli na liście nie ma wartości SafetySetting
dla danego SafetyCategory
, interfejs API użyje domyślnego ustawienia bezpieczeństwa dla tej kategorii. Obsługiwane są kategorie szkodliwych treści HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT i HARM_CATEGORY_HARASSMENT. Szczegółowe informacje o dostępnych ustawieniach bezpieczeństwa znajdziesz w przewodniku. Zapoznaj się też z wytycznymi dotyczącymi bezpieczeństwa, aby dowiedzieć się, jak uwzględniać kwestie bezpieczeństwa w aplikacjach AI.
grounding_source
Union type
grounding_source
może mieć tylko jedną z tych wartości:inlinePassages
object (GroundingPassages
)
Fragmenty podane w treści żądania.
semanticRetriever
object (SemanticRetrieverConfig
)
Treści pobrane z zasobów utworzonych za pomocą interfejsu Semantic Retriever API.
temperature
number
Opcjonalnie. Określa losowość danych wyjściowych.
Wartości mogą mieścić się w zakresie [0,0, 1,0] (włącznie). Wartość bliższa 1,0 spowoduje, że odpowiedzi będą bardziej zróżnicowane i kreatywne, a wartość bliższa 0,0 zwykle spowoduje, że model będzie generować bardziej bezpośrednie odpowiedzi. W przypadku zastosowań związanych z odpowiadaniem na pytania z atrybucją zwykle zalecana jest niska temperatura (ok.0,2).
Treść odpowiedzi
Odpowiedź modelu na pytanie z użyciem groundingu.
W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:
answer
object (Candidate
)
Odpowiedź kandydująca modelu.
Uwaga: model zawsze próbuje podać odpowiedź opartą na faktach, nawet jeśli jest mało prawdopodobne, że można ją znaleźć w podanych fragmentach. W takim przypadku może zostać podana odpowiedź niskiej jakości lub nieuzasadniona, a także niska ocena answerableProbability
.
answerableProbability
number
Tylko dane wyjściowe. Szacowana przez model wartość prawdopodobieństwa, że jego odpowiedź jest prawidłowa i oparta na fragmentach wejściowych.
Niska wartość answerableProbability
oznacza, że odpowiedź może nie być oparta na źródłach.
Gdy wartość answerableProbability
jest niska, możesz:
- Wyświetl użytkownikowi komunikat w stylu „Nie udało nam się odpowiedzieć na to pytanie”.
- Wróć do ogólnego modelu LLM, który odpowie na pytanie na podstawie wiedzy o świecie. Próg i charakter takich rozwiązań zastępczych zależą od konkretnych przypadków użycia.
0.5
to dobry próg początkowy.
inputFeedback
object (InputFeedback
)
Tylko dane wyjściowe. Opinie dotyczące danych wejściowych użytych do udzielenia odpowiedzi na pytanie, a nie wygenerowanej przez model odpowiedzi na to pytanie.
Dane wejściowe mogą być co najmniej jednym z tych elementów:
- Pytanie określone przez ostatni wpis w
GenerateAnswerRequest.content
- Historia rozmowy określona przez inne wpisy w
GenerateAnswerRequest.content
- Źródła groundingu (
GenerateAnswerRequest.semantic_retriever
lubGenerateAnswerRequest.inline_passages
)
Zapis JSON |
---|
{ "answer": { object ( |
GroundingPassages
Powtarzająca się lista fragmentów.
passages[]
object (GroundingPassage
)
Lista fragmentów.
Zapis JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Konfiguracja pobierania treści podstawowych z Corpus
lub Document
utworzonych za pomocą interfejsu Semantic Retriever API.
source
string
Wymagane. Nazwa zasobu do pobrania. Przykład: corpora/123
lub corpora/123/documents/abc
.
query
object (Content
)
Wymagane. Zapytanie służące do dopasowywania Chunk
w danym zasobie na podstawie podobieństwa.
metadataFilters[]
object (MetadataFilter
)
Opcjonalnie. Filtry do wybierania Document
lub Chunk
z zasobu.
maxChunksCount
integer
Opcjonalnie. Maksymalna liczba odpowiednich Chunk
do pobrania.
minimumRelevanceScore
number
Opcjonalnie. Minimalny wynik trafności dla pobranych trafnych Chunk
.
Zapis JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
Styl odpowiedzi opartej na źródłach.
Wartości w polu enum | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
Nieokreślony styl odpowiedzi. |
ABSTRACTIVE |
Zwięzły, ale abstrakcyjny styl. |
EXTRACTIVE |
Bardzo krótki i ekstrakcyjny styl. |
VERBOSE |
Szczegółowy styl zawierający dodatkowe informacje. Odpowiedź może być sformatowana jako zdanie, akapit, kilka akapitów, punkty itp. |
InputFeedback
Opinie dotyczące danych wejściowych użytych do udzielenia odpowiedzi na pytanie, a nie wygenerowanej przez model odpowiedzi na to pytanie.
safetyRatings[]
object (SafetyRating
)
oceny bezpieczeństwa danych wejściowych; W każdej kategorii może być maksymalnie 1 ocena.
blockReason
enum (BlockReason
)
Opcjonalnie. Jeśli to ustawienie jest włączone, wprowadzanie zostało zablokowane i nie są zwracane żadne propozycje. Przeformułuj dane wejściowe.
Zapis JSON |
---|
{ "safetyRatings": [ { object ( |
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 |
Dane wejściowe zostały zablokowane ze względów bezpieczeństwa. Kliknij safetyRatings , aby dowiedzieć się, która kategoria bezpieczeństwa spowodowała blokadę. |
OTHER |
Dane wejściowe zostały zablokowane z innych powodów. |