krypticmouse/DSRs

Performance centered DSPy rewrite to(not port) Rust

해결하는 문제

DSRs는 LM 기반 애플리케이션을 구축하기 위한 DSPy 프레임워크의 고성능, 타입 안전한 대안을 제공합니다. 수동 프롬프트 설계 대신, 훈련 데이터와 메트릭을 사용하여 프롬프트와 파이프라인 구조를 자동으로 최적화할 수 있는 프로그래밍 기반 접근 방식을 도입합니다.

작동 방식

정적 프롬프트를 작성하는 대신 개발자는 Signature(입출력 사양)과 Module(조합 가능한 파이프라인 컴포넌트)를 정의합니다. 프레임워크는 Predictor를 사용하여 언어 모델과 상호작용하며, API 기반 및 Ollama와 같은 로컬 백엔드를 모두 지원합니다.

성능을 향상시키기 위해 DSRs는 평가 메트릭과 훈련 예제를 기반으로 프롬프트를 반복적으로 개선하거나 새로운 프롬프트를 생성하는 여러 Optimizers(COPRO, MIPROv2, GEPA 등)를 포함하고 있습니다. 이는 정확도를 높이기 위해 파이프라인을 "컴파일"하는 효과를 줍니다.

대상 사용자

Rust의 성능, 메모리 안전성, 동시성의 이점을 활용해 LLM 애플리케이션을 개발하고자 하며, 수동 프롬프트 튜닝에서 데이터 기반의 자동 최적화 프로세스로 전환하고자 하는 개발자들.

주요 특징

  • 자동 프롬프트 최적화: COPRO, MIPROv2, GEPA 등의 다양한 최적화 도구를 포함하여 데이터 기반으로 지시문을 개선합니다.
  • 타입 안전한 시그니처: Rust의 타입 시스템을 사용해 LM 상호작용을 위한 엄격한 입력/출력 사양을 정의합니다.
  • 유연한 백엔드 지원: OpenAI 및 vLLM, Ollama를 통한 로컬 모델 등 다양한 LM 제공업체를 지원합니다.
  • 내장 평가 기능: 메트릭 정의 및 테스트 세트에서 평가를 실행할 수 있는 프레임워크를 제공합니다.
  • 사고 체인 (CoT): 어떤 시그니처에도 추론 단계를 추가할 수 있는 내장 지원이 있습니다.
  • 실행 추적: 데이터 흐름을 방향성 비순환 그래프(DAG)로 기록하는 추적 시스템으로 디버깅 및 분석에 활용됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트