mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-09-04 22:56:20 +08:00
refactor(llm): update handling of note embeddings and clean up LoadResults class
This commit is contained in:
parent
b0d60f8004
commit
934efab533
@ -36,7 +36,7 @@ async function processEntityChanges(entityChanges: EntityChange[]) {
|
|||||||
} else if (ec.entityName === "attachments") {
|
} else if (ec.entityName === "attachments") {
|
||||||
processAttachment(loadResults, ec);
|
processAttachment(loadResults, ec);
|
||||||
} else if (ec.entityName === "blobs" || ec.entityName === "etapi_tokens" || ec.entityName === "note_embeddings") {
|
} else if (ec.entityName === "blobs" || ec.entityName === "etapi_tokens" || ec.entityName === "note_embeddings") {
|
||||||
// NOOP - these entities don't require frontend processing
|
// NOOP - these entities are handled at the backend level and don't require frontend processing
|
||||||
} else {
|
} else {
|
||||||
throw new Error(`Unknown entityName '${ec.entityName}'`);
|
throw new Error(`Unknown entityName '${ec.entityName}'`);
|
||||||
}
|
}
|
||||||
|
@ -80,7 +80,6 @@ export default class LoadResults {
|
|||||||
private contentNoteIdToComponentId: ContentNoteIdToComponentIdRow[];
|
private contentNoteIdToComponentId: ContentNoteIdToComponentIdRow[];
|
||||||
private optionNames: string[];
|
private optionNames: string[];
|
||||||
private attachmentRows: AttachmentRow[];
|
private attachmentRows: AttachmentRow[];
|
||||||
private noteEmbeddingRows: NoteEmbeddingRow[];
|
|
||||||
|
|
||||||
constructor(entityChanges: EntityChange[]) {
|
constructor(entityChanges: EntityChange[]) {
|
||||||
const entities: Record<string, Record<string, any>> = {};
|
const entities: Record<string, Record<string, any>> = {};
|
||||||
@ -109,8 +108,6 @@ export default class LoadResults {
|
|||||||
this.optionNames = [];
|
this.optionNames = [];
|
||||||
|
|
||||||
this.attachmentRows = [];
|
this.attachmentRows = [];
|
||||||
|
|
||||||
this.noteEmbeddingRows = [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getEntityRow<T extends EntityRowNames>(entityName: T, entityId: string): EntityRowMappings[T] {
|
getEntityRow<T extends EntityRowNames>(entityName: T, entityId: string): EntityRowMappings[T] {
|
||||||
@ -213,14 +210,6 @@ export default class LoadResults {
|
|||||||
return this.attachmentRows;
|
return this.attachmentRows;
|
||||||
}
|
}
|
||||||
|
|
||||||
addNoteEmbedding(embedding: NoteEmbeddingRow) {
|
|
||||||
this.noteEmbeddingRows.push(embedding);
|
|
||||||
}
|
|
||||||
|
|
||||||
getNoteEmbeddingRows() {
|
|
||||||
return this.noteEmbeddingRows;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {boolean} true if there are changes which could affect the attributes (including inherited ones)
|
* @returns {boolean} true if there are changes which could affect the attributes (including inherited ones)
|
||||||
* notably changes in note itself should not have any effect on attributes
|
* notably changes in note itself should not have any effect on attributes
|
||||||
@ -238,8 +227,7 @@ export default class LoadResults {
|
|||||||
this.revisionRows.length === 0 &&
|
this.revisionRows.length === 0 &&
|
||||||
this.contentNoteIdToComponentId.length === 0 &&
|
this.contentNoteIdToComponentId.length === 0 &&
|
||||||
this.optionNames.length === 0 &&
|
this.optionNames.length === 0 &&
|
||||||
this.attachmentRows.length === 0 &&
|
this.attachmentRows.length === 0
|
||||||
this.noteEmbeddingRows.length === 0
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -203,6 +203,13 @@ function fillInAdditionalProperties(entityChange: EntityChange) {
|
|||||||
WHERE attachmentId = ?`,
|
WHERE attachmentId = ?`,
|
||||||
[entityChange.entityId]
|
[entityChange.entityId]
|
||||||
);
|
);
|
||||||
|
} else if (entityChange.entityName === "note_embeddings") {
|
||||||
|
// Note embeddings are backend-only entities for AI/vector search
|
||||||
|
// Frontend doesn't need the full embedding data (which is large binary data)
|
||||||
|
// Just ensure entity is marked as handled - actual sync happens at database level
|
||||||
|
if (!entityChange.isErased) {
|
||||||
|
entityChange.entity = { embedId: entityChange.entityId };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (entityChange.entity instanceof AbstractBeccaEntity) {
|
if (entityChange.entity instanceof AbstractBeccaEntity) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user