@bridgerust/embex-darwin-arm64 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +133 -0
- package/embex.darwin-arm64.node +0 -0
- package/package.json +19 -0
package/README.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Embex (Node.js)
|
|
2
|
+
|
|
3
|
+
**The Universal Vector Database ORM.** One API for Qdrant, Pinecone, Chroma, LanceDB, and more.
|
|
4
|
+
|
|
5
|
+
Embex is a high-performance, universal client for vector databases, built on a shared Rust core related to [BridgeRust](https://github.com/bridgerust/bridgerust).
|
|
6
|
+
|
|
7
|
+
## 🚀 Features
|
|
8
|
+
|
|
9
|
+
- **Unified API**: Switch providers instantly. "Write once, run anywhere."
|
|
10
|
+
- **Performance**: Powered by Rust with SIMD acceleration.
|
|
11
|
+
- **Type Safety**: Full TypeScript support.
|
|
12
|
+
|
|
13
|
+
## 📦 Installation
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install embex
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
yarn add embex
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
bun add embex
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## ⚡ Quick Start
|
|
28
|
+
|
|
29
|
+
**Try Embex in 30 seconds - No setup required!** Uses LanceDB embedded mode (no server needed).
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
import { EmbexClient } from "@bridgerust/embex";
|
|
33
|
+
|
|
34
|
+
async function main() {
|
|
35
|
+
// LanceDB embedded - zero setup, just a local path
|
|
36
|
+
const client = await EmbexClient.newAsync("lancedb", "./data");
|
|
37
|
+
const collection = client.collection("documents");
|
|
38
|
+
|
|
39
|
+
// Create collection
|
|
40
|
+
await collection.create(768, "cosine");
|
|
41
|
+
|
|
42
|
+
// Insert data
|
|
43
|
+
await collection.insert([
|
|
44
|
+
{
|
|
45
|
+
id: "1",
|
|
46
|
+
vector: Array(768).fill(0.1),
|
|
47
|
+
metadata: { text: "Hello World" },
|
|
48
|
+
},
|
|
49
|
+
]);
|
|
50
|
+
|
|
51
|
+
// Search
|
|
52
|
+
const results = await collection.search(Array(768).fill(0.1), 5);
|
|
53
|
+
console.log(results.results);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
main();
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
**Run it:** `npx tsx examples/lancedb/node/quickstart.ts`
|
|
60
|
+
|
|
61
|
+
### All Provider Quick Starts
|
|
62
|
+
|
|
63
|
+
Try Embex with any provider! Same API, different backend:
|
|
64
|
+
|
|
65
|
+
| Provider | Setup | Quick Start |
|
|
66
|
+
| ------------ | --------------- | ---------------------------------------------- |
|
|
67
|
+
| **LanceDB** | None (embedded) | `npx tsx examples/lancedb/node/quickstart.ts` |
|
|
68
|
+
| **Qdrant** | Docker server | `npx tsx examples/qdrant/node/quickstart.ts` |
|
|
69
|
+
| **Pinecone** | API key | `npx tsx examples/pinecone/node/quickstart.ts` |
|
|
70
|
+
| **Chroma** | Optional server | `npx tsx examples/chroma/node/quickstart.ts` |
|
|
71
|
+
|
|
72
|
+
> 💡 **Same API everywhere!** Just change the provider name - all code stays the same. See [examples/README.md](../../../../examples/README.md) for setup instructions.
|
|
73
|
+
|
|
74
|
+
### 5. Filtered Search (Builder Pattern)
|
|
75
|
+
|
|
76
|
+
```typescript
|
|
77
|
+
const results = await collection.buildSearch([0.1, 0.2, ...])
|
|
78
|
+
.limit(10)
|
|
79
|
+
.filter({
|
|
80
|
+
course: "CS101"
|
|
81
|
+
})
|
|
82
|
+
.execute();
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## ☁️ Connecting to Cloud Providers
|
|
86
|
+
|
|
87
|
+
To connect to managed services like Pinecone, Qdrant Cloud, or Zilliz (Milvus), simply provide your API key and endpoint URL.
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
import { EmbexClient } from "@bridgerust/embex";
|
|
91
|
+
|
|
92
|
+
// Connect to Pinecone
|
|
93
|
+
const client = new EmbexClient(
|
|
94
|
+
"pinecone",
|
|
95
|
+
"https://index-name.svc.pinecone.io",
|
|
96
|
+
process.env.PINECONE_API_KEY
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
// Connect to Qdrant Cloud
|
|
100
|
+
const qdrantClient = new EmbexClient(
|
|
101
|
+
"qdrant",
|
|
102
|
+
"https://xyz-example.eu-central.aws.cloud.qdrant.io:6333",
|
|
103
|
+
process.env.QDRANT_API_KEY
|
|
104
|
+
);
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Official Documentation & API Keys
|
|
108
|
+
|
|
109
|
+
Need help finding your API key? Check the official provider documentation:
|
|
110
|
+
|
|
111
|
+
- **Pinecone**: [Authentication & API Keys](https://docs.pinecone.io/guides/get-started/quickstart#2-get-an-api-key)
|
|
112
|
+
- **Qdrant**: [Cloud Authentication](https://qdrant.tech/documentation/cloud/authentication/)
|
|
113
|
+
- **Milvus (Zilliz)**: [Manage Credentials](https://docs.zilliz.com/docs/manage-api-keys)
|
|
114
|
+
- **Weaviate**: [Authentication](https://weaviate.io/developers/weaviate/configuration/authentication)
|
|
115
|
+
- **Chroma**: [Auth & Client Settings](https://docs.trychroma.com/guides#authentication)
|
|
116
|
+
|
|
117
|
+
## 🔌 Supported Providers
|
|
118
|
+
|
|
119
|
+
| Provider | Key | Async Init? |
|
|
120
|
+
| -------- | ---------- | ----------- |
|
|
121
|
+
| Qdrant | `qdrant` | No |
|
|
122
|
+
| Chroma | `chroma` | No |
|
|
123
|
+
| Pinecone | `pinecone` | No |
|
|
124
|
+
| Weaviate | `weaviate` | No |
|
|
125
|
+
| LanceDB | `lancedb` | **Yes** |
|
|
126
|
+
| Milvus | `milvus` | **Yes** |
|
|
127
|
+
| PgVector | `pgvector` | **Yes** |
|
|
128
|
+
|
|
129
|
+
## 🔗 Resources
|
|
130
|
+
|
|
131
|
+
- **Main Repository**: [github.com/bridgerust/bridgerust](https://github.com/bridgerust/bridgerust)
|
|
132
|
+
- **Issues**: [github.com/bridgerust/bridgerust/issues](https://github.com/bridgerust/bridgerust/issues)
|
|
133
|
+
- **Documentation**: [Full Docs](https://github.com/bridgerust/bridgerust#documentation)
|
|
Binary file
|
package/package.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bridgerust/embex-darwin-arm64",
|
|
3
|
+
"version": "0.1.6",
|
|
4
|
+
"description": "Embex Vector Database ORM Node.js Bindings",
|
|
5
|
+
"os": [
|
|
6
|
+
"darwin"
|
|
7
|
+
],
|
|
8
|
+
"cpu": [
|
|
9
|
+
"arm64"
|
|
10
|
+
],
|
|
11
|
+
"main": "embex.darwin-arm64.node",
|
|
12
|
+
"files": [
|
|
13
|
+
"embex.darwin-arm64.node"
|
|
14
|
+
],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">= 10"
|
|
18
|
+
}
|
|
19
|
+
}
|