From 888ebe07fd28382c5fa351e9fe4c55e6b89d82c7 Mon Sep 17 00:00:00 2001 From: Marco Braga Date: Wed, 26 Feb 2025 12:09:30 +0100 Subject: [PATCH] Fix for issue https://github.com/GetStream/ai-assistant-nodejs/issues/4 (aggregated text delta is wrong) --- .gitignore | 1 + src/agents/openai/OpenAIAgent.ts | 3 ++- src/agents/openai/OpenAIResponseHandler.ts | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 540b9c1..0678c5f 100644 --- a/.gitignore +++ b/.gitignore @@ -85,6 +85,7 @@ web_modules/ # Stores VSCode versions used for testing VSCode extensions .vscode-test +.vscode # yarn v2 .yarn/cache diff --git a/src/agents/openai/OpenAIAgent.ts b/src/agents/openai/OpenAIAgent.ts index d91da84..a6e04e4 100644 --- a/src/agents/openai/OpenAIAgent.ts +++ b/src/agents/openai/OpenAIAgent.ts @@ -102,8 +102,9 @@ export class OpenAIAgent implements AIAgent { message_id: channelMessage.id, }); - const run = this.openai.beta.threads.runs.stream(this.openAiThread.id, { + const run = await this.openai.beta.threads.runs.create(this.openAiThread.id, { assistant_id: this.assistant.id, + stream: true }); const handler = new OpenAIResponseHandler( diff --git a/src/agents/openai/OpenAIResponseHandler.ts b/src/agents/openai/OpenAIResponseHandler.ts index 777a53d..853abe7 100644 --- a/src/agents/openai/OpenAIResponseHandler.ts +++ b/src/agents/openai/OpenAIResponseHandler.ts @@ -1,6 +1,7 @@ import axios from 'axios'; import OpenAI from 'openai'; import type { AssistantStream } from 'openai/lib/AssistantStream'; +import { Stream } from 'openai/streaming'; import type { Channel, MessageResponse, StreamChat } from 'stream-chat'; export class OpenAIResponseHandler { @@ -11,7 +12,7 @@ export class OpenAIResponseHandler { constructor( private readonly openai: OpenAI, private readonly openAiThread: OpenAI.Beta.Threads.Thread, - private readonly assistantStream: AssistantStream, + private readonly assistantStream: AssistantStream | Stream, private readonly chatClient: StreamChat, private readonly channel: Channel, private readonly message: MessageResponse,