search-engine.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import request from './request'
  2. // --- Search Engine Management Types (Optional/Legacy) ---
  3. export interface SearchEngine {
  4. id: string
  5. name: string
  6. engine_type: string
  7. base_url?: string
  8. api_key?: string
  9. description?: string
  10. status: string
  11. created_at: string
  12. updated_at: string
  13. }
  14. export interface SearchEngineParams {
  15. page?: number
  16. page_size?: number
  17. keyword?: string
  18. status?: string
  19. }
  20. export interface CreateSearchEngineData {
  21. name: string
  22. engine_type: string
  23. base_url?: string
  24. api_key?: string
  25. description?: string
  26. status?: string
  27. }
  28. export interface UpdateSearchEngineData {
  29. name?: string
  30. engine_type?: string
  31. base_url?: string
  32. api_key?: string
  33. description?: string
  34. status?: string
  35. }
  36. // --- Knowledge Base Search Types (New) ---
  37. export interface KBSearchRequest {
  38. kb_id: string
  39. query: string
  40. metadata_field?: string
  41. metadata_value?: string
  42. filters?: { field: string, value: string }[] // 新增多重过滤支持
  43. top_k?: number
  44. score_threshold?: number
  45. metric_type?: string
  46. page?: number
  47. page_size?: number
  48. }
  49. export interface KBSearchResultItem {
  50. id: string
  51. kb_name: string
  52. doc_name: string
  53. content: string
  54. meta_info: string
  55. document_id?: string
  56. parent_id?: string
  57. metadata?: Record<string, any>
  58. score: number
  59. }
  60. export interface KBSearchResponse {
  61. results: KBSearchResultItem[]
  62. total: number
  63. }
  64. // --- API Methods ---
  65. // Knowledge Base Semantic Search
  66. export const searchKnowledgeBase = (data: KBSearchRequest) => {
  67. return request({
  68. url: '/api/v1/sample/search-engine/search',
  69. method: 'post',
  70. data
  71. })
  72. }
  73. // ... Existing CRUD Methods ...
  74. export const getSearchEngines = (params: SearchEngineParams) => {
  75. return request({
  76. url: '/api/v1/sample/search-engine',
  77. method: 'get',
  78. params
  79. })
  80. }
  81. export const createSearchEngine = (data: CreateSearchEngineData) => {
  82. return request({
  83. url: '/api/v1/sample/search-engine',
  84. method: 'post',
  85. data
  86. })
  87. }
  88. export const updateSearchEngine = (id: string, data: UpdateSearchEngineData) => {
  89. return request({
  90. url: '/api/v1/sample/search-engine/' + id,
  91. method: 'post',
  92. data
  93. })
  94. }
  95. export const updateSearchEngineStatus = (id: string, status: string) => {
  96. return request({
  97. url: '/api/v1/sample/search-engine/' + id + '/status',
  98. method: 'post',
  99. params: { status }
  100. })
  101. }
  102. export const deleteSearchEngine = (id: string) => {
  103. return request({
  104. url: '/api/v1/sample/search-engine/' + id + '/delete',
  105. method: 'post'
  106. })
  107. }