add query settings
This commit is contained in:
@@ -2,6 +2,7 @@ import { create } from 'zustand'
|
||||
import { persist, createJSONStorage } from 'zustand/middleware'
|
||||
import { createSelectors } from '@/lib/utils'
|
||||
import { defaultQueryLabel } from '@/lib/constants'
|
||||
import { Message, QueryRequest } from '@/api/lightrag'
|
||||
|
||||
type Theme = 'dark' | 'light' | 'system'
|
||||
type Tab = 'documents' | 'knowledge-graph' | 'retrieval'
|
||||
@@ -32,8 +33,11 @@ interface SettingsState {
|
||||
currentTab: Tab
|
||||
setCurrentTab: (tab: Tab) => void
|
||||
|
||||
retrievalHistory: any[]
|
||||
setRetrievalHistory: (history: any[]) => void
|
||||
retrievalHistory: Message[]
|
||||
setRetrievalHistory: (history: Message[]) => void
|
||||
|
||||
querySettings: Omit<QueryRequest, 'query'>
|
||||
updateQuerySettings: (settings: Partial<QueryRequest>) => void
|
||||
}
|
||||
|
||||
const useSettingsStoreBase = create<SettingsState>()(
|
||||
@@ -60,6 +64,21 @@ const useSettingsStoreBase = create<SettingsState>()(
|
||||
|
||||
retrievalHistory: [],
|
||||
|
||||
querySettings: {
|
||||
mode: 'global',
|
||||
response_type: 'Multiple Paragraphs',
|
||||
top_k: 10,
|
||||
max_token_for_text_unit: 4000,
|
||||
max_token_for_global_context: 4000,
|
||||
max_token_for_local_context: 4000,
|
||||
only_need_context: false,
|
||||
only_need_prompt: false,
|
||||
stream: true,
|
||||
history_turns: 3,
|
||||
hl_keywords: [],
|
||||
ll_keywords: []
|
||||
},
|
||||
|
||||
setTheme: (theme: Theme) => set({ theme }),
|
||||
|
||||
setQueryLabel: (queryLabel: string) =>
|
||||
@@ -73,15 +92,17 @@ const useSettingsStoreBase = create<SettingsState>()(
|
||||
|
||||
setCurrentTab: (tab: Tab) => set({ currentTab: tab }),
|
||||
|
||||
setRetrievalHistory: (history: any[]) => set({ retrievalHistory: history })
|
||||
setRetrievalHistory: (history: Message[]) => set({ retrievalHistory: history }),
|
||||
|
||||
updateQuerySettings: (settings: Partial<QueryRequest>) =>
|
||||
set((state) => ({
|
||||
querySettings: { ...state.querySettings, ...settings }
|
||||
}))
|
||||
}),
|
||||
{
|
||||
name: 'settings-storage',
|
||||
storage: createJSONStorage(() => localStorage),
|
||||
version: 5,
|
||||
partialize(state) {
|
||||
return { ...state, retrievalHistory: undefined }
|
||||
},
|
||||
version: 6,
|
||||
migrate: (state: any, version: number) => {
|
||||
if (version < 2) {
|
||||
state.showEdgeLabel = false
|
||||
@@ -99,6 +120,24 @@ const useSettingsStoreBase = create<SettingsState>()(
|
||||
if (version < 5) {
|
||||
state.currentTab = 'documents'
|
||||
}
|
||||
if (version < 6) {
|
||||
state.querySettings = {
|
||||
mode: 'global',
|
||||
response_type: 'Multiple Paragraphs',
|
||||
top_k: 10,
|
||||
max_token_for_text_unit: 4000,
|
||||
max_token_for_global_context: 4000,
|
||||
max_token_for_local_context: 4000,
|
||||
only_need_context: false,
|
||||
only_need_prompt: false,
|
||||
stream: true,
|
||||
history_turns: 3,
|
||||
hl_keywords: [],
|
||||
ll_keywords: []
|
||||
}
|
||||
state.retrievalHistory = []
|
||||
}
|
||||
return state
|
||||
}
|
||||
}
|
||||
)
|
||||
|
Reference in New Issue
Block a user