Skip to content

Commit

Permalink
Add doRawStream
Browse files Browse the repository at this point in the history
  • Loading branch information
gaspar09 committed May 17, 2024
1 parent 40d8d75 commit 77c64d3
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions packages/openai/src/openai-chat-language-model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,41 @@ export class OpenAIChatLanguageModel implements LanguageModelV1 {
};
}

async doRawStream(
options: Parameters<LanguageModelV1['doStream']>[0],
): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>> {
const args = this.getArgs(options);

const { responseHeaders, value: response } = await postJsonToApi({
url: `${this.config.baseURL}/chat/completions`,
headers: this.config.headers(),
body: {
...args,
stream: true,

// only include stream_options when in strict compatibility mode:
stream_options:
this.config.compatibility === 'strict'
? { include_usage: true }
: undefined,
},
failedResponseHandler: openaiFailedResponseHandler,
successfulResponseHandler: createEventSourceResponseHandler(
openaiChatChunkSchema,
),
abortSignal: options.abortSignal,
});

const { messages: rawPrompt, ...rawSettings } = args;

return {
stream: response,
rawCall: { rawPrompt, rawSettings },
rawResponse: { headers: responseHeaders },
warnings: [],
};
}

async doStream(
options: Parameters<LanguageModelV1['doStream']>[0],
): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>> {
Expand Down

0 comments on commit 77c64d3

Please sign in to comment.