소스 검색

Feat: Write the thinking style in the MarkdownContent layer #4930 (#5091)

### What problem does this PR solve?

Feat: Write the thinking style in the MarkdownContent layer #4930

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
tags/v0.17.0
balibabu 8 달 전
부모
커밋
f8b80f3f93
No account linked to committer's email address

+ 0
- 7
web/src/components/message-item/index.less 파일 보기

@@ -20,13 +20,6 @@
& > p {
margin: 0;
}
:global(section.think) {
padding-left: 10px;
color: #8b8b8b;
border-left: 2px solid #d5d3d3;
margin-bottom: 10px;
font-size: 12px;
}
}
.messageText {
.chunkText();

+ 10
- 0
web/src/pages/chat/markdown-content/index.less 파일 보기

@@ -1,3 +1,13 @@
.markdownContentWrapper {
:global(section.think) {
padding-left: 10px;
color: #8b8b8b;
border-left: 2px solid #d5d3d3;
margin-bottom: 10px;
font-size: 12px;
}
}

.referencePopoverWrapper {
max-width: 50vw;
}

+ 2
- 1
web/src/pages/chat/markdown-content/index.tsx 파일 보기

@@ -52,7 +52,7 @@ const MarkdownContent = ({
}
const nextText = replaceTextByOldReg(text);
return loading
? nextText?.concat('~~2$$')
? nextText?.concat('~~2$$') // TODO: The style of thinking also needs to be displayed when outputting
: pipe(replaceThinkToSection, preprocessLaTeX)(nextText);
}, [content, loading, t]);

@@ -186,6 +186,7 @@ const MarkdownContent = ({
<Markdown
rehypePlugins={[rehypeWrapReference, rehypeKatex, rehypeRaw]}
remarkPlugins={[remarkGfm, remarkMath]}
className={styles.markdownContentWrapper}
components={
{
'custom-typography': ({ children }: { children: string }) =>

+ 1
- 1
web/src/utils/chat.ts 파일 보기

@@ -50,7 +50,7 @@ export const preprocessLaTeX = (content: string) => {
return inlineProcessedContent;
};

export function replaceThinkToSection(text: string) {
export function replaceThinkToSection(text: string = '') {
const pattern = /<think>([\s\S]*?)<\/think>/g;

const result = text.replace(pattern, '<section class="think">$1</section>');

Loading…
취소
저장