microsoft/SwiftStreamingMarkdown
A performant markdown library for iOS & macOS that supports streaming
해결하는 문제
SwiftStreamingMarkdown는 대규모 언어 모델(LLM)에서 실시간으로 텍스트를 스트리밍하는 채팅 형식의 사용자 인터페이스를 위해 설계되었습니다. 기존의 Markdown 렌더러는 새로운 텍스트가 도착할 때마다 뷰를 업데이트하면서 UI 정지나 거친 전환을 유발하는 경우가 많습니다. 이 라이브러리는 스무스한 고성능 스트리밍 전환과 최적화된 렌더링을 제공하여 iOS 및 macOS에서 원활한 사용자 경험을 유지합니다.
작동 방식
이 라이브러리는 StreamedMarkdownSource를 소비하는 전용 StreamedMarkdownView를 제공합니다. 전체 문서를 다시 렌더링하는 대신, 도착하는 텍스트 스냅샷을 단계적으로 파싱하고 렌더링하여 메인 스레드 작업을 최소화하여 UI 지연을 방지합니다. CommonMark 및 GitHub 플레이버 Markdown의 하위 집합을 타겟으로 하며, LLM이 일반적으로 생성하는 유형의 응답에 특화되어 있습니다.
대상 사용자
iOS 및 macOS용 AI 채팅 애플리케이션을 개발하고 있으며, 복잡한 요소(예: LaTeX 수식, 인용)를 지원하는 전문적이고 완성도 높은 스트리밍 텍스트 경험을 필요로 하는 개발자.
주요 특징
- 스무스한 스트리밍: 새로 수신된 텍스트에 내장된 애니메이션으로 갑작스러운 업데이트를 방지.
- LLM 최적화: 테이블, 코드 블록, 작업 목록 등 LLM이 자주 생성하는 구문을 특별히 지원.
- 고급 렌더링: 인라인 및 블록 수식에 대한 네이티브 LaTeX 수식 렌더링 지원.
- 소스 기반: 소스 기반 LLM 응답을 지원하기 위한 전용 인라인 인용 펠릿(UI) 포함.
- 사용자 정의 가능:
MarkdownRenderConfig를 통해 타이포그래피 및 테마를 고도로 구성 가능. - 이벤트 추적: 분석 및 상호작용 추적을 위한
MarkdownListener를 통한 내장 훅 제공.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트