fix(chat): support non-streaming chat completion requests #5565
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follow up on #5508
CLOSE https://linear.app/sourcegraph/issue/CODY-3741/oai-o1-hits-parsing-error
This change adds support for non-streaming requests, particularly for new OpenAI models that do not support streaming. It also fixes a "Parse Error: JS exception" issue that occurred when handling non-streaming responses in the streaming client.
_fetchWithCallbacks
method in theSourcegraphCompletionsClient
class to handle non-streaming requestsSourcegraphNodeCompletionsClient
andSourcegraphBrowserCompletionsClient
classes to use the new_fetchWithCallbacks
method whenparams.stream
isfalse
The
SourcegraphCompletionsClient
class now has a new abstract method_fetchWithCallbacks
that must be implemented by subclassesTest plan
Verify that chat requests using non-streaming models (e.g., OpenAI O1, OpenAI O1-mini) work correctly without any parsing errors. Example: ask Cody about cody repo with "cody what are the latest updates in this repo?"
After
First try
Second try
Before
First try
Changelog
feat(chat): support non-streaming requests