Corpora

Méthode : corpora.create

Crée un Corpus vide.

Point de terminaison

post https://generativelanguage.googleapis.com/v1beta/corpora

Corps de la requête

Le corps de la requête contient une instance de Corpus.

Champs
name string

Immuable. Identifiant. Nom de la ressource Corpus. L'ID (nom sans le préfixe "corpora/") peut contenir jusqu'à 40 caractères alphanumériques en minuscules ou des tirets (-). Il ne peut pas commencer ni se terminer par un tiret. Si le nom est vide lors de la création, un nom unique sera dérivé de displayName avec un suffixe aléatoire de 12 caractères. Exemple : corpora/my-awesome-corpora-123a456b789c

displayName string

Facultatif. Nom à afficher lisible pour Corpus. Le nom à afficher ne doit pas comporter plus de 512 caractères, espaces compris. Exemple : "Docs sur Semantic Retriever"

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une nouvelle instance de Corpus.

Méthode : corpora.query

Effectue une recherche sémantique sur un Corpus.

Point de terminaison

post https://generativelanguage.googleapis.com/v1beta/{name=corpora/*}:query

Paramètres de chemin d'accès

name string

Obligatoire. Nom du Corpus à interroger. Exemple : corpora/my-corpus-123 se présente sous la forme corpora/{corpora}.

Corps de la requête

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

Champs
query string

Obligatoire. Chaîne de requête pour effectuer une recherche sémantique.

metadataFilters[] object (MetadataFilter)

Facultatif. Filtrez les métadonnées Chunk et Document. Chaque objet MetadataFilter doit correspondre à une clé unique. Plusieurs objets MetadataFilter sont associés par des "ET" logiques.

Exemple de requête au niveau du document : (year >= 2020 OR year < 2010) AND (genre = drama OR genre = action)

Liste d'objets MetadataFilter : metadataFilters = [ {key = "document.custom_metadata.year" conditions = [{int_value = 2020, operation = GREATER_EQUAL}, {int_value = 2010, operation = LESS}]}, {key = "document.custom_metadata.year" conditions = [{int_value = 2020, operation = GREATER_EQUAL}, {int_value = 2010, operation = LESS}]}, {key = "document.custom_metadata.genre" conditions = [{stringValue = "drama", operation = EQUAL}, {stringValue = "action", operation = EQUAL}]}]

Exemple de requête au niveau du bloc pour une plage de valeurs numériques : (year > 2015 AND year <= 2020)

Liste d'objets MetadataFilter : metadataFilters = [ {key = "chunk.custom_metadata.year" conditions = [{int_value = 2015, operation = GREATER}]}, {key = "chunk.custom_metadata.year" conditions = [{int_value = 2020, operation = LESS_EQUAL}]}]

Remarque : Les "AND" pour la même clé ne sont acceptés que pour les valeurs numériques. Les valeurs de chaîne n'acceptent que les "OR" pour la même clé.

resultsCount integer

Facultatif. Nombre maximal de Chunk à renvoyer. Le service peut renvoyer moins de Chunk.

Si aucune valeur n'est spécifiée, 10 Chunk au maximum sont renvoyés. Le nombre maximal de résultats spécifié est de 100.

Corps de la réponse

Réponse de corpora.query contenant une liste de blocs pertinents.

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

Champs
relevantChunks[] object (RelevantChunk)

les blocs pertinents.

Représentation JSON
{
  "relevantChunks": [
    {
      object (RelevantChunk)
    }
  ]
}

Méthode : corpora.list

Liste tous les Corpora appartenant à l'utilisateur.

Point de terminaison

get https://generativelanguage.googleapis.com/v1beta/corpora

Paramètres de requête

pageSize integer

Facultatif. Nombre maximal de Corpora à renvoyer (par page). Le service peut renvoyer un nombre inférieur de Corpora.

Si aucune valeur n'est spécifiée, 10 Corpora au maximum sont renvoyés. La limite de taille maximale est de 20 Corpora par page.

pageToken string

Facultatif. Jeton de page reçu d'un appel corpora.list précédent.

Fournissez le nextPageToken renvoyé dans la réponse en tant qu'argument de la requête suivante pour récupérer la page suivante.

Lors de la pagination, tous les autres paramètres fournis à corpora.list doivent correspondre à l'appel ayant fourni le jeton de page.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Réponse de corpora.list contenant une liste paginée de Corpora. Les résultats sont triés par ordre croissant de corpus.create_time.

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

Champs
corpora[] object (Corpus)

Corpus renvoyés.

nextPageToken string

Jeton pouvant être envoyé en tant que pageToken pour récupérer la page suivante. Si ce champ est omis, il n'y a pas d'autres pages.

