Merge pull request #1554 from yanCode/fix/non-stream-responses

fix: #1533 handle non-stream type
This commit is contained in:
Yifei Zhang 2023-05-17 10:41:32 +08:00 committed by GitHub
commit 94ab5c7abf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,7 +3,10 @@ import { useAccessStore, useAppConfig, useChatStore } from "@/app/store";
import { ChatOptions, getHeaders, LLMApi, LLMUsage } from "../api";
import Locale from "../../locales";
import { fetchEventSource } from "@microsoft/fetch-event-source";
import {
EventStreamContentType,
fetchEventSource,
} from "@microsoft/fetch-event-source";
import { prettyObject } from "@/app/utils/format";
export class ChatGPTApi implements LLMApi {
@ -79,6 +82,13 @@ export class ChatGPTApi implements LLMApi {
...chatPayload,
async onopen(res) {
clearTimeout(requestTimeoutId);
if (
res.ok &&
res.headers.get("content-type") !== EventStreamContentType
) {
responseText += await res.clone().json();
return finish();
}
if (res.status === 401) {
let extraInfo = { error: undefined };
try {