Méthode: Models.generateContent
- Point de terminaison
- Paramètres de chemin d'accès
- Corps de la requête
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- Corps de la réponse
- Champs d'application des autorisations
- Exemple de requête <ph type="x-smartling-placeholder">
Génère une réponse du modèle en fonction d'une GenerateContentRequest
d'entrée.
Les capacités d'entrée diffèrent selon les modèles, y compris les modèles réglés. Pour en savoir plus, consultez le guide du modèle et le guide de réglage.
Point de terminaison
<ph type="x-smartling-placeholder"></ph> publier
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:generateContent
.
Paramètres de chemin d'accès
model
string
Obligatoire. Nom de la Model
à utiliser pour générer l'achèvement.
Format : name=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 :
<ph type="x-smartling-placeholder">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 instance unique. Pour les requêtes multitours, il s'agit d'un champ répété contenant l'historique de la conversation et la dernière requête.
tools[]
object (Tool
)
Facultatif. Liste de Tools
que le modèle peut utiliser pour générer la réponse suivante.
Un Tool
est un extrait de code qui permet au système d'interagir avec des systèmes externes pour effectuer une ou plusieurs actions, en dehors des connaissances et du champ d'application du modèle. Le seul outil actuellement compatible est Function
.
toolConfig
object (ToolConfig
)
Facultatif. Configuration de l'outil pour tous les Tool
spécifiés dans la requête.
safetySettings[]
object (SafetySetting
)
Facultatif. Liste d'instances SafetySetting
uniques permettant de bloquer le contenu à risque.
Cette modification sera appliquée à GenerateContentRequest.contents
et à GenerateContentResponse.candidates
. Il ne doit pas y avoir plus d'un paramètre par type de SafetyCategory
. L'API bloquera tous les contenus et toutes 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 les paramètres de sécurité. Si aucun SafetySetting
ne figure 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éjudices HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT et HARM_CATEGORY_HARASSMENT sont prises en charge.
systemInstruction
object (Content
)
Facultatif. Instruction concernant le système défini par le développeur. Actuellement, il s'agit uniquement de texte.
generationConfig
object (GenerationConfig
)
Facultatif. Options de configuration pour la génération et les sorties de modèles
cachedContent
string
Facultatif. Nom du contenu mis en cache utilisé comme contexte pour diffuser la prédiction. Remarque: Utilisé uniquement dans la mise en cache explicite, où les utilisateurs peuvent contrôler la mise en cache (par exemple, quel contenu mettre en cache) et bénéficier d'économies garanties. Format : cachedContents/{cachedContent}
Exemple de requête
Texte
Python
Node.js
Kotlin
Swift
Dart
Java
Image
Python
Node.js
Kotlin
Swift
Dart
Java
Audio
Python
Node.js
Vidéo
Python
Node.js
Chat
Python
Node.js
Coquille Rose
Kotlin
Swift
Dart
Java
Cache
Python
Node.js
Modèle réglé
Python
Mode JSON
Python
Node.js
Kotlin
Swift
Dart
Java
Exécution du code
Python
Kotlin
Java
Appel de fonction
Python
Node.js
Kotlin
Swift
Dart
Java
Configuration de la génération
Python
Node.js
Coquille Rose
Kotlin
Swift
Dart
Java
Paramètres de sécurité
Python
Node.js
Coquille Rose
Kotlin
Swift
Dart
Java
Instruction système
Python
Node.js
Kotlin
Swift
Dart
Java
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient une instance de GenerateContentResponse
.
Méthode: Models.streamGenerateContent
- Point de terminaison
- Paramètres de chemin d'accès
- Corps de la requête
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- Corps de la réponse
- Champs d'application des autorisations
- Exemple de requête <ph type="x-smartling-placeholder">
Génère une réponse diffusée par le modèle à partir d'une GenerateContentRequest
d'entrée.
Point de terminaison
<ph type="x-smartling-placeholder"></ph> publier
https://generativelanguage.googleapis.com/v1beta/{model=models/*}:streamGenerateContent
.
Paramètres de chemin d'accès
model
string
Obligatoire. Nom de la Model
à utiliser pour générer l'achèvement.
Format : name=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 :
<ph type="x-smartling-placeholder">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 instance unique. Pour les requêtes multitours, il s'agit d'un champ répété contenant l'historique de la conversation et la dernière requête.
tools[]
object (Tool
)
Facultatif. Liste de Tools
que le modèle peut utiliser pour générer la réponse suivante.
Un Tool
est un extrait de code qui permet au système d'interagir avec des systèmes externes pour effectuer une ou plusieurs actions, en dehors des connaissances et du champ d'application du modèle. Le seul outil actuellement compatible est Function
.
toolConfig
object (ToolConfig
)
Facultatif. Configuration de l'outil pour tous les Tool
spécifiés dans la requête.
safetySettings[]
object (SafetySetting
)
Facultatif. Liste d'instances SafetySetting
uniques permettant de bloquer le contenu à risque.
Cette modification sera appliquée à GenerateContentRequest.contents
et à GenerateContentResponse.candidates
. Il ne doit pas y avoir plus d'un paramètre par type de SafetyCategory
. L'API bloquera tous les contenus et toutes 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 les paramètres de sécurité. Si aucun SafetySetting
ne figure 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éjudices HARM_CATEGORY_HATE_SPEECH, HARM_CATEGORY_SEXUALLY_EXPLICIT, HARM_CATEGORY_DANGEROUS_CONTENT et HARM_CATEGORY_HARASSMENT sont prises en charge.
systemInstruction
object (Content
)
Facultatif. Instruction concernant le système défini par le développeur. Actuellement, il s'agit uniquement de texte.
generationConfig
object (GenerationConfig
)
Facultatif. Options de configuration pour la génération et les sorties de modèles
cachedContent
string
Facultatif. Nom du contenu mis en cache utilisé comme contexte pour diffuser la prédiction. Remarque: Utilisé uniquement dans la mise en cache explicite, où les utilisateurs peuvent contrôler la mise en cache (par exemple, quel contenu mettre en cache) et bénéficier d'économies garanties. Format : cachedContents/{cachedContent}
Exemple de requête
Texte
Python
Node.js
Kotlin
Swift
Dart
Java
Image
Python
Node.js
Kotlin
Swift
Dart
Java
Vidéo
Python
Node.js
Kotlin
Java
Chat
Python
Node.js
Coquille Rose
Kotlin
Swift
Dart
Java
Corps de la réponse
Si la requête aboutit, le corps de la réponse contient un flux d'instances GenerateContentResponse
.
GenerateContentResponse
- Représentation JSON
- PromptFeedback
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- BlockReason
- UsageMetadata
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
Réponse du modèle acceptant plusieurs candidats.
Remarque sur la classification en matière de sécurité et le filtrage du contenu. Elles sont rapportées à la fois pour l'invite dans GenerateContentResponse.prompt_feedback
et pour chaque candidat dans finishReason
et dans safetyRatings
. Le contrat d'API indique que: - soit tous les candidats demandés sont renvoyés, soit aucun candidat n'est renvoyé - aucun candidat n'est renvoyé que s'il y a un problème avec l'invite (voir promptFeedback
) - les commentaires sur chaque candidat sont transmis sur finishReason
et safetyRatings
.
Représentation JSON |
---|
{ "candidates": [ { object ( |
candidates[]
object (Candidate
)
Réponses du modèle
promptFeedback
object (PromptFeedback
)
Renvoie les commentaires de la requête concernant les filtres de contenu.
usageMetadata
object (UsageMetadata
)
Uniquement en sortie. Métadonnées sur les requêtes de génération l'utilisation des jetons.
PromptFeedback
Ensemble des métadonnées de commentaires que la requête a spécifiées dans GenerateContentRequest.content
.
Représentation JSON |
---|
{ "blockReason": enum ( |
blockReason
enum (BlockReason
)
Facultatif. Si cette option est définie, l'invite a été bloquée et aucun candidat n'est renvoyé. Reformulez votre requête.
safetyRatings[]
object (SafetyRating
)
Évaluations pour la sécurité de l'invite. Il y a au maximum une note par catégorie.
BlockReason
Indique la raison pour laquelle la requête a été bloquée.
Enums | |
---|---|
BLOCK_REASON_UNSPECIFIED |
Valeur par défaut. Cette valeur n'est pas utilisée. |
SAFETY |
La requête a été bloquée pour des raisons de sécurité. Vous pouvez examiner safetyRatings pour identifier la catégorie de sécurité qui l'a bloqué. |
OTHER |
La requête a été bloquée pour des raisons inconnues. |
UsageMetadata
Métadonnées sur l'utilisation des jetons de la requête de génération.
Représentation JSON |
---|
{ "promptTokenCount": integer, "cachedContentTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer } |
promptTokenCount
integer
Nombre de jetons dans la requête. Lorsque la valeur "cacheContent" est définie, il s'agit toujours de la taille totale effective de la requête. Par exemple, cela inclut le nombre de jetons dans le contenu mis en cache.
cachedContentTokenCount
integer
Nombre de jetons dans la partie mise en cache de la requête, c'est-à-dire dans le contenu mis en cache.
candidatesTokenCount
integer
Nombre total de jetons parmi les candidats générés.
totalTokenCount
integer
Nombre total de jetons pour la demande de génération (requête + candidats).
Candidat
- Représentation JSON
- FinishReason
- GroundingAttribution
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- AttributionSourceId
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- GroundingPassageId
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- SemanticRetrieverChunk
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
Réponse candidate générée à partir du modèle
Représentation JSON |
---|
{ "content": { object ( |
content
object (Content
)
Uniquement en sortie. Contenu généré renvoyé par le modèle.
finishReason
enum (FinishReason
)
Facultatif. Uniquement en sortie. Raison pour laquelle le modèle a cessé de générer des jetons.
Si ce champ est vide, le modèle n'a pas cessé de générer les jetons.
safetyRatings[]
object (SafetyRating
)
Liste des évaluations de la sécurité d'une réponse candidate.
Il y a au maximum une note par catégorie.
citationMetadata
object (CitationMetadata
)
Uniquement en sortie. Informations sur les citations pour le candidat généré par le modèle.
Ce champ peut être renseigné avec des informations sur la récitation du texte inclus dans le content
. Il s'agit de passages "récités" à partir de contenus protégés par des droits d'auteur dans les données d'entraînement du LLM de base.
tokenCount
integer
Uniquement en sortie. Nombre de jetons pour ce candidat.
groundingAttributions[]
object (GroundingAttribution
)
Uniquement en sortie. Informations sur l'attribution pour les sources qui ont contribué à une réponse fondée sur le terrain.
Ce champ est renseigné pour les appels GenerateAnswer
.
index
integer
Uniquement en sortie. Index du candidat dans la liste des candidats
FinishReason
Définit la raison pour laquelle le modèle a arrêté de générer des jetons.
Enums | |
---|---|
FINISH_REASON_UNSPECIFIED |
Valeur par défaut. Cette valeur n'est pas utilisée. |
STOP |
Point d'arrêt naturel du modèle ou séquence d'arrêt fournie. |
MAX_TOKENS |
Le nombre maximal de jetons spécifié dans la demande a été atteint. |
SAFETY |
Le contenu proposé a été signalé pour des raisons de sécurité. |
RECITATION |
Le contenu du candidat a été signalé pour des raisons de récitation. |
LANGUAGE |
Le contenu du candidat a été signalé comme utilisant une langue non acceptée. |
OTHER |
Raison inconnue. |
GroundingAttribution
Attribution à une source ayant contribué à une réponse.
Représentation JSON |
---|
{ "sourceId": { object ( |
sourceId
object (AttributionSourceId
)
Uniquement en sortie. Identifiant de la source contribuant à cette attribution.
content
object (Content
)
Contenu de la source ancrée qui constitue cette attribution.
AttributionSourceId
Identifiant de la source contribuant à cette attribution.
Représentation JSON |
---|
{ // Union field |
Champ d'union source
.
source
ne peut être qu'un des éléments suivants :
groundingPassage
object (GroundingPassageId
)
Identifiant d'un passage intégré.
semanticRetrieverChunk
object (SemanticRetrieverChunk
)
Identifiant d'un Chunk
récupéré via le récupérateur sémantique.
GroundingPassageId
Identifiant d'une partie au sein d'un GroundingPassage
.
Représentation JSON |
---|
{ "passageId": string, "partIndex": integer } |
passageId
string
Uniquement en sortie. ID du passage correspondant au GroundingPassage.id
de GenerateAnswerRequest
.
partIndex
integer
Uniquement en sortie. Index de la partie comprise dans le GroundingPassage.content
de GenerateAnswerRequest
.
SemanticRetrieverChunk
Identifiant d'un Chunk
récupéré via le récupérateur sémantique spécifié dans le GenerateAnswerRequest
à l'aide de SemanticRetrieverConfig
.
Représentation JSON |
---|
{ "source": string, "chunk": string } |
source
string
Uniquement en sortie. Nom de la source correspondant au SemanticRetrieverConfig.source
de la requête. Exemple: corpora/123
ou corpora/123/documents/abc
chunk
string
Uniquement en sortie. Nom de l'élément Chunk
contenant le texte attribué. Exemple : corpora/123/documents/abc/chunks/xyz
CitationMetadata
- Représentation JSON
- CitationSource
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
Ensemble d'attributions de sources pour un contenu.
Représentation JSON |
---|
{
"citationSources": [
{
object ( |
citationSources[]
object (CitationSource
)
Citations de sources pour une réponse spécifique.
CitationSource
Citation à une source pour une partie d'une réponse spécifique.
Représentation JSON |
---|
{ "startIndex": integer, "endIndex": integer, "uri": string, "license": string } |
startIndex
integer
Facultatif. Début du segment de la réponse attribué à cette source.
L'index indique le début du segment, mesuré en octets.
endIndex
integer
Facultatif. Fin du segment attribué (exclus).
uri
string
Facultatif. URI attribué en tant que source pour une partie du texte.
license
string
Facultatif. Licence pour le projet GitHub attribué en tant que source au segment.
Les informations de licence sont requises pour les citations de code.
GenerationConfig
Options de configuration pour la génération et les sorties de modèles Il est possible que certains paramètres ne soient pas configurables pour chaque modèle.
Représentation JSON |
---|
{
"stopSequences": [
string
],
"responseMimeType": string,
"responseSchema": {
object ( |
stopSequences[]
string
Facultatif. Ensemble de séquences de caractères (jusqu'à 5) qui arrêtent la génération de résultats. Si elle est spécifiée, l'API s'arrête à la première apparition d'une séquence d'arrêt. La séquence d'arrêt ne sera pas incluse dans la réponse.
responseMimeType
string
Facultatif. Type MIME de la réponse de sortie du texte candidat généré. Type MIME compatible: text/plain
(par défaut) : sortie texte. application/json
: réponse JSON dans les candidats.
responseSchema
object (Schema
)
Facultatif. Schéma de réponse de sortie du texte candidat généré lorsque le type MIME de la réponse peut avoir un schéma. Un schéma peut être des objets, des primitives ou des tableaux. Il s'agit d'un sous-ensemble du schéma OpenAPI.
Si cette valeur est définie, un responseMimeType compatible doit également être défini. Types MIME compatibles: application/json
: schéma de réponse JSON.
candidateCount
integer
Facultatif. Nombre de réponses générées à renvoyer.
Actuellement, cette valeur ne peut être définie que sur 1. Si cette règle n'est pas configurée, la valeur par défaut est 1.
maxOutputTokens
integer
Facultatif. Nombre maximal de jetons à inclure dans un candidat.
Remarque: La valeur par défaut varie selon le modèle. Reportez-vous à l'attribut Model.output_token_limit
de Model
renvoyé par la fonction getModel
.
temperature
number
Facultatif. Contrôle le caractère aléatoire de la sortie.
Remarque: La valeur par défaut varie selon le modèle. Reportez-vous à l'attribut Model.temperature
de Model
renvoyé par la fonction getModel
.
Les valeurs peuvent être comprises entre [0,0 et 2,0].
topP
number
Facultatif. Probabilité cumulée maximale de jetons à prendre en compte lors de l'échantillonnage.
Le modèle utilise un échantillonnage de top-k et de noyau.
Les jetons sont triés en fonction des probabilités qui leur sont attribuées, de sorte que seuls les jetons les plus probables soient pris en compte. L'échantillonnage top-k limite directement le nombre maximal de jetons à prendre en compte, tandis que l'échantillonnage Nucleus limite le nombre de jetons en fonction de la probabilité cumulée.
Remarque: La valeur par défaut varie selon le modèle. Reportez-vous à l'attribut Model.top_p
de Model
renvoyé par la fonction getModel
.
topK
integer
Facultatif. Nombre maximal de jetons à prendre en compte lors de l'échantillonnage.
Les modèles utilisent l'échantillonnage du noyau ou l'échantillonnage top-k et celui du noyau. L'échantillonnage top-k tient compte de l'ensemble de jetons les plus probables (topK
). Les modèles exécutés avec l'échantillonnage du noyau n'autorisent pas le paramètre topK.
Remarque: La valeur par défaut varie selon le modèle. Reportez-vous à l'attribut Model.top_k
de Model
renvoyé par la fonction getModel
. Un champ topK
vide dans Model
indique que le modèle n'applique pas l'échantillonnage top-k et n'autorise pas la définition de topK
sur les requêtes.
HarmCategory
Catégorie d'une note.
Ces catégories couvrent différents types de préjudices que les développeurs peuvent souhaiter ajuster.
Enums | |
---|---|
HARM_CATEGORY_UNSPECIFIED |
La catégorie n'est pas spécifiée. |
HARM_CATEGORY_DEROGATORY |
Commentaires négatifs ou nuisibles ciblant une identité et/ou un attribut protégé |
HARM_CATEGORY_TOXICITY |
Contenu offensant, irrespectueux ou grossier. |
HARM_CATEGORY_VIOLENCE |
Descriptions de scénarios représentant des actes de violence contre un individu ou un groupe, ou descriptions générales de contenus sanglants. |
HARM_CATEGORY_SEXUAL |
Contient des références à des actes sexuels ou à d'autres contenus obscènes. |
HARM_CATEGORY_MEDICAL |
Fait la promotion de conseils médicaux non contrôlés. |
HARM_CATEGORY_DANGEROUS |
Contenus dangereux promouvant, facilitant ou encourageant des actes dangereux |
HARM_CATEGORY_HARASSMENT |
Contenus relevant du harcèlement. |
HARM_CATEGORY_HATE_SPEECH |
Incitation à la haine et contenu |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
Contenu à caractère sexuel explicite |
HARM_CATEGORY_DANGEROUS_CONTENT |
Contenu dangereux. |
SafetyRating
Évaluation de la sécurité d'un contenu.
La classification de sécurité indique la catégorie de préjudice ainsi que le niveau de probabilité de préjudice pour un contenu donné. La sécurité d'un contenu est classée pour différentes catégories de préjudices. La probabilité de classification est indiquée ici.
Représentation JSON |
---|
{ "category": enum ( |
category
enum (HarmCategory
)
Obligatoire. Catégorie de cette note.
probability
enum (HarmProbability
)
Obligatoire. Probabilité de préjudice pour ce contenu.
blocked
boolean
Ce contenu a-t-il été bloqué en raison de cet avis ?
HarmProbability
Probabilité qu'un contenu soit nuisible.
Le système de classification indique la probabilité que le contenu soit dangereux. Cela n'indique pas la gravité du préjudice subi pour un contenu.
Enums | |
---|---|
HARM_PROBABILITY_UNSPECIFIED |
La probabilité n'est pas spécifiée. |
NEGLIGIBLE |
Un contenu présente un risque négligeable d'être dangereux. |
LOW |
Le contenu présente peu de risques d'être dangereux. |
MEDIUM |
Le contenu présente un risque moyen d'être dangereux. |
HIGH |
Le contenu a de grandes chances d'être dangereux. |
SafetySetting
Paramètre de sécurité affectant le comportement du blocage de sécurité.
La transmission d'un paramètre de sécurité pour une catégorie modifie la probabilité autorisée que le contenu soit bloqué.
Représentation JSON |
---|
{ "category": enum ( |
category
enum (HarmCategory
)
Obligatoire. Catégorie de ce paramètre.
threshold
enum (HarmBlockThreshold
)
Obligatoire. Contrôle le seuil de probabilité selon lequel un préjudice est bloqué.
HarmBlockThreshold
Bloquer à une probabilité de préjudice spécifiée ou au-delà.
Enums | |
---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
Le seuil n'est pas spécifié. |
BLOCK_LOW_AND_ABOVE |
Les contenus avec NEGLIGIBLE seront autorisés. |
BLOCK_MEDIUM_AND_ABOVE |
Les contenus avec NEGLIGIBLE et LOW sont autorisés. |
BLOCK_ONLY_HIGH |
Les contenus avec les mentions NEGLIGIBLE, LOW et MEDIUM seront autorisés. |
BLOCK_NONE |
Tous les contenus seront autorisés. |