Method: models.generateAnswer

Génère une réponse ancrée à partir du modèle en fonction d'une GenerateAnswerRequest d'entrée.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de chemin d'accès

Paramètres
model

string

Obligatoire. Nom de la classe Model à utiliser pour générer la réponse ancrée.

Format : model=models/{model}.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "contents": [
    {
      object (Content)
    }
  ],
  "answerStyle": enum (AnswerStyle),
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ],

  // Union field grounding_source can be only one of the following:
  "inlinePassages": {
    object (GroundingPassages)
  },
  "semanticRetriever": {
    object (SemanticRetrieverConfig)
  }
  // End of list of possible types for union field grounding_source.
  "temperature": number
}
Champs
contents[]

object (Content)

Obligatoire. Contenu de la conversation en cours avec le modèle. Pour les requêtes à un seul tour, il s'agit d'une seule question à laquelle répondre. Pour les requêtes multitours, il s'agit d'un champ répété contenant l'historique de la conversation et le dernier Content de la liste contenant la question.

Remarque: Model.generateAnswer n'est actuellement compatible qu'avec les requêtes en anglais.

answerStyle

enum (AnswerStyle)

Obligatoire. Style dans lequel les réponses doivent être renvoyées.

safetySettings[]

object (SafetySetting)

Facultatif. Liste d'instances SafetySetting uniques permettant de bloquer les contenus à risque.

Cette règle sera appliquée sur GenerateAnswerRequest.contents et GenerateAnswerResponse.candidate. Il ne doit y avoir qu'un seul paramètre par type de SafetyCategory. L'API bloque les contenus et les réponses qui ne respectent pas les seuils définis par ces paramètres. Cette liste remplace les paramètres par défaut pour chaque SafetyCategory spécifié dans safetySettings. Si aucun élément SafetySetting n'est indiqué dans la liste pour un SafetyCategory donné, l'API utilise le paramètre de sécurité par défaut de cette catégorie. Les catégories de danger HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT et HARM_CATEGORY_HARASSMENT sont acceptées.

Champ d'union grounding_source. Sources sur lesquelles baser la réponse. grounding_source ne peut être qu'un des éléments suivants :
inlinePassages

object (GroundingPassages)

Passages fournis conformément à la requête.

semanticRetriever

object (SemanticRetrieverConfig)

Contenu récupéré à partir des ressources créées via l'API Semantic Retriever

temperature

number

Facultatif. Contrôle le caractère aléatoire de la sortie.

Les valeurs peuvent être comprises entre [0.0,1.0] inclus. Une valeur proche de 1,0 produira des réponses plus variées et créatives, tandis qu'une valeur proche de 0,0 produira généralement des réponses plus simples du modèle. Une température basse (~ 0,2) est généralement recommandée pour les cas d'utilisation de la réponse aux questions attribuées.

Corps de la réponse

Réponse du modèle pour une réponse terrain.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "answer": {
    object (Candidate)
  },
  "answerableProbability": number,
  "inputFeedback": {
    object (InputFeedback)
  }
}
Champs
answer

object (Candidate)

Réponse candidate du modèle.

Remarque: Le modèle tente toujours de fournir une réponse ancrée dans la masse, même lorsqu'il est peu probable qu'il soit possible de répondre à partir des passages donnés. Dans ce cas, une réponse de faible qualité ou non fondée peut être fournie, ainsi qu'une valeur answerableProbability faible.

answerableProbability

number

Uniquement en sortie. Estimation par le modèle de la probabilité que sa réponse soit correcte et basée sur les passages d'entrée.

Une faible probabilité de réponse indique que la réponse ne repose peut-être pas sur les sources.

Lorsque answerableProbability est faible, certains clients peuvent souhaiter:

  • Afficher un message de type "Nous n'avons pas pu répondre à cette question" à l'utilisateur.
  • Utilisez un LLM général qui répond à la question en s'appuyant sur des connaissances du monde réel. Le seuil et la nature de ces solutions de remplacement dépendent des cas d'utilisation de chaque client. Un bon seuil de départ est de 0,5.
