| import type { AxiosProgressEvent, GenericAbortSignal } from 'axios' | |
| import { post } from '@/utils/request' | |
| import { useAuthStore, useSettingStore } from '@/store' | |
| export function fetchChatAPI<T = any>( | |
| prompt: string, | |
| options?: { conversationId?: string; parentMessageId?: string }, | |
| signal?: GenericAbortSignal, | |
| ) { | |
| return post<T>({ | |
| url: '/chat', | |
| data: { prompt, options }, | |
| signal, | |
| }) | |
| } | |
| export function fetchChatConfig<T = any>() { | |
| return post<T>({ | |
| url: '/config', | |
| }) | |
| } | |
| export function fetchChatAPIProcess<T = any>( | |
| params: { | |
| prompt: string | |
| options?: { conversationId?: string; parentMessageId?: string } | |
| signal?: GenericAbortSignal | |
| onDownloadProgress?: (progressEvent: AxiosProgressEvent) => void }, | |
| ) { | |
| const settingStore = useSettingStore() | |
| const authStore = useAuthStore() | |
| let data: Record<string, any> = { | |
| prompt: params.prompt, | |
| options: params.options, | |
| } | |
| if (authStore.isChatGPTAPI) { | |
| data = { | |
| ...data, | |
| systemMessage: settingStore.systemMessage, | |
| temperature: settingStore.temperature, | |
| top_p: settingStore.top_p, | |
| } | |
| } | |
| return post<T>({ | |
| url: '/chat-process', | |
| data, | |
| signal: params.signal, | |
| onDownloadProgress: params.onDownloadProgress, | |
| }) | |
| } | |
| export function fetchSession<T>() { | |
| return post<T>({ | |
| url: '/session', | |
| }) | |
| } | |
| export function fetchVerify<T>(token: string) { | |
| return post<T>({ | |
| url: '/verify', | |
| data: { token }, | |
| }) | |
| } | |