refactor(memory): consolidate memory search services and update model client handling

- Consolidate memory search services by removing separate content_search.py and perceptual_search.py
- Update model client handling in base_pipeline.py to use ModelApiKeyService for LLM client initialization
- Add new prompt files and modify existing services to support consolidated search architecture
- Refactor memory read pipeline and related services to use updated model client approach
This commit is contained in:
Eternity
2026-04-16 13:46:39 +08:00
parent a01525e239
commit 749cf79581
4 changed files with 27 additions and 9 deletions

View File

@@ -12,8 +12,8 @@ from app.repositories.neo4j.neo4j_connector import Neo4jConnector
logger = logging.getLogger(__name__)
DEFAULT_ALPHA = 0.7
DEFAULT_FULLTEXT_SCORE_THRESHOLD = 1
DEFAULT_ALPHA = 0.6
DEFAULT_FULLTEXT_SCORE_THRESHOLD = 1.5
DEFAULT_COSINE_SCORE_THRESHOLD = 0.5
DEFAULT_CONTENT_SCORE_THRESHOLD = 0.5
@@ -112,7 +112,7 @@ class Neo4jSearchService:
kw = float(combined[item_id].get("kw_score", 0) or 0)
emb = float(combined[item_id].get("embedding_score", 0) or 0)
base = self.alpha * emb + (1 - self.alpha) * kw
combined[item_id]["content_score"] = base + min(1 - base, kw * emb)
combined[item_id]["content_score"] = base + min(1 - base, 0.1 * kw * emb)
results = sorted(combined.values(), key=lambda x: x["content_score"], reverse=True)
# results = [
# res for res in results

View File

@@ -61,14 +61,18 @@ class EntityBuilder(BaseBuilder):
def data(self) -> dict:
return {
"id": self.record.get("id"),
"content": self.record.get("name"),
"name": self.record.get("name"),
"description": self.record.get("description"),
"kw_score": self.record.get("kw_score", 0.0),
"emb_score": self.record.get("embedding_score", 0.0)
}
@property
def content(self) -> str:
return self.record.get("name")
return (f"<entity>"
f"<name>{self.record.get("name")}<name>"
f"<description>{self.record.get("description")}</description>"
f"</entity>")
class SummaryBuilder(BaseBuilder):