@@ -179,18 +179,24 @@ XBuilder 的 AI 图像生成系统支持多种生成提供商(SVG.IO、Recraft
1791793 . 执行语义搜索(仅搜索,不生成)
1801804 . 返回增强后的搜索结果
181181
182- ### 5. 项目上下文生成
182+ ### 5. 项目上下文生成/更新
183183
184184** 接口路径** : ` POST /projects/context/generate `
185185
186- ** 描述** : 为项目生成或更新智能上下文关键词,用于后续的图像推荐增强。
186+ ** 描述** : 创建或更新项目的智能上下文关键词。该接口会检查是否已存在项目上下文,如果存在则直接返回缓存结果,除非明确要求重新生成。
187+
188+ ** 使用场景** :
189+ - ** 项目初始化** : 为新项目生成关键词
190+ - ** 项目信息更新** : 项目名称或描述变更时更新关键词
191+ - ** 强制刷新** : 需要重新生成更准确关键词时
187192
188193** 请求参数** :
189194``` json
190195{
191196 "project_id" : 123 , // 必需,项目ID,必须为正整数
192197 "project_name" : " 太空冒险游戏" , // 必需,项目名称,1-255字符
193- "project_description" : " 一个关于太空探索和外星文明的冒险游戏" // 可选,项目描述
198+ "project_description" : " 一个关于太空探索和外星文明的冒险游戏" , // 可选,项目描述
199+ "force_regenerate" : false // 可选,强制重新生成,默认false
194200}
195201```
196202
@@ -222,11 +228,13 @@ XBuilder 的 AI 图像生成系统支持多种生成提供商(SVG.IO、Recraft
222228```
223229
224230** 功能特性** :
231+ - ** 智能缓存** : 自动检查现有上下文,避免重复LLM调用
225232- ** AI智能分析** : 使用大语言模型分析项目内容
226233- ** 关键词生成** : 自动生成15-20个相关关键词
227234- ** 多语言支持** : 支持中英文关键词混合
228235- ** 智能去重** : 自动去除重复和无效关键词
229236- ** 优先级排序** : 按重要性对关键词排序
237+ - ** 性能优化** : 缓存机制大幅减少响应时间和API成本
230238
231239** 关键词生成策略** :
2322401 . ** 主题相关** : 涵盖项目主题相关的物体、场景
@@ -235,7 +243,48 @@ XBuilder 的 AI 图像生成系统支持多种生成提供商(SVG.IO、Recraft
2352434 . ** 技术规范** : 每个关键词简短精确(1-50字符)
2362445 . ** 数量控制** : 最多20个关键词,避免过载
237245
238- ### 6. 提交反馈
246+ ### 6. 项目上下文查询
247+
248+ ** 接口路径** : ` GET /projects/context?project_id=123 `
249+
250+ ** 描述** : 快速获取现有的项目上下文关键词,用于前端搜索时的性能优化。该接口只查询数据库,不调用LLM。
251+
252+ ** 使用场景** :
253+ - ** 前端搜索** : 在用户进行图像搜索时快速获取项目上下文
254+ - ** 上下文检查** : 检查项目是否已有生成的上下文
255+ - ** 性能优化** : 避免不必要的LLM调用
256+
257+ ** 请求参数** :
258+ - ` project_id ` : 项目ID(URL参数,必需)
259+
260+ ** 响应示例** :
261+ ``` json
262+ {
263+ "project_id" : 123 ,
264+ "name" : " 太空冒险游戏" ,
265+ "description" : " 一个关于太空探索和外星文明的冒险游戏" ,
266+ "related_words" : [
267+ " 宇宙飞船" ,
268+ " 外星人" ,
269+ " 星球" ,
270+ " 太空站" ,
271+ " 科幻" ,
272+ " 冒险"
273+ ],
274+ "created_at" : " 2025-01-15T10:30:00Z"
275+ }
276+ ```
277+
278+ ** 错误处理** :
279+ - 如果项目上下文不存在,返回404错误
280+ - 建议前端在接收到404后调用生成接口创建上下文
281+
282+ ** 性能特点** :
283+ - ** 毫秒级响应** : 直接数据库查询,无LLM调用
284+ - ** 高并发支持** : 支持大量并发查询请求
285+ - ** 缓存友好** : 可配合前端缓存进一步优化
286+
287+ ### 7. 提交反馈
239288
240289** 接口路径** : ` POST /images/feedback `
241290
@@ -533,6 +582,7 @@ type ProjectContextParams struct {
533582 ProjectID int64 ` json:"project_id"` // 项目ID
534583 ProjectName string ` json:"project_name"` // 项目名称
535584 ProjectDescription string ` json:"project_description"` // 项目描述
585+ ForceRegenerate bool ` json:"force_regenerate"` // 强制重新生成
536586}
537587```
538588
@@ -554,13 +604,36 @@ type RecommendedImageResult struct {
554604- ** 语义搜索** : ` POST /v1/resource/search `
555605- ** 健康检查** : ` GET /health `
556606
557- ### 搜索策略
607+ ### 搜索策略与阈值配置
608+
609+ 系统支持为不同使用场景配置独立的相似度阈值:
610+
611+ #### 阈值类型
612+ - ** 搜索阈值** (` ALGORITHM_SEARCH_THRESHOLD ` ): 默认 0.1,用于搜索场景
613+ - 较低阈值确保返回更多相关结果
614+ - 适用于用户主动搜索图像时的广泛匹配
615+
616+ - ** 推荐阈值** (` ALGORITHM_RECOMMEND_THRESHOLD ` ): 默认 0.2,用于推荐场景
617+ - 较高阈值确保推荐质量
618+ - 适用于系统自动推荐时的精准匹配
619+
620+ #### 搜索策略
5586211 . ** 双路径搜索** (有主题时):
559- - 语义搜索路径 (70%): 保持语义相关性
560- - 主题搜索路径 (30%): 确保风格一致性
622+ - 语义搜索路径 (70%): 保持语义相关性,使用搜索阈值
623+ - 主题搜索路径 (30%): 确保风格一致性,使用搜索阈值
561624
5626252 . ** 单一语义搜索** (无主题时):
563- - 使用原始提示词进行语义搜索
626+ - 使用原始提示词进行语义搜索,使用搜索阈值
627+
628+ #### 配置方式
629+ 通过环境变量配置不同场景的阈值:
630+ ``` bash
631+ # 搜索场景阈值(更低,返回更多结果)
632+ ALGORITHM_SEARCH_THRESHOLD=0.1
633+
634+ # 推荐场景阈值(更高,保证质量)
635+ ALGORITHM_RECOMMEND_THRESHOLD=0.2
636+ ```
564637
565638### 提示词优化
566639系统会自动进行多层提示词优化:
@@ -602,9 +675,14 @@ type RecommendedImageResult struct {
602675## 性能优化
603676
604677### 缓存机制
678+ - ** 项目上下文缓存** :
679+ - 智能检查已有上下文,避免重复LLM调用
680+ - 数据库持久化存储项目关键词
681+ - 支持强制重新生成选项
605682- ** 提示词分析缓存** : 避免重复AI分析调用
606683- ** 推荐结果缓存** : 支持反馈功能的结果追踪
607684- ** 向量服务** : 图像语义搜索的向量存储
685+ - ** 搜索阈值配置** : 分场景配置相似度阈值
608686- ** 自动补全缓存** :
609687 - Trie树内存缓存(可选)
610688 - 支持缓存刷新和统计
0 commit comments