Question answering

Die Semantic Retrieval API bietet einen gehosteten Question-Answering-Dienst zum Erstellen von Retrieval Augmented Generation (RAG)-Systemen mit der Infrastruktur von Google. Eine ausführliche Anleitung finden Sie im Leitfaden zur semantischen Suche.

Methode: models.generateAnswer

Generiert eine fundierte Antwort aus dem Modell, die auf einer Eingabe GenerateAnswerRequest basiert.

Endpunkt

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

model string

Erforderlich. Der Name der Model, die für die Generierung der fundierten Antwort verwendet werden soll.

Format: model=models/{model}. Es hat das Format models/{model}.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
contents[] object (Content)

Erforderlich. Der Inhalt der aktuellen Unterhaltung mit dem 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 Suchanfragen auf Englisch.

answerStyle enum (AnswerStyle)

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

safetySettings[] object (SafetySetting)

Optional. Eine Liste eindeutiger SafetySetting-Instanzen zum Blockieren sicherer Inhalte.

Dies gilt für GenerateAnswerRequest.contents und GenerateAnswerResponse.candidate. Pro SafetyCategory-Typ sollte es nicht mehr als eine Einstellung geben. Die API blockiert alle Inhalte und Antworten, die die mit diesen Einstellungen festgelegten Grenzwerte nicht einhalten. Mit dieser Liste werden die Standardeinstellungen für jede SafetyCategory überschrieben, die in den Sicherheitseinstellungen angegeben ist. Wenn für eine bestimmte SafetyCategory in der Liste keine SafetySetting angegeben ist, verwendet die API die Standardsicherheitseinstellung für diese Kategorie. Die Kategorien HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT und HARM_CATEGORY_HARASSMENT werden unterstützt. Ausführliche Informationen zu den verfügbaren Sicherheitseinstellungen finden Sie im Leitfaden. Weitere Informationen dazu, wie Sie Sicherheitsaspekte in Ihre KI-Anwendungen einbinden, finden Sie in den Sicherheitsrichtlinien.

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

Absätze, 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. Je näher der Wert an 1,0 liegt, desto vielfältiger und kreativer sind die Antworten. Ein Wert näher an 0,0 führt in der Regel zu einfacheren Antworten des Modells. Für Anwendungsfälle zur Beantwortung von Fragen mit Zuordnung wird in der Regel eine niedrige Temperatur (etwa 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)

Die Antwortvorschlag des Modells.

Hinweis: Das Modell versucht immer, eine fundierte Antwort zu liefern, auch wenn die Antwort mit hoher Wahrscheinlichkeit nicht aus den angegebenen Passagen abgeleitet werden kann. In diesem Fall kann eine Antwort von geringer Qualität oder ohne Begründung geliefert werden, die dann einen niedrigen answerableProbability hat.

answerableProbability number

Nur Ausgabe. Die Schätzung der Wahrscheinlichkeit, dass die Antwort des Modells korrekt ist und auf den Eingabepassagen basiert.

Ein niedriger Wert für answerableProbability bedeutet, dass die Antwort möglicherweise nicht auf den Quellen basiert.

Wenn answerableProbability niedrig ist, können Sie Folgendes tun:

  • Dem Nutzer wird die Meldung „Wir konnten diese Frage nicht beantworten“ angezeigt.
  • Auf ein allgemeines LLM zurückgreifen, das die Frage anhand von allgemeinem Wissen beantwortet. Der Schwellenwert und die Art solcher Fallbacks hängen von den einzelnen Anwendungsfällen ab. 0.5 ist ein guter Ausgangspunkt.
inputFeedback object (InputFeedback)

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

Die Eingabedaten können eine oder mehrere der folgenden Optionen sein:

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

GroundingPassages

Eine wiederholte Liste von Textpassagen.

Felder
passages[] object (GroundingPassage)

Liste der Passagen.

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

GroundingPassage

Textpassage, die inline in einer Erdungskonfiguration enthalten ist.

Felder
id string

Kennung für den Abschnitt, um diesen Abschnitt in fundierten Antworten zuzuordnen.

content object (Content)

Inhalt des Abschnitts.

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

SemanticRetrieverConfig

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

Felder
source string

Erforderlich. Name der Ressource für den Abruf. Beispiel: corpora/123 oder corpora/123/documents/abc.

query object (Content)

Erforderlich. Abfrage, die zum Abgleichen von Chunks in der angegebenen Ressource nach Ähnlichkeit verwendet wird.

metadataFilters[] object (MetadataFilter)

Optional. Filter zum Auswählen von Documents und/oder Chunks aus der Ressource.

maxChunksCount integer

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

minimumRelevanceScore number

Optional. Mindestrelevance-Wert für relevante Chunks, die abgerufen wurden.

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 Ein prägnanter, aber abstrakter Stil.
EXTRACTIVE Sehr kurz und auszugsartig.
VERBOSE Ausführlicher Stil mit zusätzlichen Details. Die Antwort kann als Satz, Absatz, mehrere Absätze oder Aufzählungspunkte formatiert werden.

InputFeedback

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

Felder
safetyRatings[] object (SafetyRating)

Bewertungen der Sicherheit der Eingabe. Pro Kategorie ist maximal eine Altersfreigabe zulässig.

blockReason enum (BlockReason)

Optional. Wenn diese Option festgelegt ist, 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 zu erfahren, in welcher Sicherheitskategorie die Blockierung erfolgte.
OTHER Die Eingabe wurde aus anderen Gründen blockiert.