promptimal
1.0.0
AIプロンプトを迅速に改善するためのCLI。データセットは必要ありません。
プロンプトと改善したいものの説明を提出してください。 Prostimalは、遺伝的アルゴリズムを使用して、オリジナルよりも優れているまでプロンプトを反復的に改良します。 LLMは、プロセスをガイドするために変更されたプロンプトを評価しますが、独自の評価機能を定義することもできます。

> pipx install promptimalインストールしたら、OpenAI APIキーが環境に追加されていることを確認してください。
> export OPENAI_API_KEY= " ... " ターミナルからツールを開きます:
> promptimal最初のプロンプトと改善したいものを入力するように求められます。または、これらの入力をコマンドライン引数として指定することもできます。
> promptimal
--prompt " You will be provided with a piece of code, and your task is to explain it in a concise way. "
--improve " Summaries need to include less code references and be more high-level. "完了したら、最適化プロセスを監視するためにターミナルでUIを開きます。

追加のコマンドライン引数を渡すことにより、最適化パラメーターを制御できます。
> promptimal --num_iters=10 --num_samples=20 --threshold=0.7num_iters :最適化ループを実行するための反復回数。進化的アルゴリズムの「世代」の数に相当します。num_samples :各反復で生成する候補プロンプトの数。進化的アルゴリズムの「人口規模」に相当します。threshold :ループの終端しきい値。候補プロンプトがこのしきい値よりも高いスコアを取得すると、最適化ループが停止します。デフォルトは1.0です。デフォルトでは、ProspimalはLLM-As-Judgeアプローチ(自己整合性のある)を使用して、迅速な候補者を評価します。ただし、パフォーマンスを向上させるには、データセットに対してプロンプトを評価するか、他の評価手法を使用する場合があります。これを行うには、最初にevaluator.pyというPythonファイルを作成します。次に、以下のコードをそのファイルにコピー/貼り付け、独自の評価関数を定義します。
import argparse
def evaluator ( prompt : str ) -> float :
# Your code goes here
# Must return value between 0 and 1
def main ():
parser = argparse . ArgumentParser ()
parser . add_argument ( "--prompt" , required = True , type = str )
args = parser . parse_args ()
score = evaluator ( args . prompt )
print ( score )
if __name__ == "__main__" :
main ()終了したら、spentimalを実行するときにevaluator.pyへのパスを指定します。
> promptimal --evaluator= " path/to/evaluator.py "このファイルは、プロンプトがプロンプトを評価するために使用するスクリプトとして効果的に機能します。