123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- 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}`)
- }
|