Représentation JSON
{
  "corpora": [
    {
      object (Corpus)
    }
  ],
  "nextPageToken": string
}

Méthode : corpora.get

Obtient des informations sur un Corpus spécifique.

Point de terminaison

get https://generativelanguage.googleapis.com/v1beta/{name=corpora/*}

Paramètres de chemin d'accès

name string

Obligatoire. Nom du Corpus. Exemple : corpora/my-corpus-123 se présente sous la forme corpora/{corpora}.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Corpus.

Méthode : corpora.patch

Met à jour un Corpus.

Point de terminaison

patch https://generativelanguage.googleapis.com/v1beta/{corpus.name=corpora/*}

PATCH https://generativelanguage.googleapis.com/v1beta/{corpus.name=corpora/*}

Paramètres de chemin d'accès

corpus.name string

Immuable. Identifiant. Nom de la ressource Corpus. L'ID (nom sans le préfixe "corpora/") peut contenir jusqu'à 40 caractères alphanumériques en minuscules ou des tirets (-). Il ne peut pas commencer ni se terminer par un tiret. Si le nom est vide lors de la création, un nom unique sera dérivé de displayName avec un suffixe aléatoire de 12 caractères. Exemple : corpora/my-awesome-corpora-123a456b789c se présente sous la forme corpora/{corpora}.

Paramètres de requête

updateMask string (FieldMask format)

Obligatoire. Liste des champs à mettre à jour. Pour le moment, seule la mise à jour de displayName est possible.

Il s'agit d'une liste de noms de champs complets séparés par une virgule. Exemple : "user.displayName,photo"

Corps de la requête

Le corps de la requête contient une instance de Corpus.

Champs
displayName string

Facultatif. Nom à afficher lisible pour Corpus. Le nom à afficher ne doit pas comporter plus de 512 caractères, espaces compris. Exemple : "Docs sur Semantic Retriever"

Corps de la réponse

Si la requête aboutit, le corps de la réponse contient une instance de Corpus.

Méthode : corpora.delete

Supprime un Corpus.

Point de terminaison

delete https://generativelanguage.googleapis.com/v1beta/{name=corpora/*}

Paramètres de chemin d'accès

name string

Obligatoire. Nom de ressource du Corpus. Exemple : corpora/my-corpus-123 se présente sous la forme corpora/{corpora}.

Paramètres de requête

force boolean

Facultatif. Si la valeur est définie sur "true", tous les Document et objets associés à ce Corpus seront également supprimés.

Si la valeur est "false" (valeur par défaut), une erreur FAILED_PRECONDITION est renvoyée si Corpus contient des Document.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Si la requête aboutit, le corps de la réponse est un objet JSON vide.

Ressource REST : corpora.permissions

Ressource : Permission

La ressource d'autorisation accorde à un utilisateur, à un groupe ou au reste du monde l'accès à la ressource de l'API PaLM (par exemple, un modèle ajusté ou un corpus).

Un rôle est un ensemble d'opérations autorisées qui permet aux utilisateurs d'effectuer des actions spécifiques sur les ressources de l'API PaLM. Pour les rendre disponibles aux utilisateurs, aux groupes ou aux comptes de service, vous devez leur attribuer des rôles. Lorsque vous attribuez un rôle, vous accordez les autorisations qu'il contient.

Il existe trois rôles concentriques. Chaque rôle est un sur-ensemble des opérations autorisées du rôle précédent :

  • le lecteur peut utiliser la ressource (par exemple, le modèle ajusté ou le corpus) pour l'inférence.
  • Le rédacteur dispose des autorisations du lecteur, et peut également modifier et partager le document.
  • Le propriétaire dispose des autorisations de rédacteur et peut également supprimer le fichier.
Champs
name string

Uniquement en sortie. Identifiant. Nom de l'autorisation. Un nom unique sera généré lors de la création. Exemples : tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} Uniquement en sortie.

granteeType enum (GranteeType)

Facultatif. Immuable. Type du bénéficiaire.

emailAddress string

Facultatif. Immuable. Adresse e-mail de l'utilisateur ou du groupe auquel cette autorisation fait référence. Le champ n'est pas défini lorsque le type de bénéficiaire de l'autorisation est "EVERYONE" (TOUT LE MONDE).

role enum (Role)

Obligatoire. Rôle accordé par cette autorisation.

Représentation JSON
{
  "name": string,
  "granteeType": enum (GranteeType),
  "emailAddress": string,
  "role": enum (Role)
}

GranteeType

Définit les types de bénéficiaires de cette autorisation.

