Corpora

Methode: corpora.create

Erstellt eine leere Corpus.

Endpunkt

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält eine Instanz von Corpus.

Felder
name string

Nicht veränderbar. Kennung. Der Name der Corpus-Ressource. Die ID (Name ohne Präfix „corpora/“) kann bis zu 40 Zeichen enthalten, die alphanumerisch in Kleinschreibung oder Bindestriche (-) sind. Die ID darf nicht mit einem Bindestrich beginnen oder enden. Wenn der Name bei der Erstellung leer ist, wird ein eindeutiger Name aus displayName und einem zufälligen Suffix mit 12 Zeichen abgeleitet. Beispiel: corpora/my-awesome-corpora-123a456b789c

displayName string

Optional. Der für Menschen lesbare Anzeigename der Corpus. Der Anzeigename darf maximal 512 Zeichen lang sein, einschließlich Leerzeichen. Beispiel: „Docs on Semantic Retriever“

Antworttext

Bei Erfolg enthält der Antworttext eine neu erstellte Instanz von Corpus.

Methode: corpora.query

Führt eine semantische Suche in einem Corpus durch.

Endpunkt

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

name string

Erforderlich. Der Name der abzufragenden Corpus. Beispiel: corpora/my-corpus-123 hat das Format corpora/{corpora}.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

Felder
query string

Erforderlich. Suchstring für die semantische Suche.

metadataFilters[] object (MetadataFilter)

Optional. Filtern Sie nach Chunk- und Document-Metadaten. Jedem MetadataFilter-Objekt sollte ein eindeutiger Schlüssel entsprechen. Mehrere MetadataFilter-Objekte werden durch logische UND-Verknüpfungen zusammengeführt.

Beispielabfrage auf Dokumentebene: (year >= 2020 OR year < 2010) AND (genre = drama OR genre = action)

MetadataFilter Objektliste: 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}]}]

Beispielabfrage auf Blockebene für einen numerischen Wertebereich: (year > 2015 AND year <= 2020)

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

Hinweis: „AND“-Bedingungen für denselben Schlüssel werden nur für numerische Werte unterstützt. Bei Stringwerten wird nur „ODER“ für denselben Schlüssel unterstützt.

resultsCount integer

Optional. Die maximale Anzahl der zurückzugebenden Chunk. Der Dienst gibt möglicherweise weniger Chunks zurück.

Wenn nicht angegeben, werden maximal 10 Chunk zurückgegeben. Die maximale Anzahl der angegebenen Ergebnisse ist 100.

Antworttext

Antwort von corpora.query mit einer Liste relevanter Chunks

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

Felder
relevantChunks[] object (RelevantChunk)

Die relevanten Code-Chunks.

JSON-Darstellung
{
  "relevantChunks": [
    {
      object (RelevantChunk)
    }
  ]
}

Methode: corpora.list

Listet alle Corpora auf, deren Inhaber der Nutzer ist.

Endpunkt

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Abfrageparameter

pageSize integer

Optional. Die maximale Anzahl von Corpora, die zurückgegeben werden sollen (pro Seite). Der Dienst gibt möglicherweise weniger Corpora zurück.

Wenn nicht angegeben, werden maximal 10 Corpora zurückgegeben. Die maximale Größe beträgt 20 Corpora pro Seite.

pageToken string

Optional. Ein Seitentoken, das von einem vorherigen corpora.list-Aufruf empfangen wurde.

Gib den in der Antwort zurückgegebenen Wert nextPageToken als Argument für die nächste Anfrage an, um die nächste Seite abzurufen.

Beim Paginieren müssen alle anderen für corpora.list bereitgestellten Parameter mit dem Aufruf übereinstimmen, der das Seitentoken bereitgestellt hat.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Antwort von corpora.list mit einer paginaten Liste von Corpora. Die Ergebnisse werden nach aufsteigendem corpus.create_time sortiert.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

Felder
corpora[] object (Corpus)

Die zurückgegebenen Korpora.

nextPageToken string

Ein Token, das als pageToken gesendet werden kann, um die nächste Seite abzurufen. Wenn dieses Feld weggelassen wird, gibt es keine weiteren Seiten.

JSON-Darstellung
{
  "corpora": [
    {
      object (Corpus)
    }
  ],
  "nextPageToken": string
}

Methode: corpora.get

Ruft Informationen zu einer bestimmten Corpus ab.

Endpunkt

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

name string

Erforderlich. Der Name der Corpus. Beispiel: corpora/my-corpus-123 hat das Format corpora/{corpora}.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Corpus.

Methode: corpora.patch

Aktualisiert einen Corpus.

Endpunkt

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

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

corpus.name string

