File Search Stores

Interfejs File Search API udostępnia hostowaną usługę odpowiadania na pytania, która umożliwia tworzenie systemów RAG (Retrieval Augmented Generation) przy użyciu infrastruktury Google.

Metoda: media.uploadToFileSearchStore

Przesyła dane do FileSearchStore, przetwarza je wstępnie i dzieli na części przed zapisaniem w dokumencie FileSearchStore.

Punkt końcowy

  • Identyfikator URI przesyłania w przypadku żądań przesyłania multimediów:
post https://generativelanguage.googleapis.com/upload/v1beta/{fileSearchStoreName=fileSearchStores/*}:uploadToFileSearchStore
  • Identyfikator URI metadanych w przypadku żądań dotyczących tylko metadanych:
post https://generativelanguage.googleapis.com/v1beta/{fileSearchStoreName=fileSearchStores/*}:uploadToFileSearchStore

Parametry ścieżki

fileSearchStoreName string

Wymagane. Niezmienne. Nazwa FileSearchStore, do której chcesz przesłać plik. Przykład: fileSearchStores/my-file-search-store-123 Ma on postać fileSearchStores/{filesearchstore}.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Pola
displayName string

Opcjonalnie: Wyświetlana nazwa utworzonego dokumentu.

customMetadata[] object (CustomMetadata)

Niestandardowe metadane, które mają być powiązane z danymi.

chunkingConfig object (ChunkingConfig)

Opcjonalnie: Konfiguracja określająca, jak usługa ma dzielić dane na części. Jeśli nie zostaną podane, usługa użyje parametrów domyślnych.

mimeType string

Opcjonalnie: Typ MIME danych. Jeśli nie podasz tej wartości, zostanie ona wywnioskowana na podstawie przesłanych treści.

Treść odpowiedzi

Jest to kopia google.longrunning.Operation. Musimy go skopiować, ponieważ do interakcji z usługą Scotty musimy dodać pole specyficzne dla tej usługi, którego nie można dodać w protokole Operation najwyższego poziomu.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Pola
name string

Nazwa przypisana przez serwer, która jest unikalna tylko w ramach tej samej usługi, która ją pierwotnie zwraca. Jeśli używasz domyślnego mapowania HTTP, name powinna być nazwą zasobu kończącą się na operations/{unique_id}.

metadata object

Metadane specyficzne dla usługi powiązane z operacją. Zwykle zawiera informacje o postępach i typowe metadane, takie jak czas utworzenia. Niektóre usługi mogą nie udostępniać takich metadanych. Każda metoda, która zwraca operację długotrwałą, powinna zawierać dokumentację typu metadanych (jeśli występuje).

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }

done boolean

Jeśli wartość to false, oznacza to, że operacja jest w toku. Jeśli true, operacja została ukończona i dostępne są wartości error lub response.

result Union type
Wynik operacji, który może być wartością error lub prawidłową wartością response. Jeśli done == false, nie ustawiono ani error, ani response. Jeśli done == true, można ustawić tylko jedną z wartości error lub response. Niektóre usługi mogą nie zwracać wyniku. result może mieć tylko jedną z tych wartości:
error object (Status)

Wynik błędu operacji w przypadku niepowodzenia lub anulowania.

response object

Normalna odpowiedź operacji w przypadku powodzenia. Jeśli oryginalna metoda nie zwraca danych w przypadku powodzenia, np. Delete, odpowiedź to google.protobuf.Empty. Jeśli oryginalna metoda to standardowa metoda Get/Create/Update, odpowiedź powinna być zasobem. W przypadku innych metod odpowiedź powinna mieć typ XxxResponse, gdzie Xxx to oryginalna nazwa metody. Jeśli np. oryginalna nazwa metody to TakeSnapshot(), wywnioskowany typ odpowiedzi to TakeSnapshotResponse.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }

Zapis JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // result
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

Metoda: fileSearchStores.create

Tworzy pusty element FileSearchStore.

Punkt końcowy

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

Treść żądania

Treść żądania zawiera wystąpienie elementu FileSearchStore.

Pola
displayName string

Opcjonalnie: Czytelna nazwa wyświetlana dla FileSearchStore. Wyświetlana nazwa nie może mieć więcej niż 512 znaków, w tym spacji. Przykład: „Dokumenty w wyszukiwarce semantycznej”

Treść odpowiedzi

Jeśli operacja się uda, treść odpowiedzi będzie zawierała nowo utworzoną instancję FileSearchStore.

Metoda: fileSearchStores.delete

Usuwa FileSearchStore.

Punkt końcowy

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

Parametry ścieżki

name string

Wymagane. Nazwa zasobu FileSearchStore. Przykład: fileSearchStores/my-file-search-store-123 Ma on postać fileSearchStores/{filesearchstore}.

Parametry zapytania

force boolean

Opcjonalnie: Jeśli ta wartość jest ustawiona na „true”, wszystkie Document i obiekty powiązane z tym FileSearchStore również zostaną usunięte.

Jeśli ma wartość false (domyślną), zwracany jest błąd FAILED_PRECONDITION, jeśli FileSearchStore zawiera jakiekolwiek znaki Document.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

