debug.ts 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import type { IOnCompleted, IOnData, IOnError, IOnMessageEnd, IOnMessageReplace } from './base'
  2. import { get, post, ssePost } from './base'
  3. import type { ChatPromptConfig, CompletionPromptConfig } from '@/models/debug'
  4. import type { ModelModeType } from '@/types/app'
  5. export type AutomaticRes = {
  6. prompt: string
  7. variables: string[]
  8. opening_statement: string
  9. }
  10. export const sendChatMessage = async (appId: string, body: Record<string, any>, { onData, onCompleted, onError, getAbortController, onMessageEnd, onMessageReplace }: {
  11. onData: IOnData
  12. onCompleted: IOnCompleted
  13. onMessageEnd: IOnMessageEnd
  14. onMessageReplace: IOnMessageReplace
  15. onError: IOnError
  16. getAbortController?: (abortController: AbortController) => void
  17. }) => {
  18. return ssePost(`apps/${appId}/chat-messages`, {
  19. body: {
  20. ...body,
  21. response_mode: 'streaming',
  22. },
  23. }, { onData, onCompleted, onError, getAbortController, onMessageEnd, onMessageReplace })
  24. }
  25. export const stopChatMessageResponding = async (appId: string, taskId: string) => {
  26. return post(`apps/${appId}/chat-messages/${taskId}/stop`)
  27. }
  28. export const sendCompletionMessage = async (appId: string, body: Record<string, any>, { onData, onCompleted, onError, onMessageReplace }: {
  29. onData: IOnData
  30. onCompleted: IOnCompleted
  31. onError: IOnError
  32. onMessageReplace: IOnMessageReplace
  33. }) => {
  34. return ssePost(`apps/${appId}/completion-messages`, {
  35. body: {
  36. ...body,
  37. response_mode: 'streaming',
  38. },
  39. }, { onData, onCompleted, onError, onMessageReplace })
  40. }
  41. export const fetchSuggestedQuestions = (appId: string, messageId: string) => {
  42. return get(`apps/${appId}/chat-messages/${messageId}/suggested-questions`)
  43. }
  44. export const fetchConvesationMessages = (appId: string, conversation_id: string) => {
  45. return get(`apps/${appId}/chat-messages`, {
  46. params: {
  47. conversation_id,
  48. },
  49. })
  50. }
  51. export const generateRule = (body: Record<string, any>) => {
  52. return post<AutomaticRes>('/rule-generate', {
  53. body,
  54. })
  55. }
  56. export const fetchModelParams = (providerName: string, modelId: string) => {
  57. return get(`workspaces/current/model-providers/${providerName}/models/parameter-rules`, {
  58. params: {
  59. model_name: modelId,
  60. },
  61. })
  62. }
  63. export const fetchPromptTemplate = ({
  64. appMode,
  65. mode,
  66. modelName,
  67. hasSetDataSet,
  68. }: { appMode: string; mode: ModelModeType; modelName: string; hasSetDataSet: boolean }) => {
  69. return get<Promise<{ chat_prompt_config: ChatPromptConfig; completion_prompt_config: CompletionPromptConfig; stop: [] }>>('/app/prompt-templates', {
  70. params: {
  71. app_mode: appMode,
  72. model_mode: mode,
  73. model_name: modelName,
  74. has_context: hasSetDataSet,
  75. },
  76. })
  77. }
  78. export const fetchTextGenerationMessge = ({
  79. appId,
  80. messageId,
  81. }: { appId: string; messageId: string }) => {
  82. return get<Promise<{ message: [] }>>(`/apps/${appId}/messages/${messageId}`)
  83. }