mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 16:23:41 +08:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			dependabot
			...
			58e1b9e39e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					58e1b9e39e | ||
| 
						 | 
					e2429d444b | ||
| 
						 | 
					c15dbf5296 | 
@@ -117,7 +117,7 @@ export class DoubaoApi implements LLMApi {
 | 
			
		||||
    options.onController?.(controller);
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      const chatPath = this.path(ByteDance.ChatPath);
 | 
			
		||||
      const chatPath = this.path(ByteDance.ChatPath(modelConfig.model));
 | 
			
		||||
      const chatPayload = {
 | 
			
		||||
        method: "POST",
 | 
			
		||||
        body: JSON.stringify(requestPayload),
 | 
			
		||||
 
 | 
			
		||||
@@ -1868,7 +1868,7 @@ function _Chat() {
 | 
			
		||||
                            </div>
 | 
			
		||||
                            {!isUser && (
 | 
			
		||||
                              <div className={styles["chat-model-name"]}>
 | 
			
		||||
                                {message.model}
 | 
			
		||||
                                {message.modelDisplayName ?? message.model}
 | 
			
		||||
                              </div>
 | 
			
		||||
                            )}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -82,7 +82,11 @@ export function Avatar(props: { model?: ModelType; avatar?: string }) {
 | 
			
		||||
      LlmIcon = BotIconGrok;
 | 
			
		||||
    } else if (modelName.startsWith("hunyuan")) {
 | 
			
		||||
      LlmIcon = BotIconHunyuan;
 | 
			
		||||
    } else if (modelName.startsWith("doubao") || modelName.startsWith("ep-")) {
 | 
			
		||||
    } else if (
 | 
			
		||||
      modelName.startsWith("doubao") ||
 | 
			
		||||
      modelName.startsWith("ep-") ||
 | 
			
		||||
      modelName.startsWith("bot-")
 | 
			
		||||
    ) {
 | 
			
		||||
      LlmIcon = BotIconDoubao;
 | 
			
		||||
    } else if (
 | 
			
		||||
      modelName.includes("glm") ||
 | 
			
		||||
 
 | 
			
		||||
@@ -216,7 +216,13 @@ export const Baidu = {
 | 
			
		||||
 | 
			
		||||
export const ByteDance = {
 | 
			
		||||
  ExampleEndpoint: "https://ark.cn-beijing.volces.com/api/",
 | 
			
		||||
  ChatPath: "api/v3/chat/completions",
 | 
			
		||||
  ChatPath: (modelName: string) => {
 | 
			
		||||
    if (modelName.startsWith("bot-")) {
 | 
			
		||||
      return "api/v3/bots/chat/completions";
 | 
			
		||||
    } else {
 | 
			
		||||
      return "api/v3/chat/completions";
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const Alibaba = {
 | 
			
		||||
 
 | 
			
		||||
@@ -60,6 +60,7 @@ export type ChatMessage = RequestMessage & {
 | 
			
		||||
  isError?: boolean;
 | 
			
		||||
  id: string;
 | 
			
		||||
  model?: ModelType;
 | 
			
		||||
  modelDisplayName?: string;
 | 
			
		||||
  tools?: ChatMessageTool[];
 | 
			
		||||
  audio_url?: string;
 | 
			
		||||
  isMcpResponse?: boolean;
 | 
			
		||||
@@ -151,6 +152,24 @@ function getSummarizeModel(
 | 
			
		||||
  return [currentModel, providerName];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getModelDisplayName(
 | 
			
		||||
  model: ModelType,
 | 
			
		||||
  providerName: ServiceProvider,
 | 
			
		||||
): string | undefined {
 | 
			
		||||
  const configStore = useAppConfig.getState();
 | 
			
		||||
  const accessStore = useAccessStore.getState();
 | 
			
		||||
  const allModel = collectModelsWithDefaultModel(
 | 
			
		||||
    configStore.models,
 | 
			
		||||
    [configStore.customModels, accessStore.customModels].join(","),
 | 
			
		||||
    accessStore.defaultModel,
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  const matchedModel = allModel.find(
 | 
			
		||||
    (m) => m.name === model && m.provider?.providerName === providerName,
 | 
			
		||||
  );
 | 
			
		||||
  return matchedModel ? matchedModel.displayName : undefined;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function countMessages(msgs: ChatMessage[]) {
 | 
			
		||||
  return msgs.reduce(
 | 
			
		||||
    (pre, cur) => pre + estimateTokenLength(getMessageTextContent(cur)),
 | 
			
		||||
@@ -437,6 +456,10 @@ export const useChatStore = createPersistStore(
 | 
			
		||||
          role: "assistant",
 | 
			
		||||
          streaming: true,
 | 
			
		||||
          model: modelConfig.model,
 | 
			
		||||
          modelDisplayName: getModelDisplayName(
 | 
			
		||||
            modelConfig.model,
 | 
			
		||||
            modelConfig.providerName,
 | 
			
		||||
          ),
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // get recent messages
 | 
			
		||||
 
 | 
			
		||||
@@ -304,7 +304,9 @@ export function getTimeoutMSByModel(model: string) {
 | 
			
		||||
    model.startsWith("o1") ||
 | 
			
		||||
    model.startsWith("o3") ||
 | 
			
		||||
    model.includes("deepseek-r") ||
 | 
			
		||||
    model.includes("-thinking")
 | 
			
		||||
    model.includes("-thinking") ||
 | 
			
		||||
    model.startsWith("ep-") ||
 | 
			
		||||
    model.startsWith("bot-")
 | 
			
		||||
  )
 | 
			
		||||
    return REQUEST_TIMEOUT_MS_FOR_THINKING;
 | 
			
		||||
  return REQUEST_TIMEOUT_MS;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user