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:
https: / /generativelanguage.googleapis.com /upload /v1beta /{fileSearchStoreName=fileSearchStores /*}:uploadToFileSearchStore
- Identyfikator URI metadanych w przypadku żądań dotyczących tylko metadanych:
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:
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:
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
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 ( |
Metoda: fileSearchStores.create
Tworzy pusty element FileSearchStore.
Punkt końcowy
posthttps: / /generativelanguage.googleapis.com /v1beta /fileSearchStores
Treść żądania
Treść żądania zawiera wystąpienie elementu FileSearchStore.
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
deletehttps: / /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
gethttps: / /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
gethttps: / /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:
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 ( |
Metoda: fileSearchStores.importFile
Importuje File z usługi plików do FileSearchStore.
Punkt końcowy
posthttps: / /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:
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.
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
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 ( |
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
gethttps: / /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.
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
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 ( |
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
gethttps: / /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.
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 } |