- Outlines는 신경망 텍스트 생성을 위한 라이브러리로, transformers 라이브러리의 generate 메소드를 대체하기 위해 더 유연하게 설계되었습니다.
- 개발자들이 정규 표현식을 따르거나 JSON 스키마를 따르는 출력을 보장하면서 견고한 인터페이스를 구축하는 데 도움이 됩니다.
- 이 라이브러리는 몇 번의 샷 생성, ReAct, 메타-프롬프팅, 에이전트 등을 단순하게 구현할 수 있도록 프롬프팅과 실행 로직을 분리하는 견고한 프롬프팅 기본 요소를 제공합니다.
- Outlines는 더 넓은 생태계와 호환되도록 설계되었으며, 가능한 한 적은 추상화를 사용하며, 제어 흐름, 조건문, 사용자 정의 Python 함수, 다른 라이브러리에 대한 호출과 함께 생성을 교차할 수 있습니다.
- 모든 모델과 호환되며, 다음 토큰 로짓을 통해 모델과 인터페이스를 제공합니다. 또한 API 기반 모델과 함께 사용할 수 있습니다.
- 이 라이브러리는 Jinja 템플릿 엔진을 기반으로 한 간단하고 강력한 프롬프팅 기본 요소, 가이드 생성, 빠른 정규 표현식 가이드 생성, JSON 스키마 또는 Pydantic 모델을 따르는 빠른 JSON 생성, HuggingFace의 transformers 모델과의 통합을 특징으로 합니다.
- Outlines는 PyPi에서 사용할 수 있으며
pip install outlines
명령어를 사용하여 설치할 수 있습니다.
- 이 라이브러리는 주어진 시퀀스가 발견된 후 생성을 조기에 중단하거나, 여러 가능성 사이에서 선택으로 완성을 축소하거나, 모델에 정수 또는 실수만 반환하도록 지시하는 기능을 허용합니다.
- 또한 빠른 정규 표현식 가이드 생성과 Pydantic 모델을 따르는 효율적인 JSON 생성이 포함되어 있습니다.
- Outlines는 "템플릿 함수" 내에 템플릿을 캡슐화함으로써 프롬프트 로직과 일반 프로그램 로직을 분리하고 프롬프트 작성과 관리를 더 쉽게 만듭니다.
- 이 라이브러리는 언어 모델이 추가 정보를 얻거나 작업을 수행하기 위해 외부 함수를 호출할 수 있도록 허용하며, 함수의 설명을 프롬프트에 인코딩합니다.
- Outlines는 오픈 소스이며 Apache License 2.0에 따라 라이선스가 부여됩니다.