Question answering

Die Semantic Retrieval API bietet einen gehosteten Question Answering-Dienst zum Erstellen von RAG-Systemen (Retrieval Augmented Generation) mit der Infrastruktur von Google.

Methode: models.generateAnswer

Generiert eine fundierte Antwort vom Modell basierend auf einer Eingabe GenerateAnswerRequest.

Endpunkt

post https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateAnswer >
>

Pfadparameter

model string

Erforderlich. Der Name des Model, der zum Generieren der fundierten Antwort verwendet werden soll.

Format: model=models/{model}. Sie hat die Form models/{model}.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
contents[] object (Content)

Erforderlich. Der Inhalt der aktuellen Unterhaltung mit Model. Bei Einzelabfragen ist dies eine einzelne Frage, die beantwortet werden muss. Bei Mehrfachabfragen ist dies ein wiederkehrendes Feld, das den Unterhaltungsverlauf und die letzte Content in der Liste mit der Frage enthält.

Hinweis: models.generateAnswer unterstützt nur Anfragen auf Englisch.

answerStyle enum (AnswerStyle)

Erforderlich. Stil, in dem Antworten zurückgegeben werden sollen.

safetySettings[] object (SafetySetting)

Optional. Eine Liste mit eindeutigen SafetySetting-Instanzen zum Blockieren unsicherer Inhalte.

Dies wird auf der GenerateAnswerRequest.contents und der GenerateAnswerResponse.candidate erzwungen. Es sollte nicht mehr als eine Einstellung für jeden SafetyCategory-Typ geben. Die API blockiert alle Inhalte und Antworten, die die durch diese Einstellungen festgelegten Grenzwerte nicht erreichen. Diese Liste überschreibt die Standardeinstellungen für jede SafetyCategory, die in „safetySettings“ angegeben ist. Wenn für ein bestimmtes SafetyCategory kein SafetySetting in der Liste angegeben ist, verwendet die API die Standardeinstellung für die Sicherheit für diese Kategorie. Die Kategorien schädlicher Inhalte HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT und HARM_CATEGORY_HARASSMENT werden unterstützt. Hier finden Sie eine Anleitung mit detaillierten Informationen zu den verfügbaren Sicherheitseinstellungen. Sicherheitshinweise enthalten Informationen dazu, wie Sie Sicherheitsaspekte in Ihre KI-Anwendungen einbeziehen können.

grounding_source Union type
Die Quellen, auf denen die Antwort basieren soll. Für grounding_source ist nur einer der folgenden Werte zulässig:
inlinePassages object (GroundingPassages)

Passagen, die inline mit der Anfrage bereitgestellt werden.

semanticRetriever object (SemanticRetrieverConfig)

Inhalte, die aus Ressourcen abgerufen werden, die über die Semantic Retriever API erstellt wurden.

temperature number

Optional. Steuert die Zufälligkeit der Ausgabe.

Die Werte können zwischen 0,0 und 1,0 liegen. Ein Wert, der näher an 1,0 liegt, führt zu vielfältigeren und kreativeren Antworten, während ein Wert, der näher an 0,0 liegt, in der Regel zu direkteren Antworten des Modells führt. Für Anwendungsfälle mit Attributed Question Answering wird in der Regel eine niedrige Temperatur (~0,2) empfohlen.

Antworttext

Antwort des Modells für eine fundierte Antwort.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

Felder
answer object (Candidate)

Kandidatenantwort des Modells.

Hinweis: Das Modell versucht immer, eine fundierte Antwort zu geben, auch wenn die Antwort wahrscheinlich nicht aus den angegebenen Abschnitten beantwortet werden kann. In diesem Fall wird möglicherweise eine minderwertige oder unbegründete Antwort zusammen mit einem niedrigen answerableProbability bereitgestellt.

answerableProbability number

Nur Ausgabe. Die Schätzung des Modells für die Wahrscheinlichkeit, dass seine Antwort korrekt ist und auf den Eingabetexten basiert.

Ein niedriger answerableProbability-Wert deutet darauf hin, dass die Antwort möglicherweise nicht auf den Quellen basiert.

