IBM/prompt-declaration-language
Prompt Declaration Language (PDL) is a declarative prompt programming language.
해결하는 문제
소프트웨어 시스템에 쉽게 통합할 수 있는 신뢰성 있고 조합 가능한 LLM 프롬프트를 만드는 어려움을 해결합니다. 프롬프트를 하드코딩하는 대신, 구조적이고 선언적인 방식으로 관리함으로써 프롬프트 엔지니어링의 취약성을 줄입니다.
작동 방식
PDL은 YAML 기반의 선언형 언어를 사용하여 프롬프트 템플릿, 모델 호출, 로직을 지정합니다. CLI 도구는 이러한 프로그램을 해석하여 메시지를 누적하고, 호스팅된 또는 로컬 모델(예: Ollama를 통한 모델)로 전송합니다. 변수, 조건문, 반복문, 함수를 지원하며, 프롬프트 흐름 내에서 직접 Python 코드 실행 및 REST API 호출을 통합할 수 있습니다.
대상 사용자
복잡한 LLM 기반 애플리케이션을 구축하고 싶은 개발자로서, 프롬프트 엔지니어링, 디버깅, 전통적인 규칙 기반 시스템과의 통합에 구조적인 접근을 원하는 사람.
주요 기능
- 선언형 프롬프트: YAML을 사용해 프롬프트 흐름을 정의하여 원시 문자열보다 관리하기 쉬움.
- 통합된 제어 흐름: 변수, 반복문, 조건문을 지원하여 동적 프롬프트 생성 가능.
- 하이브리드 실행: LLM 호출과 네이티브 Python 코드 실행 및 API 호출을 결합.
- 개발자 도구: Python SDK, 인터랙티브 디버깅 및 실시간 프로그래밍을 위한 GUI, 모델 I/O에 대한 타입 체크 포함.
- 프롬프트 최적화: AutoPDL이라는 도구를 통해 텍스트 프롬프트, 소수 샘플 예시, 프롬프트 패턴을 최적화할 수 있음.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트