diff --git a/service/src/chatgpt/index.ts b/service/src/chatgpt/index.ts index 8642176c..c85425a9 100644 --- a/service/src/chatgpt/index.ts +++ b/service/src/chatgpt/index.ts @@ -220,6 +220,13 @@ async function chatReplyProcess(options: RequestOptions) { else searchQuery = '' + // Enforce query length to satisfy Tavily limits. + // Error: Query is too long. Max query length is 400 characters. + const maxSearchQueryLength = 300 + searchQuery = searchQuery.replace(/\s+/g, ' ').trim() + if (searchQuery.length > maxSearchQueryLength) + searchQuery = searchQuery.slice(0, maxSearchQueryLength).trim() + if (searchQuery) { await updateChatSearchQuery(messageId, searchQuery) diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 71e14c6c..57402f4f 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -211,7 +211,7 @@ "systemMessageWithSearchResult": "System message for conversations with search results", "systemMessageGetSearchQuery": "System message for getting search query", "systemMessageWithSearchResultPlaceholder": "System message template when with search results. Use {'{current_time}'} as placeholder for current time.", - "systemMessageGetSearchQueryPlaceholder": "System message template for generating search query word. Use {'{current_time}'} as placeholder for current time. Require LLM to return the query word in example search query tags or return empty tag if not need search.", + "systemMessageGetSearchQueryPlaceholder": "System message template for generating search query word. Use {'{current_time}'} as placeholder for current time. Require the LLM to return a query in example search query tags or return empty tag if not need search. Require the returned query to be no more than 300 characters.", "searchTest": "Test Search", "accessTokenExpiredTime": "Expired Time", "userConfig": "Users", diff --git a/src/locales/ja-JP.json b/src/locales/ja-JP.json index 30a93956..55f62d08 100644 --- a/src/locales/ja-JP.json +++ b/src/locales/ja-JP.json @@ -211,7 +211,7 @@ "systemMessageWithSearchResult": "検索結果付き会話のシステムメッセージ", "systemMessageGetSearchQuery": "検索クエリ取得用システムメッセージ", "systemMessageWithSearchResultPlaceholder": "検索結果付き時のシステムメッセージテンプレート。{'{current_time}'} を現在時刻のプレースホルダーとして使用してください。", - "systemMessageGetSearchQueryPlaceholder": "検索クエリ語を生成するためのシステムメッセージテンプレート。{'{current_time}'} を現在時刻のプレースホルダーとして使用してください。LLMに example search query タグでクエリ語を返させるか、検索不要なら空の タグを返すよう要求します。", + "systemMessageGetSearchQueryPlaceholder": "検索クエリ語を生成するためのシステムメッセージテンプレート。{'{current_time}'} を現在時刻のプレースホルダーとして使用してください。LLMに example search query タグでクエリ語を返させるか、検索不要なら空の タグを返すよう要求します。返されるクエリは 300 文字以内にしてください。", "searchTest": "検索テスト", "accessTokenExpiredTime": "有効期限", "userConfig": "ユーザー", diff --git a/src/locales/ko-KR.json b/src/locales/ko-KR.json index 2ed083a0..73865a5d 100644 --- a/src/locales/ko-KR.json +++ b/src/locales/ko-KR.json @@ -211,7 +211,7 @@ "systemMessageWithSearchResult": "검색 결과가 포함된 대화 시스템 프롬프트", "systemMessageGetSearchQuery": "검색 쿼리어를 가져오는 시스템 프롬프트", "systemMessageWithSearchResultPlaceholder": "검색 결과가 포함된 시스템 메시지 템플릿, {'{current_time}'}를 현재 시간의 플레이스홀더로 사용", - "systemMessageGetSearchQueryPlaceholder": "검색 쿼리어를 생성하는 시스템 메시지 템플릿, {'{current_time}'}를 현재 시간의 플레이스홀더로 사용, LLM이 예시 검색 쿼리어 태그에서 쿼리어를 반환하도록 요구, 검색이 필요하지 않으면 빈 태그를 반환", + "systemMessageGetSearchQueryPlaceholder": "검색 쿼리어를 생성하는 시스템 메시지 템플릿, {'{current_time}'}를 현재 시간의 플레이스홀더로 사용, LLM이 예시 검색 쿼리어 태그에서 쿼리어를 반환하도록 요구, 검색이 필요하지 않으면 빈 태그를 반환. 반환된 쿼리어는 300자 이하여야 합니다.", "searchTest": "검색 테스트", "accessTokenExpiredTime": "만료된 시간", "userConfig": "사용자", diff --git a/src/locales/zh-CN.json b/src/locales/zh-CN.json index f2185fb1..9394b751 100644 --- a/src/locales/zh-CN.json +++ b/src/locales/zh-CN.json @@ -211,7 +211,7 @@ "systemMessageWithSearchResult": "包含搜索结果时的对话系统提示词", "systemMessageGetSearchQuery": "用于获取搜索查询词的系统提示词", "systemMessageWithSearchResultPlaceholder": "携带搜索结果时的系统消息模板, 使用 {'{current_time}'} 作为当前时间的占位符", - "systemMessageGetSearchQueryPlaceholder": "用于生成搜索查询的系统消息模板, 使用 {'{current_time}'} 作为当前时间的占位符, 要求 LLM 在 example search query 标签中返回查询词,如果不需要搜索则返回空标签", + "systemMessageGetSearchQueryPlaceholder": "用于生成搜索查询的系统消息模板, 使用 {'{current_time}'} 作为当前时间的占位符, 要求 LLM 在 example search query 标签中返回查询词,如果不需要搜索则返回空标签。要求返回的查询词不超过 300 个字符。", "searchTest": "测试搜索", "accessTokenExpiredTime": "过期时间", "userConfig": "用户管理", diff --git a/src/locales/zh-TW.json b/src/locales/zh-TW.json index 3782bdd7..6ac920e5 100644 --- a/src/locales/zh-TW.json +++ b/src/locales/zh-TW.json @@ -211,7 +211,7 @@ "systemMessageWithSearchResult": "包含搜尋結果時的對話系統提示詞", "systemMessageGetSearchQuery": "用於獲取搜尋查詢詞的系統提示詞", "systemMessageWithSearchResultPlaceholder": "攜帶搜尋結果時的系統訊息模板, 使用 {'{current_time}'} 作為當前時間的佔位符", - "systemMessageGetSearchQueryPlaceholder": "用於生成搜尋查詢的系統訊息模板, 使用 {'{current_time}'} 作為當前時間的佔位符, 要求 LLM 在 example search query 標籤中返回查詢詞,如果不需要搜尋則返回空標籤", + "systemMessageGetSearchQueryPlaceholder": "用於生成搜尋查詢的系統訊息模板, 使用 {'{current_time}'} 作為當前時間的佔位符, 要求 LLM 在 example search query 標籤中返回查詢詞,如果不需要搜尋則返回空標籤。要求返回的查詢詞不超過 300 個字元。", "searchTest": "測試搜尋", "accessTokenExpiredTime": "過期時間", "userConfig": "用戶管理",