[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add Vector Search indexers and retrievers to Vertex AI plugin #519

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

cabljac
Copy link
Collaborator
@cabljac cabljac commented Jul 1, 2024

This PR adds Vertex AI Vector Store to the Vertex AI plugin. There are some design decisions still to be made, as VVS works differently to other vector databases (in that it doesn't store metadata, only ids and the feature vectors)

I have included a samples for BigQuery, Firestore, and a Custom local document store (just in a JSON file)

  • tests (unit, manual)
  • docs (in testapps)
  • changelog

@cabljac cabljac changed the title @invertase/vertexai vvs (draft): add Vector Search indexers and retrievers to Vertex AI plugin Jul 1, 2024
@cabljac cabljac force-pushed the @invertase/vertexai-vvs branch 3 times, most recently from 45b48da to 8e3b0aa Compare July 2, 2024 13:08
@cabljac cabljac changed the title (draft): add Vector Search indexers and retrievers to Vertex AI plugin feat: add Vector Search indexers and retrievers to Vertex AI plugin Jul 2, 2024
js/plugins/vertexai/src/index.ts Outdated Show resolved Hide resolved
js/plugins/vertexai/src/index.ts Outdated Show resolved Hide resolved
js/plugins/vertexai/src/vector-search/indexers.ts Outdated Show resolved Hide resolved
@pavelgj pavelgj requested a review from ssbushi July 4, 2024 13:16
@cabljac cabljac force-pushed the @invertase/vertexai-vvs branch 6 times, most recently from f7a43ea to 372313b Compare July 15, 2024 16:11
@cabljac cabljac marked this pull request as ready for review July 16, 2024 14:30
let retrievers: RetrieverAction<z.ZodTypeAny>[] = [];

if (options?.vectorSearchIndexOptions) {
const defaultEmbedder = embedders[0];
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we also let the user specify an embedder (rather than always using a default one)?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

options?: Options
) => Promise<string[]>;

export interface VectorSearchIndexOption<
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Optional: Have you considered naming this VectorSearchOptions? The inclusion of Index might suggest that this is only relevant for indexing and not retrieving. Although Index here means a DB index I suppose (rather than the act of indexing).

WDYT?

cc: @pavelgj

@ssbushi
Copy link
Contributor
ssbushi commented Jul 16, 2024

Thanks @cabljac for adding out-of-the-box indexers/retrievers and test coverage :)

I left a few comments on you latest updates.

@cabljac cabljac force-pushed the @invertase/vertexai-vvs branch 5 times, most recently from 664b595 to 3023575 Compare July 16, 2024 21:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants