L'API Semantic Retrieval fournit un service de questions-réponses hébergé pour créer des systèmes de génération augmentée par récupération (RAG) à l'aide de l'infrastructure de Google. Pour obtenir une procédure détaillée, consultez le guide de récupération sémantique.
Méthode: models.generateAnswer
- Point de terminaison
- Paramètres de chemin d'accès
- Corps de la requête
- Corps de la réponse
- Champs d'application des autorisations
- GroundingPassages
- GroundingPassage
- SemanticRetrieverConfig
- AnswerStyle
- InputFeedback
- BlockReason
Génère une réponse ancrée à partir du modèle, en fonction d'une entrée GenerateAnswerRequest
.
Point de terminaison
Posterhttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
L'URL utilise la syntaxe de transcodage gRPC.
Paramètres de chemin d'accès
model
string
Obligatoire. Nom de l'Model
à utiliser pour générer la réponse ancrée.
Format : model=models/{model}
. Il se présente sous la forme models/{model}
.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
contents[]
object (Content
)
Obligatoire. Contenu de la conversation en cours avec l'Model
. 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: models.generateAnswer
n'accepte que 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 pour le blocage du contenu non sécurisé.
Cette règle sera appliquée aux GenerateAnswerRequest.contents
et GenerateAnswerResponse.candidate
. Il ne doit pas y avoir plus d'un paramètre pour chaque type SafetyCategory
. L'API bloque tous les contenus et réponses qui ne respectent pas les seuils définis par ces paramètres. Cette liste remplace les paramètres par défaut de chaque SafetyCategory
spécifié dans les paramètres de sécurité. Si aucun SafetySetting
n'est fourni dans la liste pour un SafetyCategory
donné, l'API utilise le paramètre de sécurité par défaut pour cette catégorie. Les catégories de préjudice HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT et HARM_CATEGORY_HARASSMENT sont acceptées. Pour en savoir plus sur les paramètres de sécurité disponibles, consultez le guide. Consultez également les Consignes de sécurité pour découvrir comment intégrer des considérations de sécurité à vos applications d'IA.
grounding_source
Union type
grounding_source
ne peut être qu'un des éléments suivants :inlinePassages
object (GroundingPassages
)
Passages fournis dans la requête.
semanticRetriever
object (SemanticRetrieverConfig
)
Contenu récupéré à partir de 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] et [1,0], inclus. Une valeur proche de 1,0 génère des réponses plus variées et créatives, tandis qu'une valeur proche de 0,0 génère généralement des réponses plus directes du modèle. Une température basse (environ 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 ancrée.
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
answer
object (Candidate
)
Réponse candidate du modèle.
Remarque: Le modèle tente toujours de fournir une réponse fondée, même si la réponse est peu probable d'être obtenue à partir des passages donnés. Dans ce cas, une réponse de mauvaise qualité ou non fondée peut être fournie, avec un answerableProbability
faible.
answerableProbability
number
Uniquement en sortie. Estimation de la probabilité que la réponse du modèle soit correcte et basée sur les passages d'entrée.
Un answerableProbability
faible indique que la réponse n'est peut-être pas ancrée dans les sources.
Lorsque answerableProbability
est faible, vous pouvez:
- Affichez un message indiquant "Nous n'avons pas pu répondre à cette question" à l'utilisateur.
- Utiliser un LLM à usage général qui répond à la question à partir de connaissances générales Le seuil et la nature de ces solutions de secours dépendront des cas d'utilisation individuels.
0.5
est un bon seuil de départ.
inputFeedback
object (InputFeedback
)
Uniquement en sortie. Commentaires concernant les 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.
Les données d'entrée peuvent être l'une ou plusieurs des valeurs suivantes:
- Question spécifiée par la dernière entrée dans
GenerateAnswerRequest.content
- Historique de la conversation spécifié par les autres entrées de
GenerateAnswerRequest.content
- Sources d'ancrage (
GenerateAnswerRequest.semantic_retriever
ouGenerateAnswerRequest.inline_passages
)
Représentation JSON |
---|
{ "answer": { object ( |
GroundingPassages
Liste répétée de passages.
passages[]
object (GroundingPassage
)
Liste des passages.
Représentation JSON |
---|
{
"passages": [
{
object ( |
GroundingPassage
SemanticRetrieverConfig
Configuration pour récupérer du contenu d'ancrage à partir d'un Corpus
ou d'un Document
créé à l'aide de l'API Semantic Retriever.
source
string
Obligatoire. Nom de la ressource à récupérer. Exemple: corpora/123
ou corpora/123/documents/abc
.
query
object (Content
)
Obligatoire. Requête à utiliser pour faire correspondre les Chunk
de la ressource donnée par similarité.
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. Score de pertinence minimal pour les Chunk
pertinentes récupérées.
Représentation JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
Style pour les réponses fondées.
Enums | |
---|---|
ANSWER_STYLE_UNSPECIFIED |
Style de réponse non spécifié. |
ABSTRACTIVE |
Style concis, mais abstrait. |
EXTRACTIVE |
Style très bref et extractif. |
VERBOSE |
Style descriptif incluant des détails supplémentaires. La réponse peut être mise en forme sous forme de phrase, de paragraphe, de plusieurs paragraphes, de puces, etc. |
InputFeedback
Commentaires concernant les 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.
safetyRatings[]
object (SafetyRating
)
Évaluations de la sécurité de l'entrée. Il ne peut y avoir qu'une seule classification par catégorie.
blockReason
enum (BlockReason
)
Facultatif. Si cette valeur est définie, l'entrée a été bloquée et aucune suggestion n'est renvoyée. Reformulez la requête.
Représentation JSON |
---|
{ "safetyRatings": [ { object ( |
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 |
L'entrée a été bloquée pour des raisons de sécurité. Inspectez safetyRatings pour identifier la catégorie de sécurité qui l'a bloqué. |
OTHER |
La saisie a été bloquée pour d'autres raisons. |