2
0
Эх сурвалжийг харах

Fix: Add checkbox for stream_options in OpenAI-compatible providers

Matt Rubens 1 жил өмнө
parent
commit
156cab8cbc

+ 9 - 3
src/api/providers/openai.ts

@@ -32,18 +32,24 @@ export class OpenAiHandler implements ApiHandler {
 		}
 		}
 	}
 	}
 
 
+	// Include stream_options for OpenAI Compatible providers if the checkbox is checked
 	async *createMessage(systemPrompt: string, messages: Anthropic.Messages.MessageParam[]): ApiStream {
 	async *createMessage(systemPrompt: string, messages: Anthropic.Messages.MessageParam[]): ApiStream {
 		const openAiMessages: OpenAI.Chat.ChatCompletionMessageParam[] = [
 		const openAiMessages: OpenAI.Chat.ChatCompletionMessageParam[] = [
 			{ role: "system", content: systemPrompt },
 			{ role: "system", content: systemPrompt },
 			...convertToOpenAiMessages(messages),
 			...convertToOpenAiMessages(messages),
 		]
 		]
-		const stream = await this.client.chat.completions.create({
+		const requestOptions: OpenAI.Chat.ChatCompletionCreateParams = {
 			model: this.options.openAiModelId ?? "",
 			model: this.options.openAiModelId ?? "",
 			messages: openAiMessages,
 			messages: openAiMessages,
 			temperature: 0,
 			temperature: 0,
 			stream: true,
 			stream: true,
-			stream_options: { include_usage: true },
-		})
+		}
+
+		if (this.options.includeStreamOptions) {
+			requestOptions.stream_options = { include_usage: true }
+		}
+
+		const stream = await this.client.chat.completions.create(requestOptions)
 		for await (const chunk of stream) {
 		for await (const chunk of stream) {
 			const delta = chunk.choices[0]?.delta
 			const delta = chunk.choices[0]?.delta
 			if (delta?.content) {
 			if (delta?.content) {

+ 1 - 0
src/shared/api.ts

@@ -34,6 +34,7 @@ export interface ApiHandlerOptions {
 	openAiNativeApiKey?: string
 	openAiNativeApiKey?: string
 	azureApiVersion?: string
 	azureApiVersion?: string
 	openRouterUseMiddleOutTransform?: boolean
 	openRouterUseMiddleOutTransform?: boolean
+	includeStreamOptions?: boolean
 }
 }
 
 
 export type ApiConfiguration = ApiHandlerOptions & {
 export type ApiConfiguration = ApiHandlerOptions & {