Spaces:
Build error
Build error
import { get, post, ssePost } from './base' | |
import type { IOnCompleted, IOnData, IOnError, IOnFile, IOnMessageEnd, IOnMessageReplace, IOnThought } from './base' | |
import type { ChatPromptConfig, CompletionPromptConfig } from '@/models/debug' | |
import type { ModelModeType } from '@/types/app' | |
import type { ModelParameterRule } from '@/app/components/header/account-setting/model-provider-page/declarations' | |
export type AutomaticRes = { | |
prompt: string | |
variables: string[] | |
opening_statement: string | |
error?: string | |
} | |
export type CodeGenRes = { | |
code: string | |
language: string[] | |
error?: string | |
} | |
export const sendChatMessage = async (appId: string, body: Record<string, any>, { onData, onCompleted, onThought, onFile, onError, getAbortController, onMessageEnd, onMessageReplace }: { | |
onData: IOnData | |
onCompleted: IOnCompleted | |
onFile: IOnFile | |
onThought: IOnThought | |
onMessageEnd: IOnMessageEnd | |
onMessageReplace: IOnMessageReplace | |
onError: IOnError | |
getAbortController?: (abortController: AbortController) => void | |
}) => { | |
return ssePost(`apps/${appId}/chat-messages`, { | |
body: { | |
...body, | |
response_mode: 'streaming', | |
}, | |
}, { onData, onCompleted, onThought, onFile, onError, getAbortController, onMessageEnd, onMessageReplace }) | |
} | |
export const stopChatMessageResponding = async (appId: string, taskId: string) => { | |
return post(`apps/${appId}/chat-messages/${taskId}/stop`) | |
} | |
export const sendCompletionMessage = async (appId: string, body: Record<string, any>, { onData, onCompleted, onError, onMessageReplace }: { | |
onData: IOnData | |
onCompleted: IOnCompleted | |
onError: IOnError | |
onMessageReplace: IOnMessageReplace | |
}) => { | |
return ssePost(`apps/${appId}/completion-messages`, { | |
body: { | |
...body, | |
response_mode: 'streaming', | |
}, | |
}, { onData, onCompleted, onError, onMessageReplace }) | |
} | |
export const fetchSuggestedQuestions = (appId: string, messageId: string, getAbortController?: any) => { | |
return get( | |
`apps/${appId}/chat-messages/${messageId}/suggested-questions`, | |
{}, | |
{ | |
getAbortController, | |
}, | |
) | |
} | |
export const fetchConversationMessages = (appId: string, conversation_id: string, getAbortController?: any) => { | |
return get(`apps/${appId}/chat-messages`, { | |
params: { | |
conversation_id, | |
}, | |
}, { | |
getAbortController, | |
}) | |
} | |
export const generateRule = (body: Record<string, any>) => { | |
return post<AutomaticRes>('/rule-generate', { | |
body, | |
}) | |
} | |
export const generateRuleCode = (body: Record<string, any>) => { | |
return post<CodeGenRes>('/rule-code-generate', { | |
body, | |
}) | |
} | |
export const fetchModelParams = (providerName: string, modelId: string) => { | |
return get(`workspaces/current/model-providers/${providerName}/models/parameter-rules`, { | |
params: { | |
model: modelId, | |
}, | |
}) as Promise<{ data: ModelParameterRule[] }> | |
} | |
export const fetchPromptTemplate = ({ | |
appMode, | |
mode, | |
modelName, | |
hasSetDataSet, | |
}: { appMode: string; mode: ModelModeType; modelName: string; hasSetDataSet: boolean }) => { | |
return get<Promise<{ chat_prompt_config: ChatPromptConfig; completion_prompt_config: CompletionPromptConfig; stop: [] }>>('/app/prompt-templates', { | |
params: { | |
app_mode: appMode, | |
model_mode: mode, | |
model_name: modelName, | |
has_context: hasSetDataSet, | |
}, | |
}) | |
} | |
export const fetchTextGenerationMessage = ({ | |
appId, | |
messageId, | |
}: { appId: string; messageId: string }) => { | |
return get<Promise<any>>(`/apps/${appId}/messages/${messageId}`) | |
} | |