Merge remote-tracking branch 'upstream/main' into dev

# Conflicts:
#	app/api/auth.ts
#	app/client/platforms/openai.ts
#	app/components/settings.tsx
#	app/config/server.ts
#	app/constant.ts
#	app/locales/pt.ts
#	app/locales/sk.ts
#	app/locales/tw.ts
#	app/store/chat.ts
This commit is contained in:
sijinhui
2024-04-09 10:39:16 +08:00
19 changed files with 832 additions and 33 deletions

View File

@@ -41,6 +41,20 @@ export interface OpenAIListModelResponse {
}>;
}
interface RequestPayload {
messages: {
role: "system" | "user" | "assistant";
content: string | MultimodalContent[];
}[];
stream?: boolean;
model: string;
temperature: number;
presence_penalty: number;
frequency_penalty: number;
top_p: number;
max_tokens?: number;
}
export class ChatGPTApi implements LLMApi {
private disableListModels = true;
@@ -99,7 +113,7 @@ export class ChatGPTApi implements LLMApi {
},
};
const is_azure = AZURE_MODELS.includes(modelConfig.model);
const requestPayload = {
const requestPayload: RequestPayload = {
messages,
stream: options.config.stream,
model: modelConfig.model,
@@ -114,12 +128,7 @@ export class ChatGPTApi implements LLMApi {
// console.log("[Request] openai payload: ", requestPayload);
// add max_tokens to vision model
if (visionModel) {
Object.defineProperty(requestPayload, "max_tokens", {
enumerable: true,
configurable: true,
writable: true,
value: modelConfig.max_tokens,
});
requestPayload["max_tokens"] = Math.max(modelConfig.max_tokens, 4000);
}
console.log("[Request] openai payload: ", requestPayload);