Gabriella439/grace
A prompt engineering functional programming language
何を解決するか
Grace はモデルへのプロンプト作成に特化したドメイン固有言語(DSL)です。モデルとのインタラクションを言語構文に直接統合することで、複雑なプロンプトチェーンの作成や、LLMからの構造化データの自動生成を簡素化します。
動作方法
Grace はプロンプトを一等級の概念として扱います。組み込みの prompt 関数は、型注釈に基づいて構造化データを返すことができます。言語の型チェッカーは、出力が後のコードでどのように使われるかを逆に推論することで、モデル出力を制約するための必要な JSON スキーマを自動的に推論できます。型が十分に記述されていれば、プロンプト本文を省略することも可能になります。
さらに、import prompt キーワードにより「コード生成」をサポートしており、モデルに特定の型を持つ Grace 式や関数を生成させ、同じプログラム内で実行できるようにします。
対象ユーザー
手動で JSON スキーマやボイラープレートコードを管理せずに、よりプログラム的で型安全な方法でプロンプトチェーンや LLM 駆動アプリケーションを構築したい開発者。
特徴
- 統合されたモデルサポート:モデルプロンプトは言語に直接組み込まれており、外部のインポートや依存関係は不要です。
- 型駆動のプロンプト:型注釈を使ってモデルの制約に適した JSON スキーマを自動生成します。
- 型推論:結果がループや変数代入でどのように使われるかに基づいて、必要な出力形式を推論します。
- チューリング完全なコード生成:LLM を使って Grace コードを動的に生成・実行できます。
- インタラクティブ環境:ブラウザベースのプレイグラウンドとコマンドライン REPL の両方を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト