Skip to content

Commit

Permalink
Merge pull request #2322 from b2network/feat-adapter-qdrant
Browse files Browse the repository at this point in the history
feat: add adapter-qdrant
  • Loading branch information
wtfsayo authored Jan 23, 2025
2 parents edbc660 + 8b21401 commit 805fc50
Show file tree
Hide file tree
Showing 9 changed files with 505 additions and 1 deletion.
10 changes: 10 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -619,6 +619,16 @@ DEEPGRAM_API_KEY=
VERIFIABLE_INFERENCE_ENABLED=false # Set to false to disable verifiable inference
VERIFIABLE_INFERENCE_PROVIDER=opacity # Options: opacity

# Qdrant
# URL of your Qdrant instance (e.g., https://your-instance.qdrant.tech)
QDRANT_URL=
# API key for authentication (optional for local instances)
QDRANT_KEY=
# Qdrant service port (default: 443 for cloud, typically 6333 for local)
QDRANT_PORT=443
# Vector size matching your embedding model (default: 1536 for OpenAI embeddings)
QDRANT_VECTOR_SIZE=1536

# Autonome Configuration
AUTONOME_JWT_TOKEN=
AUTONOME_RPC=https://wizard-bff-rpc.alt.technology/v1/bff/aaa/apps
Expand Down
1 change: 1 addition & 0 deletions agent/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"@elizaos/adapter-redis": "workspace:*",
"@elizaos/adapter-sqlite": "workspace:*",
"@elizaos/adapter-pglite": "workspace:*",
"@elizaos/adapter-qdrant": "workspace:*",
"@elizaos/client-auto": "workspace:*",
"@elizaos/client-direct": "workspace:*",
"@elizaos/client-discord": "workspace:*",
Expand Down
16 changes: 15 additions & 1 deletion agent/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { PGLiteDatabaseAdapter } from "@elizaos/adapter-pglite";
import { PostgresDatabaseAdapter } from "@elizaos/adapter-postgres";
import { QdrantDatabaseAdapter } from "@elizaos/adapter-qdrant";
import { RedisClient } from "@elizaos/adapter-redis";
import { SqliteDatabaseAdapter } from "@elizaos/adapter-sqlite";
import { SupabaseDatabaseAdapter } from "@elizaos/adapter-supabase";
Expand Down Expand Up @@ -700,7 +701,20 @@ function initializeDatabase(dataDir: string) {
dataDir: process.env.PGLITE_DATA_DIR,
});
return db;
} else {
} else if (process.env.QDRANT_URL
&& process.env.QDRANT_KEY
&& process.env.QDRANT_PORT
&& process.env.QDRANT_VECTOR_SIZE
) {
elizaLogger.info("Initializing Qdrant adapter...");
const db = new QdrantDatabaseAdapter(
process.env.QDRANT_URL,
process.env.QDRANT_KEY,
Number(process.env.QDRANT_PORT),
Number(process.env.QDRANT_VECTOR_SIZE)
);
return db;
}else {
const filePath =
process.env.SQLITE_FILE ?? path.resolve(dataDir, "db.sqlite");
elizaLogger.info(`Initializing SQLite database at ${filePath}...`);
Expand Down
9 changes: 9 additions & 0 deletions packages/adapter-qdrant/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
*

!dist/**
!package.json
!readme.md
!tsup.config.ts
!schema.sql
!seed.sql
!config.toml
3 changes: 3 additions & 0 deletions packages/adapter-qdrant/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import eslintGlobalConfig from "../../eslint.config.mjs";

export default [...eslintGlobalConfig];
30 changes: 30 additions & 0 deletions packages/adapter-qdrant/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"name": "@elizaos/adapter-qdrant",
"version": "0.1.0",
"type": "module",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
"exports": {
"./package.json": "./package.json",
".": {
"import": {
"@elizaos/source": "./src/index.ts",
"types": "./dist/index.d.ts",
"default": "./dist/index.js"
}
}
},
"dependencies": {
"@elizaos/core": "workspace:*",
"@qdrant/js-client-rest": "^1.12.0"
},
"devDependencies": {
"tsup": "8.3.5"
},
"scripts": {
"build": "tsup --format esm --dts",
"dev": "tsup --format esm --dts --watch",
"lint": "eslint --fix --cache ."
}
}
Loading

0 comments on commit 805fc50

Please sign in to comment.