fix typescript error

This commit is contained in:
lloydzhou 2024-08-02 18:50:48 +08:00
parent 1c24ca58c7
commit 46cb48023e
5 changed files with 14 additions and 5 deletions

View File

@ -6,7 +6,7 @@ import {
ServiceProvider, ServiceProvider,
} from "../constant"; } from "../constant";
import { ChatMessage, ModelType, useAccessStore, useChatStore } from "../store"; import { ChatMessage, ModelType, useAccessStore, useChatStore } from "../store";
import { ChatGPTApi } from "./platforms/openai"; import { ChatGPTApi, DalleRequestPayload } from "./platforms/openai";
import { GeminiProApi } from "./platforms/google"; import { GeminiProApi } from "./platforms/google";
import { ClaudeApi } from "./platforms/anthropic"; import { ClaudeApi } from "./platforms/anthropic";
import { ErnieApi } from "./platforms/baidu"; import { ErnieApi } from "./platforms/baidu";
@ -42,6 +42,7 @@ export interface LLMConfig {
stream?: boolean; stream?: boolean;
presence_penalty?: number; presence_penalty?: number;
frequency_penalty?: number; frequency_penalty?: number;
size?: DalleRequestPayload["size"];
} }
export interface ChatOptions { export interface ChatOptions {

View File

@ -13,6 +13,7 @@ import { useAccessStore, useAppConfig, useChatStore } from "@/app/store";
import { collectModelsWithDefaultModel } from "@/app/utils/model"; import { collectModelsWithDefaultModel } from "@/app/utils/model";
import { preProcessImageContent } from "@/app/utils/chat"; import { preProcessImageContent } from "@/app/utils/chat";
import { cloudflareAIGatewayUrl } from "@/app/utils/cloudflare"; import { cloudflareAIGatewayUrl } from "@/app/utils/cloudflare";
import { DalleSize } from "@/app/typing";
import { import {
ChatOptions, ChatOptions,
@ -63,7 +64,7 @@ export interface DalleRequestPayload {
model: string; model: string;
prompt: string; prompt: string;
n: number; n: number;
size: "1024x1024" | "1792x1024" | "1024x1792"; size: DalleSize;
} }
export class ChatGPTApi implements LLMApi { export class ChatGPTApi implements LLMApi {
@ -141,7 +142,9 @@ export class ChatGPTApi implements LLMApi {
const isDalle3 = _isDalle3(options.config.model); const isDalle3 = _isDalle3(options.config.model);
if (isDalle3) { if (isDalle3) {
const prompt = getMessageTextContent(options.messages.slice(-1)?.pop()); const prompt = getMessageTextContent(
options.messages.slice(-1)?.pop() as any,
);
requestPayload = { requestPayload = {
model: options.config.model, model: options.config.model,
prompt, prompt,

View File

@ -69,6 +69,7 @@ import { uploadImage as uploadImageRemote } from "@/app/utils/chat";
import dynamic from "next/dynamic"; import dynamic from "next/dynamic";
import { ChatControllerPool } from "../client/controller"; import { ChatControllerPool } from "../client/controller";
import { DalleSize } from "../typing";
import { Prompt, usePromptStore } from "../store/prompt"; import { Prompt, usePromptStore } from "../store/prompt";
import Locale from "../locales"; import Locale from "../locales";
@ -484,9 +485,9 @@ export function ChatActions(props: {
const [showUploadImage, setShowUploadImage] = useState(false); const [showUploadImage, setShowUploadImage] = useState(false);
const [showSizeSelector, setShowSizeSelector] = useState(false); const [showSizeSelector, setShowSizeSelector] = useState(false);
const dalle3Sizes = ["1024x1024", "1792x1024", "1024x1792"]; const dalle3Sizes: DalleSize[] = ["1024x1024", "1792x1024", "1024x1792"];
const currentSize = const currentSize =
chatStore.currentSession().mask.modelConfig?.size || "1024x1024"; chatStore.currentSession().mask.modelConfig?.size ?? "1024x1024";
useEffect(() => { useEffect(() => {
const show = isVisionModel(currentModel); const show = isVisionModel(currentModel);

View File

@ -1,4 +1,5 @@
import { LLMModel } from "../client/api"; import { LLMModel } from "../client/api";
import { DalleSize } from "../typing";
import { getClientConfig } from "../config/client"; import { getClientConfig } from "../config/client";
import { import {
DEFAULT_INPUT_TEMPLATE, DEFAULT_INPUT_TEMPLATE,
@ -60,6 +61,7 @@ export const DEFAULT_CONFIG = {
compressMessageLengthThreshold: 1000, compressMessageLengthThreshold: 1000,
enableInjectSystemPrompts: true, enableInjectSystemPrompts: true,
template: config?.template ?? DEFAULT_INPUT_TEMPLATE, template: config?.template ?? DEFAULT_INPUT_TEMPLATE,
size: "1024x1024" as DalleSize,
}, },
}; };

View File

@ -7,3 +7,5 @@ export interface RequestMessage {
role: MessageRole; role: MessageRole;
content: string; content: string;
} }
export type DalleSize = "1024x1024" | "1792x1024" | "1024x1792";