mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-05-19 20:20:16 +09:00
feat: Remove reasoning_contentfor DeepSeek API messages
This commit is contained in:
parent
c449737127
commit
dabb7c70d5
@ -22,7 +22,10 @@ import {
|
|||||||
SpeechOptions,
|
SpeechOptions,
|
||||||
} from "../api";
|
} from "../api";
|
||||||
import { getClientConfig } from "@/app/config/client";
|
import { getClientConfig } from "@/app/config/client";
|
||||||
import { getMessageTextContent } from "@/app/utils";
|
import {
|
||||||
|
getMessageTextContent,
|
||||||
|
getMessageTextContentWithoutThinking,
|
||||||
|
} from "@/app/utils";
|
||||||
import { RequestPayload } from "./openai";
|
import { RequestPayload } from "./openai";
|
||||||
import { fetch } from "@/app/utils/stream";
|
import { fetch } from "@/app/utils/stream";
|
||||||
|
|
||||||
@ -67,8 +70,13 @@ export class DeepSeekApi implements LLMApi {
|
|||||||
async chat(options: ChatOptions) {
|
async chat(options: ChatOptions) {
|
||||||
const messages: ChatOptions["messages"] = [];
|
const messages: ChatOptions["messages"] = [];
|
||||||
for (const v of options.messages) {
|
for (const v of options.messages) {
|
||||||
const content = getMessageTextContent(v);
|
if (v.role === "assistant") {
|
||||||
messages.push({ role: v.role, content });
|
const content = getMessageTextContentWithoutThinking(v);
|
||||||
|
messages.push({ role: v.role, content });
|
||||||
|
} else {
|
||||||
|
const content = getMessageTextContent(v);
|
||||||
|
messages.push({ role: v.role, content });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const modelConfig = {
|
const modelConfig = {
|
||||||
|
30
app/utils.ts
30
app/utils.ts
@ -16,8 +16,8 @@ export function trimTopic(topic: string) {
|
|||||||
return (
|
return (
|
||||||
topic
|
topic
|
||||||
// fix for gemini
|
// fix for gemini
|
||||||
.replace(/^["“”*]+|["“”*]+$/g, "")
|
.replace(/^["""*]+|[""*]+$/g, "")
|
||||||
.replace(/[,。!?”“"、,.!?*]*$/, "")
|
.replace(/[,。!?""""、,.!?*]*$/, "")
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,6 +241,28 @@ export function getMessageTextContent(message: RequestMessage) {
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getMessageTextContentWithoutThinking(message: RequestMessage) {
|
||||||
|
let content = "";
|
||||||
|
|
||||||
|
if (typeof message.content === "string") {
|
||||||
|
content = message.content;
|
||||||
|
} else {
|
||||||
|
for (const c of message.content) {
|
||||||
|
if (c.type === "text") {
|
||||||
|
content = c.text ?? "";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Filter out thinking lines (starting with "> ")
|
||||||
|
return content
|
||||||
|
.split("\n")
|
||||||
|
.filter((line) => !line.startsWith("> ") && line.trim() !== "")
|
||||||
|
.join("\n")
|
||||||
|
.trim();
|
||||||
|
}
|
||||||
|
|
||||||
export function getMessageImages(message: RequestMessage): string[] {
|
export function getMessageImages(message: RequestMessage): string[] {
|
||||||
if (typeof message.content === "string") {
|
if (typeof message.content === "string") {
|
||||||
return [];
|
return [];
|
||||||
@ -256,9 +278,7 @@ export function getMessageImages(message: RequestMessage): string[] {
|
|||||||
|
|
||||||
export function isVisionModel(model: string) {
|
export function isVisionModel(model: string) {
|
||||||
const visionModels = useAccessStore.getState().visionModels;
|
const visionModels = useAccessStore.getState().visionModels;
|
||||||
const envVisionModels = visionModels
|
const envVisionModels = visionModels?.split(",").map((m) => m.trim());
|
||||||
?.split(",")
|
|
||||||
.map((m) => m.trim());
|
|
||||||
if (envVisionModels?.includes(model)) {
|
if (envVisionModels?.includes(model)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user