Skip to content

Commit f7558f5

Browse files
authored
feat: add include raw content option for search settings (#635)
Signed-off-by: Bob Du <i@bobdu.cc>
1 parent f532d07 commit f7558f5

File tree

10 files changed

+20
-3
lines changed

10 files changed

+20
-3
lines changed

service/src/chatgpt/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ async function chatReplyProcess(options: RequestOptions) {
141141
// https://docs.tavily.com/documentation/best-practices/best-practices-search#search-depth%3Dadvanced-ideal-for-higher-relevance-in-search-results
142142
searchDepth: 'advanced',
143143
chunksPerSource: 3,
144-
includeRawContent: true,
144+
includeRawContent: searchConfig.options?.includeRawContent ?? false,
145145
// 0 <= x <= 20 https://docs.tavily.com/documentation/api-reference/endpoint/search#body-max-results
146146
// https://docs.tavily.com/documentation/best-practices/best-practices-search#max-results-limiting-the-number-of-results
147147
maxResults: searchConfig.options?.maxResults || 10,

service/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ router.post('/search-test', rootAuth, async (req, res) => {
857857
{
858858
searchDepth: 'advanced',
859859
chunksPerSource: 3,
860-
includeRawContent: true,
860+
includeRawContent: search.options?.includeRawContent ?? false,
861861
maxResults,
862862
timeout: 120,
863863
},

service/src/storage/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export async function getOriginConfig() {
9595
if (!config.searchConfig) {
9696
config.searchConfig = new SearchConfig()
9797
config.searchConfig.enabled = false
98-
config.searchConfig.options = { apiKey: '', maxResults: 10 }
98+
config.searchConfig.options = { apiKey: '', maxResults: 10, includeRawContent: false }
9999
}
100100

101101
if (!isNotEmptyString(config.siteConfig.chatModels))

service/src/storage/model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ export enum SearchServiceProvider {
200200
export class SearchServiceOptions {
201201
public apiKey: string
202202
public maxResults?: number
203+
public includeRawContent?: boolean
203204
}
204205

205206
export class Config {

src/components/common/Setting/Search.vue

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ async function fetchConfig() {
2828
data.searchConfig.options = { apiKey: '' }
2929
if (!data.searchConfig.options.maxResults)
3030
data.searchConfig.options.maxResults = 10
31+
if (data.searchConfig.options.includeRawContent === undefined)
32+
data.searchConfig.options.includeRawContent = false
3133
config.value = data.searchConfig
3234
}
3335
finally {
@@ -111,6 +113,15 @@ onMounted(() => {
111113
/>
112114
</div>
113115
</div>
116+
<div v-if="config && config.enabled" class="flex items-center space-x-4">
117+
<span class="shrink-0 w-[100px]">{{ t('setting.searchIncludeRawContent') }}</span>
118+
<div class="flex-1">
119+
<NSwitch
120+
:round="false" :value="config && config.options.includeRawContent"
121+
@update:value="(val) => { if (config && config.options) config.options.includeRawContent = val }"
122+
/>
123+
</div>
124+
</div>
114125
<div v-if="config && config.enabled" class="flex items-center space-x-4">
115126
<span class="shrink-0 w-[100px]">{{ t('setting.searchTest') }}</span>
116127
<div class="flex-1">

src/components/common/Setting/model.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ export type SearchServiceProvider = 'tavily' | ''
186186
export interface SearchServiceOptions {
187187
apiKey: string
188188
maxResults?: number
189+
includeRawContent?: boolean
189190
}
190191

191192
export class SearchConfig {

src/locales/en-US.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
"searchProvider": "Search Provider",
185185
"searchApiKey": "Search API Key",
186186
"searchMaxResults": "Max Search Results",
187+
"searchIncludeRawContent": "Include Raw Content",
187188
"systemMessageWithSearchResult": "System message for conversations with search results",
188189
"systemMessageGetSearchQuery": "System message for getting search query",
189190
"systemMessageWithSearchResultPlaceholder": "System message template when with search results. Use {'{current_time}'} as placeholder for current time.",

src/locales/ko-KR.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
"searchProvider": "검색 공급자",
185185
"searchApiKey": "검색 API 키",
186186
"searchMaxResults": "최대 검색 결과 수",
187+
"searchIncludeRawContent": "원시 콘텐츠 포함",
187188
"systemMessageWithSearchResult": "검색 결과가 포함된 대화 시스템 프롬프트",
188189
"systemMessageGetSearchQuery": "검색 쿼리어를 가져오는 시스템 프롬프트",
189190
"systemMessageWithSearchResultPlaceholder": "검색 결과가 포함된 시스템 메시지 템플릿, {'{current_time}'}를 현재 시간의 플레이스홀더로 사용",

src/locales/zh-CN.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
"searchProvider": "搜索提供商",
185185
"searchApiKey": "搜索 API 密钥",
186186
"searchMaxResults": "最大搜索结果数",
187+
"searchIncludeRawContent": "包含原始内容",
187188
"systemMessageWithSearchResult": "包含搜索结果时的对话系统提示词",
188189
"systemMessageGetSearchQuery": "用于获取搜索查询词的系统提示词",
189190
"systemMessageWithSearchResultPlaceholder": "携带搜索结果时的系统消息模板, 使用 {'{current_time}'} 作为当前时间的占位符",

src/locales/zh-TW.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@
184184
"searchProvider": "搜尋提供商",
185185
"searchApiKey": "搜尋 API 密鑰",
186186
"searchMaxResults": "最大搜尋結果數",
187+
"searchIncludeRawContent": "包含原始內容",
187188
"systemMessageWithSearchResult": "包含搜尋結果時的對話系統提示詞",
188189
"systemMessageGetSearchQuery": "用於獲取搜尋查詢詞的系統提示詞",
189190
"systemMessageWithSearchResultPlaceholder": "攜帶搜尋結果時的系統訊息模板, 使用 {'{current_time}'} 作為當前時間的佔位符",

0 commit comments

Comments
 (0)