This repository contains the gRPC client for the Qdrant vector search engine.
npm install @qdrant/js-client-grpc
# or
yarn add @qdrant/js-client-grpc
# or
pnpm i @qdrant/js-client-grpc
Run the Qdrant Docker container:
docker run -p 6334:6334 qdrant/qdrant
import {QdrantClient} from '@qdrant/js-client-grpc';
const client = new QdrantClient({host: '127.0.0.1', port: 6334});
// or
const client = new QdrantClient({url: 'http://127.0.0.1:6334'});
Use an endpoint from collections
API:
try {
const result = await client.api('collections').list({});
console.log('List of collections:', result.collections);
} catch (err) {
console.error('Could not get collections:', err);
}
The gRPC implementation relies on the native node module node:https
. For the time being, no JavaScript runtime other than Node / Deno are supported (though support for web may be added). Both Deno and Node support full-duplex, HTTP trailers and all the necessary bits for gRPC. Under the hood, the client uses connect-es
to communicate with the server.
Major and minor versions align with Qdrant's engine releases, whilst patch are reserved for fixes regarding the current minor release. Check out RELEASE.md for more info on release guidelines.
These are the most relevant scripts for development:
-
pnpm build
: builds and bundles from TypeScript sources -
pnpm pre-check
: type-checks sources -
pnpm pre-commit
: same as pre-check, but for git hooks (husky) -
pnpm test
: run unit tests -
pnpm test:integration
: runs integration tests against a locally running Qdrant docker container -
pnpm codegen:grpc-typescript
: updates generated TS classes and types from the latest remote proto files