Implementation:Infiniflow Ragflow Chat Utils
| Knowledge Sources | |
|---|---|
| Domains | Frontend, Chat, Text_Processing |
| Last Updated | 2026-02-12 06:00 GMT |
Overview
Concrete utility functions for chat message processing including LaTeX delimiter conversion, citation extraction, and message formatting in the RAGFlow frontend.
Description
The utils/chat.ts module provides functions for: converting LaTeX delimiters between different formats, extracting citation references from AI responses using regex patterns, formatting message content for display, and handling special markdown patterns in chat output.
Usage
Import these utilities in chat message rendering components, markdown processors, and anywhere AI-generated text needs post-processing before display.
Code Reference
Source Location
- Repository: Infiniflow_Ragflow
- File: web/src/utils/chat.ts
- Lines: 1-95
Signature
export function replaceLatexDelimiters(text: string): string;
export function extractCitations(text: string): { text: string; citations: number[] };
export function formatMessageContent(content: string): string;
Import
import { replaceLatexDelimiters, extractCitations } from '@/utils/chat';
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| text | string | Yes | Raw AI response or chat message text |
Outputs
| Name | Type | Description |
|---|---|---|
| replaceLatexDelimiters() | string | Text with standardized LaTeX delimiters |
| extractCitations() | object | Processed text and citation indices |
Usage Examples
import { replaceLatexDelimiters, extractCitations } from '@/utils/chat';
const processed = replaceLatexDelimiters("\\(x^2\\)"); // "$x^2$"
const { text, citations } = extractCitations("Answer ##1## content ##2##");
// text: "Answer [1] content [2]", citations: [1, 2]