inputFeedback

object (InputFeedback)

Uniquement en sortie. Commentaires liés aux données d'entrée utilisées pour répondre à la question, par opposition à la réponse générée par le modèle.

La colonne "Données d'entrée" peut correspondre à un ou plusieurs des éléments suivants:

  • Question spécifiée par la dernière entrée de GenerateAnswerRequest.content
  • Historique des conversations spécifié par les autres entrées de GenerateAnswerRequest.content
  • Sources d'ancrage (GenerateAnswerRequest.semantic_retriever ou GenerateAnswerRequest.inline_passages)

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

  • https://www.googleapis.com/auth/generative-language
  • https://www.googleapis.com/auth/generative-language.retriever
  • https://www.googleapis.com/auth/generative-language.retriever.readonly
  • https://www.googleapis.com/auth/generative-language.tuning
  • https://www.googleapis.com/auth/generative-language.tuning.readonly

Pour en savoir plus, consultez la page Présentation de l'authentification.

GroundingPassages

Liste répétée de passages.

Représentation JSON
{
  "passages": [
    {
      object (GroundingPassage)
    }
  ]
}
Champs
passages[]

object (GroundingPassage)

Liste de passages.

GroundingPassage

Passage inclus dans une configuration d'ancrage.

Représentation JSON
{
  "id": string,
  "content": {
    object (Content)
  }
}
Champs
id

string

Identifiant du passage pour l'attribution de ce passage dans les réponses ancrées.

content

object (Content)

Contenu du passage.

SemanticRetrieverConfig

Configuration permettant de récupérer le contenu d'ancrage à partir d'un Corpus ou d'un Document créé à l'aide de l'API Semantic Retriever.

Représentation JSON
{
  "source": string,
  "query": {
    object (Content)
  },
  "metadataFilters": [
    {
      object (MetadataFilter)
    }
  ],
  "maxChunksCount": integer,
  "minimumRelevanceScore": number
}
Champs
source

string

Obligatoire. Nom de la ressource à récupérer, par exemple corpora/123 ou corpora/123/documents/abc.

query

object (Content)

Obligatoire. Requête à utiliser pour mettre en correspondance les éléments Chunk de la ressource donnée.

metadataFilters[]

object (MetadataFilter)

Facultatif. Filtres permettant de sélectionner des Document et/ou des Chunk à partir de la ressource.

maxChunksCount

integer

Facultatif. Nombre maximal de Chunk pertinents à récupérer.

minimumRelevanceScore

number

Facultatif. Niveau de pertinence minimal pour les Chunk pertinents récupérés.

AnswerStyle

Style pour les réponses ancrées

Enums
ANSWER_STYLE_UNSPECIFIED Style de réponse non spécifié.
ABSTRACTIVE Un style succinct, mais abstrait.
EXTRACTIVE Style très bref et extractif.
VERBOSE Style détaillé comprenant des détails supplémentaires La réponse peut prendre la forme d'une phrase, d'un paragraphe, de plusieurs paragraphes, d'une liste à puces, etc.

InputFeedback

Commentaires liés aux données d'entrée utilisées pour répondre à la question, par opposition à la réponse générée par le modèle.

Représentation JSON
{
  "safetyRatings": [
    {
      object (SafetyRating)
    }
  ],
  "blockReason": enum (BlockReason)
}
Champs
safetyRatings[]

object (SafetyRating)

Évaluations de la sécurité de l'entrée. Il n'y a pas plus d'une note par catégorie.

blockReason

enum (BlockReason)

Facultatif. Si cette valeur est définie, l'entrée a été bloquée et aucun candidat n'est renvoyé. Reformulez votre entrée.

BlockReason

Indique la raison pour laquelle l'entrée a été bloquée.

Enums
BLOCK_REASON_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
SAFETY La saisie a été bloquée pour des raisons de sécurité. Vous pouvez inspecter safetyRatings pour identifier la catégorie de sécurité qui l'a bloquée.
OTHER La saisie a été bloquée pour d'autres raisons.