@lobehub/lobehub 2.0.0-next.110 → 2.0.0-next.112
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +59 -0
- package/changelog/v1.json +18 -0
- package/docs/development/database-schema.dbml +2 -1
- package/package.json +1 -1
- package/packages/context-engine/src/index.ts +1 -1
- package/packages/context-engine/src/providers/KnowledgeInjector.ts +78 -0
- package/packages/context-engine/src/providers/index.ts +2 -0
- package/packages/database/migrations/0047_add_slug_document.sql +1 -5
- package/packages/database/migrations/meta/0047_snapshot.json +30 -14
- package/packages/database/migrations/meta/_journal.json +1 -1
- package/packages/database/src/core/migrations.json +3 -3
- package/packages/database/src/models/__tests__/agent.test.ts +172 -3
- package/packages/database/src/models/__tests__/userMemories.test.ts +1382 -0
- package/packages/database/src/models/agent.ts +22 -1
- package/packages/database/src/models/userMemory.ts +993 -0
- package/packages/database/src/schemas/file.ts +5 -10
- package/packages/database/src/schemas/userMemories.ts +22 -5
- package/packages/model-bank/src/aiModels/qwen.ts +41 -3
- package/packages/model-runtime/src/providers/qwen/index.ts +9 -3
- package/packages/prompts/src/prompts/files/__snapshots__/knowledgeBase.test.ts.snap +103 -0
- package/packages/prompts/src/prompts/files/index.ts +3 -0
- package/packages/prompts/src/prompts/files/knowledgeBase.test.ts +167 -0
- package/packages/prompts/src/prompts/files/knowledgeBase.ts +85 -0
- package/packages/types/src/files/index.ts +1 -0
- package/packages/types/src/index.ts +1 -0
- package/packages/types/src/knowledgeBase/index.ts +1 -0
- package/packages/types/src/userMemory/index.ts +3 -0
- package/packages/types/src/userMemory/layers.ts +54 -0
- package/packages/types/src/userMemory/shared.ts +64 -0
- package/packages/types/src/userMemory/tools.ts +240 -0
- package/src/features/ChatList/Messages/index.tsx +16 -19
- package/src/features/ChatList/components/ContextMenu.tsx +23 -16
- package/src/helpers/toolEngineering/index.ts +5 -9
- package/src/hooks/useQueryParam.ts +24 -22
- package/src/server/routers/async/file.ts +2 -7
- package/src/server/routers/lambda/chunk.ts +6 -1
- package/src/services/chat/contextEngineering.ts +19 -0
- package/src/store/agent/slices/chat/selectors/agent.ts +4 -0
- package/src/store/chat/slices/builtinTool/actions/knowledgeBase.ts +5 -16
- package/src/tools/knowledge-base/ExecutionRuntime/index.ts +3 -3
|
@@ -6,8 +6,6 @@ import { getAgentStoreState } from '@/store/agent/store';
|
|
|
6
6
|
import { ChatStore } from '@/store/chat/store';
|
|
7
7
|
import { KnowledgeBaseExecutionRuntime } from '@/tools/knowledge-base/ExecutionRuntime';
|
|
8
8
|
|
|
9
|
-
import { dbMessageSelectors } from '../../message/selectors';
|
|
10
|
-
|
|
11
9
|
const log = debug('lobe-store:builtin-tool:knowledge-base');
|
|
12
10
|
|
|
13
11
|
export interface KnowledgeBaseAction {
|
|
@@ -54,26 +52,17 @@ export const knowledgeBaseSlice: StateCreator<
|
|
|
54
52
|
},
|
|
55
53
|
|
|
56
54
|
searchKnowledgeBase: async (id, params) => {
|
|
57
|
-
// Get knowledge base IDs
|
|
55
|
+
// Get knowledge base IDs from agent store
|
|
58
56
|
const agentState = getAgentStoreState();
|
|
59
57
|
const knowledgeIds = agentSelectors.currentKnowledgeIds(agentState);
|
|
60
58
|
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
.map((f) => f?.id)
|
|
65
|
-
.filter(Boolean) as string[];
|
|
66
|
-
|
|
67
|
-
// Merge knowledge base files and user-selected files
|
|
68
|
-
const options = {
|
|
69
|
-
fileIds: [...knowledgeIds.fileIds, ...userFiles],
|
|
70
|
-
knowledgeBaseIds: knowledgeIds.knowledgeBaseIds,
|
|
71
|
-
};
|
|
59
|
+
// Only search in knowledge bases, not agent files
|
|
60
|
+
// Agent files will be injected as full content in context-engine
|
|
61
|
+
const knowledgeBaseIds = knowledgeIds.knowledgeBaseIds;
|
|
72
62
|
|
|
73
63
|
return get().internal_triggerKnowledgeBaseToolCalling(id, async () => {
|
|
74
64
|
return await runtime.searchKnowledgeBase(params, {
|
|
75
|
-
|
|
76
|
-
knowledgeBaseIds: options.knowledgeBaseIds,
|
|
65
|
+
knowledgeBaseIds,
|
|
77
66
|
messageId: id,
|
|
78
67
|
});
|
|
79
68
|
});
|
|
@@ -16,7 +16,6 @@ export class KnowledgeBaseExecutionRuntime {
|
|
|
16
16
|
async searchKnowledgeBase(
|
|
17
17
|
args: SearchKnowledgeBaseArgs,
|
|
18
18
|
options?: {
|
|
19
|
-
fileIds?: string[];
|
|
20
19
|
knowledgeBaseIds?: string[];
|
|
21
20
|
messageId?: string;
|
|
22
21
|
signal?: AbortSignal;
|
|
@@ -25,9 +24,10 @@ export class KnowledgeBaseExecutionRuntime {
|
|
|
25
24
|
try {
|
|
26
25
|
const { query, topK = 20 } = args;
|
|
27
26
|
|
|
28
|
-
//
|
|
27
|
+
// Only search in knowledge bases, not agent files
|
|
28
|
+
// Agent files will be injected as full content in context-engine
|
|
29
29
|
const { chunks, fileResults } = await ragService.semanticSearchForChat(
|
|
30
|
-
{
|
|
30
|
+
{ knowledgeIds: options?.knowledgeBaseIds, query, topK },
|
|
31
31
|
options?.signal,
|
|
32
32
|
);
|
|
33
33
|
|