- Outlinesは、ニューラルネットワークによるテキスト生成のためのライブラリで、transformersライブラリの
generateメソッドを置き換えるために、より柔軟に設計されています。
- 開発者が、正規表現やJSONスキーマに従う出力を保証しながら、堅牢なインターフェースを構築するのに役立ちます。
- このライブラリは、few-shot生成、ReAct、メタプロンプティング、エージェントなどをシンプルに実装できるよう、プロンプティングと実行ロジックを分離する堅牢なプロンプティングの基本要素を提供します。
- Outlinesは、より広いエコシステムとの互換性を保つよう設計されており、可能な限り少ない抽象化を用いながら、制御フロー、条件分岐、カスタムPython関数、他のライブラリへの呼び出しと生成処理を組み合わせることができます。
- すべてのモデルと互換性があり、次トークンのロジットを通じてモデルとインターフェースします。また、APIベースのモデルと一緒に使うこともできます。
- このライブラリは、Jinjaテンプレートエンジンを基盤としたシンプルで強力なプロンプティングの基本要素、ガイド付き生成、高速な正規表現ガイド付き生成、JSONスキーマまたはPydanticモデルに従う高速なJSON生成、HuggingFaceのtransformersモデルとの統合を特徴としています。
- OutlinesはPyPIで利用でき、
pip install outlinesコマンドでインストールできます。
- このライブラリでは、指定されたシーケンスが見つかった後に生成を早期停止したり、複数の候補の中から選択する形で補完を絞り込んだり、モデルに整数または実数のみを返すよう指示したりできます。
- また、高速な正規表現ガイド付き生成と、Pydanticモデルに従う効率的なJSON生成も含まれています。
- Outlinesは、「テンプレート関数」の中にテンプレートをカプセル化することで、プロンプトロジックと通常のプログラムロジックを分離し、プロンプトの作成と管理を容易にします。
- このライブラリは、言語モデルが追加情報の取得やタスク実行のために外部関数を呼び出せるようにし、その関数の説明をプロンプトにエンコードします。
- Outlinesはオープンソースで、Apache License 2.0の下でライセンスされています。
1件のコメント
Hacker Newsの意見
generate.regexに温度またはサンプリングパラメータが存在するかについての質問