minor constants refactoring

This commit is contained in:
Storme-bit
2026-04-04 08:08:57 -07:00
parent cbc36c2416
commit bd600d9865
4 changed files with 41 additions and 24 deletions

View File

@@ -1,27 +1,17 @@
const {QdrantClient} = require('@qdrant/js-client-rest');
const {getEnv} = require('@nexusai/shared');
const {QDRANT, COLLECTIONS, getEnv} = require('@nexusai/shared');
let client;
// ********** QDrant Client **********
function getClient(){
if(!client){
const url = getEnv('QDrant_URL', 'http://localhost:6333');
client = new QdrantClient({url});
client = new QdrantClient({url: getEnv('QDRANT_URL', QDRANT.DEFAULT_URL)});
}
return client;
}
// ********** Collections **********
const COLLECTIONS = {
EPISODES: 'episodes',
ENTITIES: 'entities',
SUMMARIES: 'summaries'
};
// Vectoir size much match the embedding model output dimension
// nomic-embed-text outputs 768 dimensions
const VECTOR_SIZE = 768;
async function initCollections() {
const client = getClient();
@@ -29,9 +19,9 @@ async function initCollections() {
const exists = await collectionExists(name);
if (!exists) {
await client.createCollection(name, {
vectors: {
size: VECTOR_SIZE,
distance: 'Cosine' // Cosine similarity — best for text embeddings
vectors: {
size: QDRANT.VECTOR_SIZE,
distance: QDRANT.DISTANCE_METRIC
}
});
console.log(`Created Qdrant collection: ${name}`);
@@ -77,7 +67,7 @@ async function upsertSummary(id, vector, payload={}) {
}
//********** Search Vectors ********** */
async function searchCollection(collection, vector, limit = 10, filter = null){
async function searchCollection(collection, vector, limit = QDRANT.DEFAULT_LIMIT, filter = null){
const client = getClient();
const params = {vector,limit, with_payload: true};
@@ -85,13 +75,13 @@ async function searchCollection(collection, vector, limit = 10, filter = null){
return client.search(collection, params);
}
async function searchEpisodes(vector, limit = 10, filter = null) {
async function searchEpisodes(vector, limit = QDRANT.DEFAULT_LIMIT, filter = null) {
return searchCollection(COLLECTIONS.EPISODES, vector, limit, filter);
}
async function searchEntities(vector, limit = 10, filter = null) {
async function searchEntities(vector, limit = QDRANT.DEFAULT_LIMIT, filter = null) {
return searchCollection(COLLECTIONS.ENTITIES, vector, limit, filter);
}
async function searchSummaries(vector, limit = 10, filter = null) {
async function searchSummaries(vector, limit = QDRANT.DEFAULT_LIMIT, filter = null) {
return searchCollection(COLLECTIONS.SUMMARIES, vector, limit, filter);
}
@@ -106,7 +96,6 @@ async function deleteVector(collection, id) {
}
module.exports = {
COLLECTIONS,
initCollections,
upsertEpisode,
upsertEntity,