Nicht veränderbar. Kennung. Der Name der Corpus-Ressource. Die ID (Name ohne Präfix „corpora/“) kann bis zu 40 Zeichen enthalten, die alphanumerisch in Kleinschreibung oder Bindestriche (-) sind. Die ID darf nicht mit einem Bindestrich beginnen oder enden. Wenn der Name bei der Erstellung leer ist, wird ein eindeutiger Name aus displayName und einem zufälligen Suffix mit 12 Zeichen abgeleitet. Beispiel: corpora/my-awesome-corpora-123a456b789c hat das Format corpora/{corpora}.

Abfrageparameter

updateMask string (FieldMask format)

Erforderlich. Die Liste der zu aktualisierenden Felder. Derzeit wird nur das Aktualisieren von displayName unterstützt.

Dies ist eine durch Kommas getrennte Liste vollständig qualifizierter Feldnamen. Beispiel: "user.displayName,photo".

Anfragetext

Der Anfragetext enthält eine Instanz von Corpus.

Felder
displayName string

Optional. Der für Menschen lesbare Anzeigename der Corpus. Der Anzeigename darf maximal 512 Zeichen lang sein, einschließlich Leerzeichen. Beispiel: „Docs on Semantic Retriever“

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Corpus.

Methode: corpora.delete

Löscht einen Corpus.

Endpunkt

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

name string

Erforderlich. Der Ressourcenname der Corpus. Beispiel: corpora/my-corpus-123 hat das Format corpora/{corpora}.

Abfrageparameter

force boolean

Optional. Wenn dieser Wert auf „wahr“ gesetzt ist, werden auch alle Documents und Objekte gelöscht, die mit dieser Corpus verknüpft sind.

Wenn „false“ (Standardeinstellung) festgelegt ist, wird ein FAILED_PRECONDITION-Fehler zurückgegeben, wenn Corpus Documents enthält.

Anfragetext

Der Anfragetext muss leer sein.

Antworttext

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

REST-Ressource: corpora.permissions

Ressource: Berechtigung

Die Berechtigungsressource gewährt Nutzern, Gruppen oder allen anderen Zugriff auf die PaLM API-Ressource (z.B. ein abgestimmtes Modell, ein Korpus).

Eine Rolle ist eine Sammlung zulässiger Vorgänge, mit denen Nutzer bestimmte Aktionen für PaLM API-Ressourcen ausführen können. Wenn Sie sie Nutzern, Gruppen oder Dienstkonten zur Verfügung stellen möchten, müssen Sie ihnen Rollen zuweisen. Wenn Sie eine Rolle zuweisen, gewähren Sie die Berechtigungen, die diese Rolle umfasst.

Es gibt drei konzentrische Rollen. Jede Rolle ist eine Übermenge der zulässigen Vorgänge der vorherigen Rolle:

  • Der Leser kann die Ressource (z. B. ein abgestimmtes Modell oder einen Korpus) für die Inferenz verwenden.
  • „Bearbeiter“ hat die Berechtigungen eines Lesers und kann zusätzlich bearbeiten und freigeben
  • Inhaber hat Schreibberechtigungen und kann zusätzlich löschen
Felder
name string

Nur Ausgabe. Kennung. Der Name der Berechtigung. Beim Erstellen wird ein eindeutiger Name generiert. Beispiele: tunedModels/{tunedModel}/permissions/{permission} corpora/{corpus}/permissions/{permission} Nur Ausgabe.

granteeType enum (GranteeType)

Optional. Nicht veränderbar. Der Typ des Begünstigten.

emailAddress string

Optional. Nicht veränderbar. Die E-Mail-Adresse des Nutzers oder der Gruppe, auf die sich diese Berechtigung bezieht. Das Feld wird nicht festgelegt, wenn der Begünstigtentyp der Berechtigung „JEDER“ ist.

role enum (Role)

Erforderlich. Die Rolle, die durch diese Berechtigung gewährt wird.

JSON-Darstellung
{
  "name": string,
  "granteeType": enum (GranteeType),
  "emailAddress": string,
  "role": enum (Role)
}

GranteeType

Definiert die Typen der Begünstigten dieser Berechtigung.

Enums
GRANTEE_TYPE_UNSPECIFIED Der Standardwert. Dieser Wert wird nicht verwendet.
USER Stellt einen Nutzer dar. Wenn diese Option festgelegt ist, müssen Sie die E-Mail-Adresse des Nutzers angeben.
GROUP Stellt eine Gruppe dar. Wenn Sie diese Option festlegen, müssen Sie die E-Mail-Adresse der Gruppe angeben.
EVERYONE Stellt den Zugriff für alle dar. Es sind keine zusätzlichen Informationen erforderlich.

Rolle

Definiert die Rolle, die durch diese Berechtigung gewährt wird.

