forked from XiaoMo/ChatGPT-Next-Web
fix: #1815 refuse to serve when disable gpt4
This commit is contained in:
parent
2ebc26953d
commit
37da759fd5
@ -1,9 +1,10 @@
|
|||||||
import { NextRequest } from "next/server";
|
import { NextRequest, NextResponse } from "next/server";
|
||||||
|
|
||||||
export const OPENAI_URL = "api.openai.com";
|
export const OPENAI_URL = "api.openai.com";
|
||||||
const DEFAULT_PROTOCOL = "https";
|
const DEFAULT_PROTOCOL = "https";
|
||||||
const PROTOCOL = process.env.PROTOCOL ?? DEFAULT_PROTOCOL;
|
const PROTOCOL = process.env.PROTOCOL ?? DEFAULT_PROTOCOL;
|
||||||
const BASE_URL = process.env.BASE_URL ?? OPENAI_URL;
|
const BASE_URL = process.env.BASE_URL ?? OPENAI_URL;
|
||||||
|
const DISABLE_GPT4 = !!process.env.DISABLE_GPT4;
|
||||||
|
|
||||||
export async function requestOpenai(req: NextRequest) {
|
export async function requestOpenai(req: NextRequest) {
|
||||||
const controller = new AbortController();
|
const controller = new AbortController();
|
||||||
@ -41,10 +42,30 @@ export async function requestOpenai(req: NextRequest) {
|
|||||||
},
|
},
|
||||||
cache: "no-store",
|
cache: "no-store",
|
||||||
method: req.method,
|
method: req.method,
|
||||||
body: req.body,
|
body: req.clone().body,
|
||||||
signal: controller.signal,
|
signal: controller.signal,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// #1815 try to refuse gpt4 request
|
||||||
|
if (DISABLE_GPT4) {
|
||||||
|
try {
|
||||||
|
const clonedBody = await req.clone().json();
|
||||||
|
if ((clonedBody?.model ?? "").includes("gpt-4")) {
|
||||||
|
return NextResponse.json(
|
||||||
|
{
|
||||||
|
error: true,
|
||||||
|
message: "you are not allowed to use gpt-4 model",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
status: 403,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error("[OpenAI] gpt4 filter", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(fetchUrl, fetchOptions);
|
const res = await fetch(fetchUrl, fetchOptions);
|
||||||
|
|
||||||
|
@ -68,14 +68,6 @@ export const ALL_MODELS = [
|
|||||||
name: "gpt-4-32k-0314",
|
name: "gpt-4-32k-0314",
|
||||||
available: ENABLE_GPT4,
|
available: ENABLE_GPT4,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: "gpt-4-mobile",
|
|
||||||
available: ENABLE_GPT4,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "text-davinci-002-render-sha-mobile",
|
|
||||||
available: true,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
name: "gpt-3.5-turbo",
|
name: "gpt-3.5-turbo",
|
||||||
available: true,
|
available: true,
|
||||||
|
@ -84,7 +84,7 @@ export const useUpdateStore = create<UpdateStore>()(
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
showToast((e as Error).message);
|
console.error((e as Error).message);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
|
Loading…
Reference in New Issue
Block a user