mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-11-11 15:21:20 +00:00
Add pluggable memory embedder adapter and vector metadata
This commit is contained in:
1 parent
a1b6331cea
commit
b8d4d2ac82
4 files changed
+211
-10
No files matched your search
@@ -0,0 +1,39 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
|
||||
import { createEmbedderAdapter, embedText } from '../src/services/memory/embedder.js';
|
||||
|
||||
test('createEmbedderAdapter selects in-memory backend and supports vector CRUD', async () => {
|
||||
const adapter = createEmbedderAdapter({ backend: 'inmemory' });
|
||||
const vector = await adapter.embedText('hello world');
|
||||
|
||||
await adapter.upsertVector({
|
||||
id: 'vec-1',
|
||||
vector,
|
||||
metadata: { agent_id: 'a1', context_excerpt: 'hello world' },
|
||||
});
|
||||
|
||||
const results = await adapter.queryVector({
|
||||
vector,
|
||||
k: 1,
|
||||
filter: { agent_id: 'a1' },
|
||||
});
|
||||
|
||||
assert.equal(results.length, 1);
|
||||
assert.equal(results[0].id, 'vec-1');
|
||||
assert.equal(results[0].metadata.context_excerpt, 'hello world');
|
||||
|
||||
const deleted = await adapter.deleteVector('vec-1');
|
||||
assert.equal(deleted, true);
|
||||
});
|
||||
|
||||
test('createEmbedderAdapter reads backend from environment', async () => {
|
||||
process.env.MEMORY_VECTOR_BACKEND = 'local';
|
||||
const adapter = createEmbedderAdapter();
|
||||
const vector = await embedText('env selected', { adapter });
|
||||
|
||||
assert.ok(Array.isArray(vector));
|
||||
assert.ok(vector.length > 0);
|
||||
|
||||
delete process.env.MEMORY_VECTOR_BACKEND;
|
||||
});
|
||||
Reference in new issue
Block a user