Enums
ROLE_UNSPECIFIED Der Standardwert. Dieser Wert wird nicht verwendet.
OWNER Der Inhaber kann die Ressource verwenden, aktualisieren, freigeben und löschen.
WRITER Der Autor kann die Ressource verwenden, aktualisieren und freigeben.
READER Leser können die Ressource verwenden.

MetadataFilter

Vom Nutzer bereitgestellter Filter, um den Abruf anhand von Metadatenwerten auf Chunk- oder Document-Ebene einzuschränken. Beispiel (genre = drama ODER genre = action): key = "document.custom_metadata.genre" conditions = [{stringValue = "drama", operation = EQUAL}, {stringValue = "action", operation = EQUAL}]

Felder
key string

Erforderlich. Der Schlüssel der Metadaten, nach denen gefiltert werden soll.

conditions[] object (Condition)

Erforderlich. Die Conditions für den angegebenen Schlüssel, die diesen Filter auslösen. Mehrere Conditions werden durch logische ORs verknüpft.

JSON-Darstellung
{
  "key": string,
  "conditions": [
    {
      object (Condition)
    }
  ]
}

Bedingung

Filterbedingung, die auf einen einzelnen Schlüssel angewendet wird.

Felder
operation enum (Operator)

Erforderlich. Operator, der auf das angegebene Schlüssel/Wert-Paar angewendet wird, um die Bedingung auszulösen.

value Union type
Der Werttyp muss mit dem Werttyp übereinstimmen, der im Feld für den entsprechenden Schlüssel definiert ist. Wenn die Werttypen nicht übereinstimmen, ist das Ergebnis leer. Wenn CustomMetadata den Werttyp StringList hat, sollte in der Filterbedingung string_value mit einem INCLUDES-/EXCLUDES-Vorgang kombiniert werden. Andernfalls ist das Ergebnis ebenfalls eine leere Menge. Für value ist nur einer der folgenden Werte zulässig:
stringValue string

Der Stringwert, nach dem die Metadaten gefiltert werden sollen.

numericValue number

Der numerische Wert, nach dem die Metadaten gefiltert werden sollen.

JSON-Darstellung
{
  "operation": enum (Operator),

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

Operator

Definiert die gültigen Operatoren, die auf ein Schlüssel/Wert-Paar angewendet werden können.

Enums
OPERATOR_UNSPECIFIED Der Standardwert. Dieser Wert wird nicht verwendet.
LESS Unterstützt von „numeric“.
LESS_EQUAL Unterstützt von „numeric“.
EQUAL Unterstützt von numerischen und String-Werten.
GREATER_EQUAL Unterstützt von „numeric“.
GREATER Unterstützt von „numeric“.
NOT_EQUAL Unterstützt von numerischen und String-Werten.
INCLUDES Wird nur als String unterstützt, wenn der CustomMetadata-Werttyp für den angegebenen Schlüssel einen stringListValue hat.
EXCLUDES Wird nur als String unterstützt, wenn der CustomMetadata-Werttyp für den angegebenen Schlüssel einen stringListValue hat.

RelevantChunk

Die für eine Abfrage relevanten Informationen zu einem Block.

Felder
chunkRelevanceScore number

Chunk Relevanz für die Suchanfrage.

chunk object (Chunk)

Chunk, die der Abfrage zugeordnet ist.

JSON-Darstellung
{
  "chunkRelevanceScore": number,
  "chunk": {
    object (Chunk)
  }
}

REST-Ressource: corpora

Ressource: Korpus

Eine Corpus ist eine Sammlung von Documents. Für ein Projekt können bis zu fünf Corpora erstellt werden.

Felder
name string

Nicht veränderbar. Kennung. Der Name der Corpus-Ressource. Die ID (Name ohne Präfix „corpora/“) kann bis zu 40 Zeichen enthalten, die alphanumerisch in Kleinschreibung oder Bindestriche (-) sind. Die ID darf nicht mit einem Bindestrich beginnen oder enden. Wenn der Name bei der Erstellung leer ist, wird ein eindeutiger Name aus displayName und einem zufälligen Suffix mit 12 Zeichen abgeleitet. Beispiel: corpora/my-awesome-corpora-123a456b789c

displayName string

Optional. Der für Menschen lesbare Anzeigename für Corpus. Der Anzeigename darf maximal 512 Zeichen lang sein, einschließlich Leerzeichen. Beispiel: „Docs on Semantic Retriever“

createTime string (Timestamp format)

Nur Ausgabe. Der Zeitstempel für die Erstellung der Corpus.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime string (Timestamp format)

Nur Ausgabe. Der Zeitstempel, der angibt, wann die Corpus zuletzt aktualisiert wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

JSON-Darstellung
{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string
}