1 जुलाई 2026

hermes-memory-pgvector v0.4.1: हाइब्रिड वेक्टर + फुल-टेक्स्ट सर्च उपलब्ध

Andrea Borghi द्वारा
hermes-memory-pgvector v0.4.1: हाइब्रिड वेक्टर + फुल-टेक्स्ट सर्च उपलब्ध

v0.4.0 द्वारा identity governance और agent attribution जारी होने के छह हफ्ते बाद, hermes-memory-pgvector v0.4.1 आ गया है — और यह उस एक प्रकार की recall miss को ठीक करता है जिसे pure vector search अपने दम पर हल नहीं कर सकती।

शुद्ध वेक्टर सर्च की छोड़ी हुई कमी

Embeddings पर cosine similarity "समान अर्थ" के लिए बहुत अच्छी है, और दो चीज़ों में चुपचाप कमजोर: exact lexical matches (एक error code, एक hostname, एक literal string जो किसी teammate ने ज्यों-का-त्यों टाइप की हो) और कोई भी row जो embedding backfill के उसके पास पहुँचने से पहले लिखी गई थी — एक null-embedding row vector-only query के लिए अदृश्य रहती है, चाहे वह कितनी भी relevant क्यों न हो।

Reciprocal Rank Fusion, कोई rerank hack नहीं

v0.4.1 hybrid_search() और hybrid_search_turns() जोड़ता है, जो मौजूदा HNSW cosine query और PostgreSQL full-text query को समान rows पर parallel चलाते हैं और दोनों rankings को Reciprocal Rank Fusion (k=60) से fuse करते हैं — एक rank-based merge जो दो असंगत similarity scores को normalizing करने की जरूरत से बचाता है। to_tsvector('english', content) पर GIN index (migration 003_hybrid_search_fts.sql) उस architecture के lexical side को table scale पर तेज़ रखता है।

Null embedding वाली rows — जिन्हें pure vector query चुपचाप छोड़ देती — अब गायब होने के बजाय fusion के full-text side के माध्यम से दिखाई देती हैं।

डिफ़ॉल्ट रूप से चालू, प्रति कॉल opt out

plugins.pgvector.hybrid_search का default true है। मौजूदा v0.3.x/v0.4.0 data या behavior में कुछ नहीं बदलता; fusion केवल नई recall calls पर सक्रिय होता है, और यदि full-text index मौजूद न हो तो यह gracefully vector-only पर degrade हो जाता है। किसी external cloud search service की जरूरत नहीं — यह Postgres है, एक और काम अच्छी तरह कर रहा है।

इसे प्राप्त करें

pip install hermes-memory-pgvector

Source, migration, और config GitHub पर:

👉 github.com/andreab67/hermes-memory-pgvector