Jeśli operacja się uda, treść odpowiedzi będzie pustym obiektem JSON.

Metoda: fileSearchStores.get

Pobiera informacje o konkretnym FileSearchStore.

Punkt końcowy

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

Parametry ścieżki

name string

Wymagane. Nazwa FileSearchStore. Przykład: fileSearchStores/my-file-search-store-123 Ma on postać fileSearchStores/{filesearchstore}.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu FileSearchStore.

Metoda: fileSearchStores.list

Wyświetla wszystkie FileSearchStores należące do użytkownika.

Punkt końcowy

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

Parametry zapytania

pageSize integer

Opcjonalnie: Maksymalna liczba FileSearchStores do zwrócenia (na stronę). Usługa może zwrócić mniejszą liczbę FileSearchStores.

Jeśli nie podano tego argumentu, zwracanych jest maksymalnie 10 FileSearchStores. Maksymalny limit rozmiaru to 20 FileSearchStores na stronę.

pageToken string

Opcjonalnie: Token strony otrzymany z poprzedniego wywołania fileSearchStores.list.

Podaj token nextPageToken zwrócony w odpowiedzi jako argument następnego żądania, aby pobrać następną stronę.

Podczas paginacji wszystkie inne parametry przekazane do funkcji fileSearchStores.list muszą być zgodne z wywołaniem, które dostarczyło token strony.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

Odpowiedź z usługi fileSearchStores.list zawierająca podzieloną na strony listę FileSearchStores. Wyniki są sortowane w kolejności rosnącej według kolumny fileSearchStore.create_time.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Pola
fileSearchStores[] object (FileSearchStore)

Zwrócone obiekty ragStores.

nextPageToken string

Token, który można wysłać jako pageToken, aby pobrać następną stronę. Jeśli pominiesz to pole, nie będzie kolejnych stron.

Zapis JSON
{
  "fileSearchStores": [
    {
      object (FileSearchStore)
    }
  ],
  "nextPageToken": string
}

Metoda: fileSearchStores.importFile

Importuje File z usługi plików do FileSearchStore.

Punkt końcowy

post https://generativelanguage.googleapis.com/v1beta/{fileSearchStoreName=fileSearchStores/*}:importFile

Parametry ścieżki

fileSearchStoreName string

Wymagane. Niezmienne. Nazwa FileSearchStore, do której chcesz zaimportować plik. Przykład: fileSearchStores/my-file-search-store-123 Ma on postać fileSearchStores/{filesearchstore}.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Pola
fileName string

Wymagane. Nazwa File do zaimportowania. Przykład: files/abc-123

customMetadata[] object (CustomMetadata)

Niestandardowe metadane, które mają być powiązane z plikiem.

chunkingConfig object (ChunkingConfig)

Opcjonalnie: Konfiguracja informująca usługę, jak dzielić plik na części. Jeśli nie zostaną podane, usługa użyje parametrów domyślnych.

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu Operation.

Zasób REST: fileSearchStores.operations

Zasób: Operation

Ten zasób reprezentuje długo trwającą operację, która jest wynikiem wywołania interfejsu API sieci.

Pola
name string

Nazwa przypisana przez serwer, która jest unikalna tylko w ramach tej samej usługi, która ją pierwotnie zwraca. Jeśli używasz domyślnego mapowania HTTP, name powinna być nazwą zasobu kończącą się na operations/{unique_id}.

metadata object

Metadane specyficzne dla usługi powiązane z operacją. Zwykle zawiera informacje o postępach i typowe metadane, takie jak czas utworzenia. Niektóre usługi mogą nie udostępniać takich metadanych. Każda metoda, która zwraca operację długotrwałą, powinna zawierać dokumentację typu metadanych (jeśli występuje).

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }

done boolean

Jeśli wartość to false, oznacza to, że operacja jest w toku. Jeśli true, operacja została ukończona i dostępne są wartości error lub response.

result Union type
Wynik operacji, który może być wartością error lub prawidłową wartością response. Jeśli done == false, nie ustawiono ani error, ani response. Jeśli done == true, można ustawić tylko jedną z wartości error lub response. Niektóre usługi mogą nie zwracać wyniku. result może mieć tylko jedną z tych wartości:
error object (Status)

Wynik błędu operacji w przypadku niepowodzenia lub anulowania.

response object

Normalna odpowiedź operacji w przypadku powodzenia. Jeśli oryginalna metoda nie zwraca danych w przypadku powodzenia, np. Delete, odpowiedź to google.protobuf.Empty. Jeśli oryginalna metoda to standardowa metoda Get/Create/Update, odpowiedź powinna być zasobem. W przypadku innych metod odpowiedź powinna mieć typ XxxResponse, gdzie Xxx to oryginalna nazwa metody. Jeśli np. oryginalna nazwa metody to TakeSnapshot(), wywnioskowany typ odpowiedzi to TakeSnapshotResponse.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }

Zapis JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // result
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

Metoda: fileSearchStores.operations.get

Pobiera najnowszy stan długo trwającej operacji. Klienci mogą używać tej metody do sprawdzania wyniku operacji w interwałach zalecanych przez usługę API.

