ai.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. export interface SSEApi {
  2. paramBody: KbChatParam
  3. signal: AbortSignal
  4. answerDone: () => void // 对话结束回调
  5. onMessage?: (data: any) => void
  6. onError?: (err: any) => void
  7. contentChange?: (text: string) => void // 思考过程更新
  8. resultChange?: (key: string, result: object) => void // 结果更新
  9. }
  10. /**
  11. * KbChatParam
  12. */
  13. export interface KbChatParam {
  14. enableThinking?: boolean
  15. /**
  16. * 历史对话
  17. */
  18. history?: History[]
  19. history_keyword?: string[]
  20. kb_name?: string
  21. maxTokens?: number
  22. /**
  23. * 知识来源, local_kb, temp_kb
  24. */
  25. mode?: string
  26. model?: Model
  27. prompt_name?: string
  28. /**
  29. * 要使用的模版名称
  30. */
  31. promptName?: string
  32. /**
  33. * 用户问题
  34. */
  35. query?: string
  36. /**
  37. * 暂时看不可用
  38. */
  39. return_direct?: boolean
  40. /**
  41. * 排序模型打分阈值
  42. */
  43. score_threshold?: number
  44. /**
  45. * 搜索类型
  46. */
  47. search_type?: SearchType
  48. stream?: boolean
  49. temperature?: number
  50. /**
  51. * 匹配向量数
  52. */
  53. topK?: number
  54. }
  55. /**
  56. * com.zjugis.ai.llm.knowledgeqa.param.KbChatParam.History
  57. *
  58. * History
  59. */
  60. export interface History {
  61. content?: string
  62. role?: Role
  63. }
  64. export enum Role {
  65. Assistant = 'ASSISTANT',
  66. System = 'SYSTEM',
  67. Tool = 'TOOL',
  68. Unknown = 'UNKNOWN',
  69. User = 'USER'
  70. }
  71. export enum Model {
  72. DeepseekR1 = 'DEEPSEEK_R1',
  73. Empty = 'EMPTY',
  74. Qwen25 = 'QWEN_25',
  75. Qwen3 = 'QWEN3',
  76. QwenPlus = 'QWEN_PLUS',
  77. Qwq32B = 'QWQ_32B',
  78. QwqPlus = 'QWQ_PLUS'
  79. }
  80. /**
  81. * 搜索类型
  82. */
  83. export enum SearchType {
  84. Concise = 'CONCISE',
  85. InDepth = 'IN_DEPTH',
  86. Research = 'RESEARCH'
  87. }