chore/ 精简展示AI活动的日志
This commit is contained in:
@@ -70,16 +70,20 @@ class MemoryService:
|
||||
|
||||
await self._db.flush()
|
||||
|
||||
from app.core.config import settings
|
||||
|
||||
vectors_written = 0
|
||||
# Embedding: 若有 provider 则写入
|
||||
if self._embedding and chunk_records:
|
||||
texts = [c for _, c in chunk_records]
|
||||
embeddings = await self._embedding.embed_texts(texts)
|
||||
for (chunk_id, _), emb in zip(chunk_records, embeddings):
|
||||
if emb:
|
||||
vectors_written += 1
|
||||
await update_chunk_embedding(self._db, chunk_id, emb)
|
||||
|
||||
enrichment_ok: bool | None = None
|
||||
try:
|
||||
from app.core.config import settings
|
||||
from app.core.dependencies import get_llm_provider_fast
|
||||
from app.features.memory.enrichment import enrich_memory_after_ingest_async
|
||||
|
||||
@@ -88,12 +92,28 @@ class MemoryService:
|
||||
await enrich_memory_after_ingest_async(
|
||||
self._db, user_id, source.id, llm
|
||||
)
|
||||
enrichment_ok = True
|
||||
except Exception as e:
|
||||
if settings.memory_enrichment_enabled:
|
||||
enrichment_ok = False
|
||||
logger.warning(
|
||||
"memory enrichment 跳过: {} exc_type={}", e, type(e).__name__
|
||||
)
|
||||
|
||||
await self._db.commit()
|
||||
emb_ok = self._embedding.is_available() if self._embedding else False
|
||||
logger.info(
|
||||
"event=memory_ingest_done user_id={} conversation_id={} source_id={} "
|
||||
"chunks={} vectors_written={} embedding_available={} enrichment_enabled={} enrichment_ok={}",
|
||||
user_id,
|
||||
conversation_id,
|
||||
source.id,
|
||||
len(chunk_records),
|
||||
vectors_written,
|
||||
emb_ok,
|
||||
settings.memory_enrichment_enabled,
|
||||
enrichment_ok,
|
||||
)
|
||||
return source.id
|
||||
|
||||
async def retrieve(
|
||||
@@ -104,7 +124,23 @@ class MemoryService:
|
||||
|
||||
retriever = HybridRetriever(self._db, embedding_provider=self._embedding)
|
||||
raw = await retriever.retrieve(user_id=user_id, query=query, top_k=top_k)
|
||||
return EvidenceBundle.model_validate(raw)
|
||||
bundle = EvidenceBundle.model_validate(raw)
|
||||
bd = bundle.model_dump()
|
||||
vec_ok = self._embedding.is_available() if self._embedding else False
|
||||
logger.info(
|
||||
"event=memory_retrieve_done user_id={} query_len={} top_k={} "
|
||||
"chunks={} facts={} summaries={} timeline={} stories={} vector_ok={}",
|
||||
user_id,
|
||||
len((query or "").strip()),
|
||||
top_k,
|
||||
len(bd.get("relevant_chunks") or []),
|
||||
len(bd.get("relevant_facts") or []),
|
||||
len(bd.get("relevant_summaries") or []),
|
||||
len(bd.get("timeline_hints") or []),
|
||||
len(bd.get("relevant_stories") or []),
|
||||
vec_ok,
|
||||
)
|
||||
return bundle
|
||||
|
||||
async def exclude_chunk(
|
||||
self, user_id: str, chunk_id: str, *, reason: str = ""
|
||||
@@ -215,29 +251,51 @@ def ingest_transcript_sync(
|
||||
session.flush()
|
||||
chunk_records.append((chunk.id, content))
|
||||
|
||||
from app.core.config import settings
|
||||
|
||||
vectors_written = 0
|
||||
embedding_available = False
|
||||
try:
|
||||
embedding_provider = get_embedding_provider()
|
||||
if embedding_provider is not None:
|
||||
embedding_available = embedding_provider.is_available()
|
||||
if chunk_records and embedding_provider is not None:
|
||||
texts = [content for _, content in chunk_records]
|
||||
embeddings = embedding_provider.embed_texts_sync(texts)
|
||||
for (chunk_id, _), emb in zip(chunk_records, embeddings):
|
||||
if emb:
|
||||
vectors_written += 1
|
||||
update_chunk_embedding_sync(session, chunk_id, emb)
|
||||
except Exception as e:
|
||||
logger.warning(
|
||||
"memory embedding 跳过(sync): {} exc_type={}", e, type(e).__name__
|
||||
)
|
||||
|
||||
enrichment_ok: bool | None = None
|
||||
try:
|
||||
from app.core.config import settings
|
||||
from app.features.memory.enrichment import enrich_memory_after_ingest_sync
|
||||
|
||||
if settings.memory_enrichment_enabled:
|
||||
enrich_memory_after_ingest_sync(session, user_id, source.id, llm=None)
|
||||
enrichment_ok = True
|
||||
except Exception as e:
|
||||
if settings.memory_enrichment_enabled:
|
||||
enrichment_ok = False
|
||||
logger.warning(
|
||||
"memory enrichment 跳过(sync): {} exc_type={}", e, type(e).__name__
|
||||
)
|
||||
|
||||
session.commit()
|
||||
logger.info(
|
||||
"event=memory_ingest_done user_id={} conversation_id={} source_id={} "
|
||||
"chunks={} vectors_written={} embedding_available={} enrichment_enabled={} enrichment_ok={} sync=1",
|
||||
user_id,
|
||||
conversation_id,
|
||||
source.id,
|
||||
len(chunk_records),
|
||||
vectors_written,
|
||||
embedding_available,
|
||||
settings.memory_enrichment_enabled,
|
||||
enrichment_ok,
|
||||
)
|
||||
return source.id
|
||||
|
||||
Reference in New Issue
Block a user