Skip to content

Commit 955e8c9

Browse files
feat: [vectorsearch] new module for vectorsearch (#11787)
Generated by @diegomarquezp via [generate_new_client_hermetic_build.yaml](https://github.com/googleapis/google-cloud-java/actions/workflows/generate_new_client_hermetic_build.yaml) Command used: ``` python generation/new_client_hermetic_build/add-new-client-config.py add-new-library --api-shortname "vectorsearch" --name-pretty "Vector Search API" --api-description "The Vector Search API provides a fully-managed, highly performant, and scalable vector database designed to power next-generation search, recommendation, and generative AI applications. It allows you to store, index, and query your data and its corresponding vector embeddings through a simple, intuitive interface. With Vector Search, you can define custom schemas for your data, insert objects with associated metadata, automatically generate embeddings from your data, and perform fast approximate nearest neighbor (ANN) searches to find semantically similar items at scale." --proto-path "google/ads/datamanager/v1" --product-docs "https://docs.cloud.google.com/vertex-ai/docs/vector-search/overview" ```
1 parent 46da811 commit 955e8c9

File tree

162 files changed

+81502
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+81502
-0
lines changed

gapic-libraries-bom/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,6 +1263,13 @@
12631263
<type>pom</type>
12641264
<scope>import</scope>
12651265
</dependency>
1266+
<dependency>
1267+
<groupId>com.google.cloud</groupId>
1268+
<artifactId>google-cloud-vectorsearch-bom</artifactId>
1269+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-vectorsearch:current} -->
1270+
<type>pom</type>
1271+
<scope>import</scope>
1272+
</dependency>
12661273
<dependency>
12671274
<groupId>com.google.cloud</groupId>
12681275
<artifactId>google-cloud-vertexai-bom</artifactId>

generation_config.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2700,6 +2700,28 @@ libraries:
27002700
- proto_path: google/cloud/memorystore/v1beta
27012701
requires_billing: true
27022702
rest_documentation: https://cloud.google.com/memorystore/docs/valkey/reference/rest
2703+
- api_shortname: vectorsearch
2704+
name_pretty: Vector Search API
2705+
product_documentation: https://docs.cloud.google.com/vertex-ai/docs/vector-search/overview
2706+
api_description: The Vector Search API provides a fully-managed, highly performant,
2707+
and scalable vector database designed to power next-generation search, recommendation,
2708+
and generative AI applications. It allows you to store, index, and query your
2709+
data and its corresponding vector embeddings through a simple, intuitive interface.
2710+
With Vector Search, you can define custom schemas for your data, insert objects
2711+
with associated metadata, automatically generate embeddings from your data, and
2712+
perform fast approximate nearest neighbor (ANN) searches to find semantically
2713+
similar items at scale.
2714+
client_documentation:
2715+
https://cloud.google.com/java/docs/reference/google-cloud-vectorsearch/latest/overview
2716+
release_level: preview
2717+
distribution_name: com.google.cloud:google-cloud-vectorsearch
2718+
api_id: vectorsearch.googleapis.com
2719+
library_type: GAPIC_AUTO
2720+
group_id: com.google.cloud
2721+
cloud_api: true
2722+
GAPICs:
2723+
- proto_path: google/ads/datamanager/v1
2724+
requires_billing: true
27032725
- api_shortname: videointelligence
27042726
name_pretty: Cloud Video Intelligence
27052727
product_documentation: https://cloud.google.com/video-intelligence/docs/
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
16+
deep-remove-regex:
17+
- "/java-vectorsearch/grpc-google-.*/src"
18+
- "/java-vectorsearch/proto-google-.*/src"
19+
- "/java-vectorsearch/google-.*/src"
20+
- "/java-vectorsearch/samples/snippets/generated"
21+
22+
deep-preserve-regex:
23+
- "/java-vectorsearch/google-.*/src/test/java/com/google/cloud/.*/v.*/it/IT.*Test.java"
24+
25+
deep-copy-regex:
26+
- source: "/google/ads/datamanager/(v.*)/.*-java/proto-google-.*/src"
27+
dest: "/owl-bot-staging/java-vectorsearch/$1/proto-google-cloud-vectorsearch-$1/src"
28+
- source: "/google/ads/datamanager/(v.*)/.*-java/grpc-google-.*/src"
29+
dest: "/owl-bot-staging/java-vectorsearch/$1/grpc-google-cloud-vectorsearch-$1/src"
30+
- source: "/google/ads/datamanager/(v.*)/.*-java/gapic-google-.*/src"
31+
dest: "/owl-bot-staging/java-vectorsearch/$1/google-cloud-vectorsearch/src"
32+
- source: "/google/ads/datamanager/(v.*)/.*-java/samples/snippets/generated"
33+
dest: "/owl-bot-staging/java-vectorsearch/$1/samples/snippets/generated"
34+
35+
api-name: vectorsearch
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"api_shortname": "vectorsearch",
3+
"name_pretty": "Vector Search API",
4+
"product_documentation": "https://docs.cloud.google.com/vertex-ai/docs/vector-search/overview",
5+
"api_description": "The Vector Search API provides a fully-managed, highly performant, and scalable vector database designed to power next-generation search, recommendation, and generative AI applications. It allows you to store, index, and query your data and its corresponding vector embeddings through a simple, intuitive interface. With Vector Search, you can define custom schemas for your data, insert objects with associated metadata, automatically generate embeddings from your data, and perform fast approximate nearest neighbor (ANN) searches to find semantically similar items at scale.",
6+
"client_documentation": "https://cloud.google.com/java/docs/reference/google-cloud-vectorsearch/latest/overview",
7+
"release_level": "preview",
8+
"transport": "both",
9+
"language": "java",
10+
"repo": "googleapis/google-cloud-java",
11+
"repo_short": "java-vectorsearch",
12+
"distribution_name": "com.google.cloud:google-cloud-vectorsearch",
13+
"api_id": "vectorsearch.googleapis.com",
14+
"library_type": "GAPIC_AUTO",
15+
"requires_billing": true
16+
}

