Promptwright は、ローカル LLM を使用して大規模な合成データセットを生成するために設計された Stacklok の Python ライブラリです。このライブラリは、柔軟で使いやすいインターフェイスのセットを提供し、ユーザーが即時に誘導された合成データセットを生成できるようにします。
Promptwright は redotvideo/pluto からインスピレーションを受けており、実際にはフォークとして始まりましたが、コストが法外に高価になる可能性がある OpenAI とは対照的に、ローカル LLM モデルに対するデータセットの生成を可能にするために、最終的には大幅に書き直されました。
このライブラリは Ollama と連携しているため、モデルを取得して Promptwright を実行するだけで簡単になります。
ローカル LLM クライアントの統合: Ollama ベースのモデルと対話する
構成可能な指示とプロンプト: カスタムの指示とシステム プロンプトを定義します。
Push to Hugging Face : 生成されたデータセットを Hugging Face Hub にプッシュします。
Python 3.11+
promptwright
ライブラリがインストールされました
Ollama CLI がインストールされ、実行されています (「Ollama のインストール」を参照)
Ollama 経由でプルされたモデル (「モデルの互換性」を参照)
前提条件をインストールするには、次のコマンドを使用できます。
pip インストール プロンプトライト オラマサーブ ollama pull {model_name} # 使用したいモデル
examples
ディレクトリには、ライブラリを使用してさまざまなトピック ベースのデータセットを生成する方法を示すサンプルがいくつかあります。
例を実行するには:
ollama serve
を実行して、Ollama が開始されていることを確認します。
必要なモデルがダウンロードされていることを確認します (例: llama3.2:latest
)。
選択したサンプル ファイルのmodel_name
を、ダウンロードしたモデルに設定します。
Engine = LocalDataEngine( args=LocalEngineArguments(命令="クリエイティブ ライティング プロンプトと応答例を生成します。", system_prompt="あなたはクリエイティブ ライティング インストラクターで、ライティング プロンプトと応答例を提供します。", model_name="llama3.2:latest", period =0.9, # 温度を高くすると創造的なバリエーションが増えます max_retries=2,
選択したサンプル ファイルを実行します。
Python の例/creative_writing.py
生成されたデータセットは、 dataset.save()
内で設定されている JSONL ファイルに保存されます。
{ "メッセージ": [ { "role": "system", "content": "あなたには、ユーザーを幻想的な不思議な世界に連れて行く没入型の仮想現実体験をデザインする任務が与えられています。" }、 { "role": "user", "content": "キャラクターが自分の隠れた才能を発見することについての説明文を作成します。" }、 { "role": "assistant", "content": "キャンバスを見つめながら、エマの指は自分の中に閉じ込められていた色を解き放つのをためらっているかのように、絵筆の上に浮かんでいました。ストロークは大胆な放棄から始まり、渦を巻きました。青と緑が光と影の魅惑的なダンスに溶け込み、瞬間ごとに彼女は自分自身が芸術になっていくのを感じました。彼女の本質が春の嵐の水彩画のようにキャンバスに浸透し、鮮やかな世界だけが残りました。色と創造のシンフォニー。」 } ] }
Dataset : 生成されたデータセットを管理するためのクラス。
LocalDataEngine : LLM クライアントとの対話とデータセットの生成を担当するメイン エンジン。
LocalEngineArguments : データの生成に使用される命令、システム プロンプト、モデル名の温度、再試行、およびプロンプト テンプレートを定義する構成クラス。
OllamaClient : Ollama API と対話するためのクライアント クラス
HFUploader : データセットを Hugging Face にアップロードするためのユーティリティ クラス (データセットとトークンへのパスを渡します)。
スクリプトの実行中にエラーが発生した場合は、次の一般的なトラブルシューティング手順を実行してください。
オラマを再起動します。
キオール・オラマ && オラマ・サーブ
モデルのインストールを確認します。
オラマ プル {model_name}
Ollama ログを確認してください:
ログを調べて、何が問題になったのかについての詳細なコンテキストを提供する可能性のあるエラー メッセージがないかどうかを調べます。これらのエラー メッセージは、 ~/.ollama/logs
ディレクトリにあります。
このライブラリは、ほとんどの LLM モデルで動作するはずです。これまでに次のモデルでテストされています。
LLaMA3 : このライブラリは、LLaMA モデル、特にllama3:latest
モデルで動作するように設計されています。
Mistral : このライブラリは、GPT-3 モデルのフォークである Mistral モデルと互換性があります。
今後テストする場合は、プル リクエストを作成してこのリストを更新してください。
ここで改善できる点がある場合は、問題をオープンするか、プル リクエストを送信してください。
このプロジェクトは、Apache 2 ライセンスに基づいてライセンスされています。詳細については、 LICENSE
ファイルを参照してください。