Enums
GRANTEE_TYPE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
USER Représente un utilisateur. Si cette option est définie, vous devez fournir l'adresse e-mail de l'utilisateur.
GROUP Représente un groupe. Si cette valeur est définie, vous devez fournir une adresse e-mail pour le groupe.
EVERYONE Représente l'accès à tous. Aucune information supplémentaire n'est requise.

Rôle

Définit le rôle accordé par cette autorisation.

Enums
ROLE_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
OWNER Le propriétaire peut utiliser, modifier, partager et supprimer la ressource.
WRITER Le rédacteur peut utiliser, modifier et partager la ressource.
READER Le lecteur peut utiliser la ressource.

MetadataFilter

Filtre fourni par l'utilisateur pour limiter la récupération en fonction des valeurs de métadonnées au niveau Chunk ou Document. Exemple (genre = drama OR genre = action) : key = "document.custom_metadata.genre" conditions = [{stringValue = "drama", operation = EQUAL}, {stringValue = "action", operation = EQUAL}]

Champs
key string

Obligatoire. Clé des métadonnées sur lesquelles filtrer.

conditions[] object (Condition)

Obligatoire. Les Condition pour la clé donnée qui déclencheront ce filtre. Plusieurs Condition sont associés par des opérateurs logiques OR.

Représentation JSON
{
  "key": string,
  "conditions": [
    {
      object (Condition)
    }
  ]
}

Condition

Condition de filtre applicable à une seule clé.

Champs
operation enum (Operator)

Obligatoire. Opérateur appliqué à la paire clé-valeur donnée pour déclencher la condition.

value Union type
Le type de valeur doit être cohérent avec celui défini dans le champ pour la clé correspondante. Si les types de valeurs ne sont pas cohérents, le résultat sera un ensemble vide. Lorsque CustomMetadata a un type de valeur StringList, la condition de filtrage doit utiliser string_value associé à une opération INCLUDES/EXCLUDES. Sinon, le résultat sera également un ensemble vide. value ne peut être qu'un des éléments suivants :
stringValue string

Valeur de chaîne sur laquelle filtrer les métadonnées.

numericValue number

Valeur numérique sur laquelle filtrer les métadonnées.

Représentation JSON
{
  "operation": enum (Operator),

  // value
  "stringValue": string,
  "numericValue": number
  // Union type
}

Opérateur

Définit les opérateurs valides pouvant être appliqués à une paire clé/valeur.

Enums
OPERATOR_UNSPECIFIED Valeur par défaut. Cette valeur n'est pas utilisée.
LESS Compatible avec les valeurs numériques.
LESS_EQUAL Compatible avec les valeurs numériques.
EQUAL Compatible avec les types numériques et chaîne.
GREATER_EQUAL Compatible avec les valeurs numériques.
GREATER Compatible avec les valeurs numériques.
NOT_EQUAL Compatible avec les types numériques et chaîne.
INCLUDES Pris en charge par la chaîne uniquement lorsque le type de valeur CustomMetadata pour la clé donnée est stringListValue.
EXCLUDES Pris en charge par la chaîne uniquement lorsque le type de valeur CustomMetadata pour la clé donnée est stringListValue.

RelevantChunk

Informations d'un bloc pertinentes pour une requête.

Champs
chunkRelevanceScore number

Chunk pertinence par rapport à la requête.

chunk object (Chunk)

Chunk associé à la requête.

document object (Document)

Document associé au bloc.

Représentation JSON
{
  "chunkRelevanceScore": number,
  "chunk": {
    object (Chunk)
  },
  "document": {
    object (Document)
  }
}

Ressource REST : corpora

Ressource : Corpus

Un Corpus est une collection de Document. Un projet peut créer jusqu'à cinq corpus.

Champs
name string

Immuable. Identifiant. Nom de la ressource Corpus. L'ID (nom sans le préfixe "corpora/") peut contenir jusqu'à 40 caractères alphanumériques en minuscules ou des tirets (-). Il ne peut pas commencer ni se terminer par un tiret. Si le nom est vide lors de la création, un nom unique sera dérivé de displayName avec un suffixe aléatoire de 12 caractères. Exemple : corpora/my-awesome-corpora-123a456b789c

displayName string

Facultatif. Nom à afficher lisible pour Corpus. Le nom à afficher ne doit pas comporter plus de 512 caractères, espaces compris. Exemple : "Docs sur Semantic Retriever"

createTime string (Timestamp format)

Uniquement en sortie. Code temporel de création de Corpus.

Utilise la norme RFC 3339, où la sortie générée utilise le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime string (Timestamp format)

Uniquement en sortie. Code temporel de la dernière mise à jour de Corpus.

Utilise la norme RFC 3339, où la sortie générée utilise le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Représentation JSON
{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string
}