Gabriella439/grace

A prompt engineering functional programming language

해결하는 문제

Grace는 모델 프롬프팅에 특화된 도메인 전용 언어(DSL)입니다. 모델 상호작용을 언어 구문에 직접 통합함으로써 복잡한 프롬프트 체인 생성과 LLM에서 구조화된 데이터 자동 생성을 간소화합니다.

작동 방식

Grace는 프롬프팅을 일급 시민으로 간주합니다. 내장된 prompt 함수는 타입 주석에 따라 구조화된 데이터를 반환할 수 있습니다. 언어의 타입 체커는 출력이 후속 코드에서 어떻게 사용되는지 역으로 추론하여, 모델 출력을 제약하기 위한 필요한 JSON 스키마를 자동으로 추론할 수 있습니다. 타입이 충분히 설명적이라면 프롬프트 텍스트 자체를 생략할 수도 있습니다.

또한 import prompt 키워드를 통해 "코드 생성"을 지원하며, 모델이 특정 타입의 Grace 표현식 또는 함수를 생성하도록 요청하고, 동일한 프로그램 내에서 실행할 수 있습니다.

대상 사용자

수동으로 JSON 스키마나 부가 코드를 관리하지 않고도, 더 프로그래밍적이고 타입 안전한 방식으로 프롬프트 체인과 LLM 기반 애플리케이션을 구축하고자 하는 개발자들.

주요 기능

  • 통합된 모델 지원: 모델 프롬프팅이 언어에 직접 내장되어 있으며, 외부 임포트나 종속성 없이 사용 가능합니다.
  • 타입 기반 프롬프팅: 타입 주석을 사용해 모델 제약 조건에 적합한 JSON 스키마를 자동 생성합니다.
  • 타입 추론: 결과가 루프나 변수 할당에서 어떻게 사용되는지에 따라 필요한 출력 형식을 추론합니다.
  • 튜링 완전한 코드 생성: LLM을 사용해 Grace 코드를 실시간으로 생성하고 실행할 수 있습니다.
  • 인터랙티브 환경: 브라우저 기반 플레이그라운드와 명령줄 REPL을 모두 제공합니다.

관련

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