Punkt końcowy

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

Parametry ścieżki

name string

Nazwa zasobu operacji. Ma on postać fileSearchStores/{filesearchstore}/operations/{operation}.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu Operation.

Zasób REST: fileSearchStores.upload.operations

Zasób: Operation

Ten zasób reprezentuje długo trwającą operację, która jest wynikiem wywołania interfejsu API sieci.

Pola
name string

Nazwa przypisana przez serwer, która jest unikalna tylko w ramach tej samej usługi, która ją pierwotnie zwraca. Jeśli używasz domyślnego mapowania HTTP, name powinna być nazwą zasobu kończącą się na operations/{unique_id}.

metadata object

Metadane specyficzne dla usługi powiązane z operacją. Zwykle zawiera informacje o postępach i typowe metadane, takie jak czas utworzenia. Niektóre usługi mogą nie udostępniać takich metadanych. Każda metoda, która zwraca operację długotrwałą, powinna zawierać dokumentację typu metadanych (jeśli występuje).

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }

done boolean

Jeśli wartość to false, oznacza to, że operacja jest w toku. Jeśli true, operacja została ukończona i dostępne są wartości error lub response.

result Union type
Wynik operacji, który może być wartością error lub prawidłową wartością response. Jeśli done == false, nie ustawiono ani error, ani response. Jeśli done == true, można ustawić tylko jedną z wartości error lub response. Niektóre usługi mogą nie zwracać wyniku. result może mieć tylko jedną z tych wartości:
error object (Status)

Wynik błędu operacji w przypadku niepowodzenia lub anulowania.

response object

Normalna odpowiedź operacji w przypadku powodzenia. Jeśli oryginalna metoda nie zwraca danych w przypadku powodzenia, np. Delete, odpowiedź to google.protobuf.Empty. Jeśli oryginalna metoda to standardowa metoda Get/Create/Update, odpowiedź powinna być zasobem. W przypadku innych metod odpowiedź powinna mieć typ XxxResponse, gdzie Xxx to oryginalna nazwa metody. Jeśli np. oryginalna nazwa metody to TakeSnapshot(), wywnioskowany typ odpowiedzi to TakeSnapshotResponse.

Obiekt zawierający pola dowolnego typu. Dodatkowe pole "@type" zawiera identyfikator URI określający typ. Przykład: { "id": 1234, "@type": "types.example.com/standard/id" }

Zapis JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // result
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // Union type
}

Metoda: fileSearchStores.upload.operations.get

Pobiera najnowszy stan długo trwającej operacji. Klienci mogą używać tej metody do sprawdzania wyniku operacji w interwałach zalecanych przez usługę API.

Punkt końcowy

get https://generativelanguage.googleapis.com/v1beta/{name=fileSearchStores/*/upload/operations/*}

Parametry ścieżki

name string

Nazwa zasobu operacji. Ma on postać fileSearchStores/{filesearchstore}/upload/operations/{operation}.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu Operation.

Zasób REST: fileSearchStores

Zasób: FileSearchStore

FileSearchStore to zbiór Document.

Pola
name string

Tylko dane wyjściowe. Niezmienne. Identyfikator. Nazwa zasobu FileSearchStore. Jest to identyfikator (nazwa bez prefiksu „fileSearchStores/”) składający się z maksymalnie 40 znaków, które są małymi literami, cyframi lub myślnikami (-). Jest to tylko dane wyjściowe. Unikalna nazwa zostanie utworzona na podstawie displayName i będzie zawierać 12-znakowy losowy sufiks. Przykład: fileSearchStores/my-awesome-file-search-store-123a456b789c Jeśli nie podasz wartości displayName, nazwa zostanie wygenerowana losowo.

displayName string

Opcjonalnie: Czytelna nazwa wyświetlana dla FileSearchStore. Wyświetlana nazwa nie może mieć więcej niż 512 znaków, w tym spacji. Przykład: „Dokumenty w wyszukiwarce semantycznej”

createTime string (Timestamp format)

Tylko dane wyjściowe. Sygnatura czasowa utworzenia FileSearchStore.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

updateTime string (Timestamp format)

Tylko dane wyjściowe. Sygnatura czasowa ostatniej aktualizacji FileSearchStore.

Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" lub "2014-10-02T15:01:23+05:30".

activeDocumentsCount string (int64 format)

Tylko dane wyjściowe. Liczba dokumentów na urządzeniu FileSearchStore, które są aktywne i gotowe do pobrania.

pendingDocumentsCount string (int64 format)

Tylko dane wyjściowe. Liczba dokumentów w FileSearchStore, które są przetwarzane.

failedDocumentsCount string (int64 format)

Tylko dane wyjściowe. Liczba dokumentów w FileSearchStore, których nie udało się przetworzyć.

sizeBytes string (int64 format)

Tylko dane wyjściowe. Rozmiar surowych bajtów pozyskanych w FileSearchStore. Jest to łączny rozmiar wszystkich dokumentów w FileSearchStore.

Zapis JSON
{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "activeDocumentsCount": string,
  "pendingDocumentsCount": string,
  "failedDocumentsCount": string,
  "sizeBytes": string
}