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.
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 de l'entrée GenerateAnswerRequest
.
Point de terminaison
posthttps: / /generativelanguage.googleapis.com /v1beta /{model=models /*}:generateAnswer
Paramètres de chemin d'accès
model
string
Obligatoire. Nom du 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 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 permettant de bloquer le contenu non sécurisé.
Cette règle sera appliquée sur GenerateAnswerRequest.contents
et GenerateAnswerResponse.candidate
. Il ne doit pas y avoir plus d'un paramètre pour chaque type SafetyCategory
. L'API bloquera tout contenu et toute réponse 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 safetySettings. Si aucun SafetySetting
n'est associé à un SafetyCategory
donné dans la liste, 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 savoir comment intégrer des considérations de sécurité dans 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 à l'aide de 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 plus proche de 1 générera des réponses plus variées et créatives, tandis qu'une valeur plus proche de 0 entraînera généralement des réponses plus directes de la part du modèle. Une température basse (~0,2) est généralement recommandée pour les cas d'utilisation de réponse aux questions avec attribution.
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 ancrée, même si la réponse est peu susceptible d'être trouvée dans les passages fournis. Dans ce cas, une réponse de mauvaise qualité ou non ancrée peut être fournie, accompagnée d'un answerableProbability
faible.
answerableProbability
number
Uniquement en sortie. Estimation par le modèle de la probabilité que sa réponse soit correcte et ancrée dans 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 le message "Nous n'avons pas pu répondre à cette question" à l'utilisateur.
- Revenir à 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 repli dépendent des cas d'utilisation individuels.
0.5
constitue un bon seuil de départ.
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.
Les données d'entrée peuvent être une ou plusieurs des suivantes :
- Question spécifiée par la dernière entrée de
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 permettant de 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
dans 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
pertinents récupérés.
Représentation JSON |
---|
{ "source": string, "query": { object ( |
AnswerStyle
Style pour les réponses ancré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 verbeux incluant des détails supplémentaires. La réponse peut être mise en forme sous forme de phrase, de paragraphe, de plusieurs paragraphes, de 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.
safetyRatings[]
object (SafetyRating
)
Évaluations de la sécurité de l'entrée. Il ne peut y avoir qu'une seule 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 la saisie.
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 comprendre la catégorie de sécurité qui l'a bloqué. |
OTHER |
L'entrée a été bloquée pour d'autres raisons. |