@lobehub/chat
Version:
Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.
48 lines (42 loc) • 1.36 kB
text/typescript
import { ModelProvider } from 'model-bank';
import {
OpenAICompatibleFactoryOptions,
createOpenAICompatibleRuntime,
} from '../../core/openaiCompatibleFactory';
import { SparkAIStream, transformSparkResponseToStream } from '../../core/streams';
import { ChatStreamPayload } from '../../types';
export const params = {
baseURL: 'https://spark-api-open.xf-yun.com/v1',
chatCompletion: {
handlePayload: (payload: ChatStreamPayload) => {
const { enabledSearch, tools, ...rest } = payload;
const sparkTools = enabledSearch
? [
...(tools || []),
{
type: 'web_search',
web_search: {
enable: true,
search_mode: process.env.SPARK_SEARCH_MODE || 'normal', // normal or deep
/*
show_ref_label: true,
*/
},
},
]
: tools;
return {
...rest,
tools: sparkTools,
} as any;
},
handleStream: SparkAIStream,
handleTransformResponseToStream: transformSparkResponseToStream,
noUserId: true,
},
debug: {
chatCompletion: () => process.env.DEBUG_SPARK_CHAT_COMPLETION === '1',
},
provider: ModelProvider.Spark,
} satisfies OpenAICompatibleFactoryOptions;
export const LobeSparkAI = createOpenAICompatibleRuntime(params);