Wenn answerableProbability niedrig ist, haben Sie folgende Möglichkeiten:

  • Dem Nutzer wird eine Meldung wie „Wir konnten diese Frage nicht beantworten“ angezeigt.
  • Auf ein Allzweck-LLM zurückgreifen, das die Frage auf Grundlage von Weltwissen beantwortet. Der Schwellenwert und die Art solcher Fallbacks hängen von den einzelnen Anwendungsfällen ab. 0.5 ist ein guter Ausgangsgrenzwert.
inputFeedback object (InputFeedback)

Nur Ausgabe. Feedback zu den Eingabedaten, die zum Beantworten der Frage verwendet wurden, im Gegensatz zur vom Modell generierten Antwort auf die Frage.

Die Eingabedaten können eines oder mehrere der folgenden Elemente sein:

  • Frage, die durch den letzten Eintrag in GenerateAnswerRequest.content angegeben wird
  • Unterhaltungsverlauf, der durch die anderen Einträge in GenerateAnswerRequest.content angegeben wird
  • Fundierungsquellen (GenerateAnswerRequest.semantic_retriever oder GenerateAnswerRequest.inline_passages)
JSON-Darstellung
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}

GroundingPassages

Eine wiederholte Liste von Passagen.

Felder
passages[] object (GroundingPassage)

Liste der Passagen.

JSON-Darstellung
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}

GroundingPassage

Absatz, der inline mit einer Fundierungs-Konfiguration eingefügt wurde.

Felder
id string

Kennung für den Abschnitt zur Quellenangabe in fundierten Antworten.

content object (Content)

Inhalt des Abschnitts.

JSON-Darstellung
{
  "id": string,
  "content": {
    object (Content)
  }
}

SemanticRetrieverConfig

Konfiguration zum Abrufen von Fundierungsinhalten aus einem Corpus oder Document, das mit der Semantic Retriever API erstellt wurde.

Felder
source string

Erforderlich. Name der abzurufenden Ressource. Beispiel: corpora/123 oder corpora/123/documents/abc.

query object (Content)

Erforderlich. Abfrage, die für den Abgleich von Chunks in der angegebenen Ressource nach Ähnlichkeit verwendet werden soll.

metadataFilters[] object (MetadataFilter)

Optional. Filter zum Auswählen von Document und/oder Chunk aus der Ressource.

maxChunksCount integer

Optional. Maximale Anzahl der relevanten Chunk, die abgerufen werden sollen.

minimumRelevanceScore number

Optional. Mindestrelevanzwert für abgerufene relevante Chunk.

JSON-Darstellung
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}

AnswerStyle

Stil für fundierte Antworten.

Enums
ANSWER_STYLE_UNSPECIFIED Nicht angegebener Antwortstil.
ABSTRACTIVE Prägnanter, aber abstrakter Stil.
EXTRACTIVE Sehr kurz und extraktiv.
VERBOSE Ausführlicher Stil mit zusätzlichen Details. Die Antwort kann als Satz, Absatz, mehrere Absätze oder Aufzählungspunkte usw. formatiert werden.

InputFeedback

Feedback zu den Eingabedaten, die zum Beantworten der Frage verwendet wurden, im Gegensatz zur vom Modell generierten Antwort auf die Frage.

Felder
safetyRatings[] object (SafetyRating)

Bewertungen zur Sicherheit der Eingabe. Pro Kategorie gibt es maximal eine Bewertung.

blockReason enum (BlockReason)

Optional. Wenn festgelegt, wurde die Eingabe blockiert und es werden keine Kandidaten zurückgegeben. Formulieren Sie die Eingabe um.

JSON-Darstellung
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}

BlockReason

Gibt an, warum die Eingabe blockiert wurde.

Enums
BLOCK_REASON_UNSPECIFIED Standardwert Dieser Wert wird nicht verwendet.
SAFETY Die Eingabe wurde aus Sicherheitsgründen blockiert. Sehen Sie sich safetyRatings an, um herauszufinden, durch welche Sicherheitskategorie die Blockierung erfolgt ist.
OTHER Die Eingabe wurde aus anderen Gründen blockiert.