java-vectorsearch/README.md

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
# Google Vector Search API Client for Java
2+
3+
Java idiomatic client for [Vector Search API][product-docs].
4+
5+
[![Maven][maven-version-image]][maven-version-link]
6+
![Stability][stability-image]
7+
8+
- [Product Documentation][product-docs]
9+
- [Client Library Documentation][javadocs]
10+
11+
> Note: This client is a work-in-progress, and may occasionally
12+
> make backwards-incompatible changes.
13+
14+
15+
## Quickstart
16+
17+
18+
If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file:
19+
20+
```xml
21+
<dependencyManagement>
22+
<dependencies>
23+
<dependency>
24+
<groupId>com.google.cloud</groupId>
25+
<artifactId>libraries-bom</artifactId>
26+
<version>26.71.0</version>
27+
<type>pom</type>
28+
<scope>import</scope>
29+
</dependency>
30+
</dependencies>
31+
</dependencyManagement>
32+
33+
<dependencies>
34+
<dependency>
35+
<groupId>com.google.cloud</groupId>
36+
<artifactId>google-cloud-vectorsearch</artifactId>
37+
</dependency>
38+
</dependencies>
39+
```
40+
41+
If you are using Maven without the BOM, add this to your dependencies:
42+
43+
44+
```xml
45+
<dependency>
46+
<groupId>com.google.cloud</groupId>
47+
<artifactId>google-cloud-vectorsearch</artifactId>
48+
<version>0.0.0</version>
49+
</dependency>
50+
```
51+
52+
If you are using Gradle without BOM, add this to your dependencies:
53+
54+
```Groovy
55+
implementation 'com.google.cloud:google-cloud-vectorsearch:0.0.0'
56+
```
57+
58+
If you are using SBT, add this to your dependencies:
59+
60+
```Scala
61+
libraryDependencies += "com.google.cloud" % "google-cloud-vectorsearch" % "0.0.0"
62+
```
63+
64+
## Authentication
65+
66+
See the [Authentication][authentication] section in the base directory's README.
67+
68+
## Authorization
69+
70+
The client application making API calls must be granted [authorization scopes][auth-scopes] required for the desired Vector Search API APIs, and the authenticated principal must have the [IAM role(s)][predefined-iam-roles] required to access GCP resources using the Vector Search API API calls.
71+
72+
## Getting Started
73+
74+
### Prerequisites
75+
76+
You will need a [Google Cloud Platform Console][developer-console] project with the Vector Search API [API enabled][enable-api].
77+
You will need to [enable billing][enable-billing] to use Google Vector Search API.
78+
[Follow these instructions][create-project] to get your project set up. You will also need to set up the local development environment by
79+
[installing the Google Cloud Command Line Interface][cloud-cli] and running the following commands in command line:
80+
`gcloud auth login` and `gcloud config set project [YOUR PROJECT ID]`.
81+
82+
### Installation and setup
83+
84+
You'll need to obtain the `google-cloud-vectorsearch` library. See the [Quickstart](#quickstart) section
85+
to add `google-cloud-vectorsearch` as a dependency in your code.
86+
87+
## About Vector Search API
88+
89+
90+
[Vector Search API][product-docs] The Vector Search API provides a fully-managed, highly performant, and scalable vector database designed to power next-generation search, recommendation, and generative AI applications. It allows you to store, index, and query your data and its corresponding vector embeddings through a simple, intuitive interface. With Vector Search, you can define custom schemas for your data, insert objects with associated metadata, automatically generate embeddings from your data, and perform fast approximate nearest neighbor (ANN) searches to find semantically similar items at scale.
91+
92+
See the [Vector Search API client library docs][javadocs] to learn how to
93+
use this Vector Search API Client Library.
94+
95+
96+
97+
98+
99+
100+
## Troubleshooting
101+
102+
To get help, follow the instructions in the [shared Troubleshooting document][troubleshooting].
103+
104+
## Transport
105+
106+
Vector Search API uses both gRPC and HTTP/JSON for the transport layer.
107+
108+
## Supported Java Versions
109+
110+
Java 8 or above is required for using this client.
111+
112+
Google's Java client libraries,
113+
[Google Cloud Client Libraries][cloudlibs]
114+
and
115+
[Google Cloud API Libraries][apilibs],
116+
follow the
117+
[Oracle Java SE support roadmap][oracle]
118+
(see the Oracle Java SE Product Releases section).
119+
120+
### For new development
121+
122+
In general, new feature development occurs with support for the lowest Java
123+
LTS version covered by Oracle's Premier Support (which typically lasts 5 years
124+
from initial General Availability). If the minimum required JVM for a given
125+
library is changed, it is accompanied by a [semver][semver] major release.
126+
127+
Java 11 and (in September 2021) Java 17 are the best choices for new
128+
development.
129+
130+
### Keeping production systems current
131+
132+
Google tests its client libraries with all current LTS versions covered by
133+
Oracle's Extended Support (which typically lasts 8 years from initial
134+
General Availability).
135+
136+
#### Legacy support
137+
138+
Google's client libraries support legacy versions of Java runtimes with long
139+
term stable libraries that don't receive feature updates on a best efforts basis
140+
as it may not be possible to backport all patches.
141+
142+
Google provides updates on a best efforts basis to apps that continue to use
143+
Java 7, though apps might need to upgrade to current versions of the library
144+
that supports their JVM.
145+
146+
#### Where to find specific information
147+
148+
The latest versions and the supported Java versions are identified on
149+
the individual GitHub repository `github.com/GoogleAPIs/java-SERVICENAME`
150+
and on [google-cloud-java][g-c-j].
151+
152+
## Versioning
153+
154+
155+
This library follows [Semantic Versioning](http://semver.org/).
156+
157+
158+
It is currently in major version zero (``0.y.z``), which means that anything may change at any time
159+
and the public API should not be considered stable.
160+
161+
162+
## Contributing
163+
164+
165+
Contributions to this library are always welcome and highly encouraged.
166+
167+
See [CONTRIBUTING][contributing] for more information how to get started.
168+
169+
Please note that this project is released with a Contributor Code of Conduct. By participating in
170+
this project you agree to abide by its terms. See [Code of Conduct][code-of-conduct] for more
171+
information.
172+
173+
174+
## License
175+
176+
Apache 2.0 - See [LICENSE][license] for more information.
177+
178+
## CI Status
179+
180+
Java Version | Status
181+
------------ | ------
182+
Java 8 | [![Kokoro CI][kokoro-badge-image-2]][kokoro-badge-link-2]
183+
Java 8 OSX | [![Kokoro CI][kokoro-badge-image-3]][kokoro-badge-link-3]
184+
Java 8 Windows | [![Kokoro CI][kokoro-badge-image-4]][kokoro-badge-link-4]
185+
Java 11 | [![Kokoro CI][kokoro-badge-image-5]][kokoro-badge-link-5]
186+
187+
Java is a registered trademark of Oracle and/or its affiliates.
188+
189+
[product-docs]: https://docs.cloud.google.com/vertex-ai/docs/vector-search/overview
190+
[javadocs]: https://cloud.google.com/java/docs/reference/google-cloud-vectorsearch/latest/overview
191+
[kokoro-badge-image-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.svg
192+
[kokoro-badge-link-1]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java7.html
193+
[kokoro-badge-image-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.svg
194+
[kokoro-badge-link-2]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8.html
195+
[kokoro-badge-image-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.svg
196+
[kokoro-badge-link-3]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-osx.html
197+
[kokoro-badge-image-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.svg
198+
[kokoro-badge-link-4]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java8-win.html
199+
[kokoro-badge-image-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.svg
200+
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html
201+
[stability-image]: https://img.shields.io/badge/stability-preview-yellow
202+
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-vectorsearch.svg
203+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-vectorsearch/0.0.0
204+
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
205+
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
206+
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles
207+
[iam-policy]: https://cloud.google.com/iam/docs/overview#cloud-iam-policy
208+
[developer-console]: https://console.developers.google.com/
209+
[create-project]: https://cloud.google.com/resource-manager/docs/creating-managing-projects
210+
[cloud-cli]: https://cloud.google.com/cli
211+
[troubleshooting]: https://github.com/googleapis/google-cloud-java/blob/main/TROUBLESHOOTING.md
212+
[contributing]: https://github.com/googleapis/google-cloud-java/blob/main/CONTRIBUTING.md
213+
[code-of-conduct]: https://github.com/googleapis/google-cloud-java/blob/main/CODE_OF_CONDUCT.md#contributor-code-of-conduct
214+
[license]: https://github.com/googleapis/google-cloud-java/blob/main/LICENSE
215+
[enable-billing]: https://cloud.google.com/apis/docs/getting-started#enabling_billing
216+
[enable-api]: https://console.cloud.google.com/flows/enableapi?apiid=vectorsearch.googleapis.com
217+
[libraries-bom]: https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM
218+
[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
219+
220+
[semver]: https://semver.org/
221+
[cloudlibs]: https://cloud.google.com/apis/docs/client-libraries-explained
222+
[apilibs]: https://cloud.google.com/apis/docs/client-libraries-explained#google_api_client_libraries
223+
[oracle]: https://www.oracle.com/java/technologies/java-se-support-roadmap.html
224+
[g-c-j]: http://github.com/googleapis/google-cloud-java
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version='1.0' encoding='UTF-8'?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
<groupId>com.google.cloud</groupId>
5+
<artifactId>google-cloud-vectorsearch-bom</artifactId>
6+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-vectorsearch:current} -->
7+
<packaging>pom</packaging>
8+
<parent>
9+
<groupId>com.google.cloud</groupId>
10+
<artifactId>google-cloud-pom-parent</artifactId>
11+
<version>1.73.0-SNAPSHOT</version><!-- {x-version-update:google-cloud-java:current} -->
12+
<relativePath>../../google-cloud-pom-parent/pom.xml</relativePath>
13+
</parent>
14+
15+
<name>Google Vector Search API BOM</name>
16+
<description>
17+
BOM for Vector Search API
18+
</description>
19+
20+
<properties>
21+
<maven.antrun.skip>true</maven.antrun.skip>
22+
</properties>
23+
24+
<dependencyManagement>
25+
<dependencies>
26+
<dependency>
27+
<groupId>com.google.cloud</groupId>
28+
<artifactId>google-cloud-vectorsearch</artifactId>
29+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-vectorsearch:current} -->
30+
</dependency>
31+
<dependency>
32+
<groupId>com.google.api.grpc</groupId>
33+
<artifactId>grpc-google-cloud-vectorsearch-v1</artifactId>
34+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-vectorsearch-v1:current} -->
35+
</dependency>
36+
<dependency>
37+
<groupId>com.google.api.grpc</groupId>
38+
<artifactId>proto-google-cloud-vectorsearch-v1</artifactId>
39+
<version>0.0.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-vectorsearch-v1:current} -->
40+
</dependency>
41+
</dependencies>
42+
</dependencyManagement>
43+
</project>

0 commit comments

Comments
 (0)