このプロジェクトは、遺伝的アルゴリズムと機械学習技術を使用してAIプロンプトを最適化するための自動化されたシステムを実装しています。 LLMプロンプトを進化および改善するように設計されています。このレポの例は、AI駆動型の在庫スクリーニングに焦点を当てています。
詳細については、こちらをご覧ください。
このフレームワークを使用してプロンプトを最適化するのは非常に高価です!発生した費用に対して責任を負いません。コストが考慮されている場合は、最適化のためにOllamaのようなローカルLLMを使用してください。
最適化されたプロンプトの結果を確認するには、nexustrade.ioをご覧ください。 Nexustradeは、ユーザーがアルゴリズム取引戦略を作成、テスト、最適化、展開できるAIを搭載した自動取引および投資プラットフォームです。
ストックスクリーナーを使用すると、以下を含むGroundTruthsディレクトリ内の質問をすることができます。
技術的または基本的なデータに関する質問は、NexustradeのAIストックスクリーナーが答えることができます。今日無料で試してみてください!
このプロジェクトを実行する前に、次の前提条件が設定されていることを確認してください。
node.js :node.jsがインストールされていることを確認してください。 nodejs.orgからダウンロードできます。
inputs.tsを入力: inputs.tsファイルを次の形式で作成して入力します。
const inputs = [
{
text : "<Question to ask the model>" ,
foldername : "foldername_for_the_input_output" ,
} ,
] ;
export default inputs ;additionalSystemPrompts.tsを入力: additionalSystemPrompts.tsファイルを次の形式で作成および埋め込みます。 const additionalSystemPrompts = [
"System Prompt 1" ,
"System Prompt 2" ,
"System Prompt 3" ,
"System Prompt 4" ,
"System Prompt 5" ,
] ;
export default additionalSystemPrompts ;.envファイルを作成し、次の環境変数を追加します。 ANTHROPIC_API_KEY=your_anthropic_api_key
OPENAI_API_KEY=your_openai_api_key
OLLAMA_SERVICE_URL=http://localhost:11434
GOOGLE_APPLICATION_CREDENTIALS_JSON=path_to_your_google_application_credentials_json
CLOUD_DB=your_cloud_db_connection_string
LOCAL_DB=your_local_db_connection_string
MODEL_NAME=your_model_name
your_anthropic_api_key 、 your_openai_api_key 、 path_to_your_google_application_credentials_json 、 your_cloud_db_connection_string 、your_local_string、 your_local_db_connection_string 、およびyour_model_name with your_model_name with your your your contleds contleds connection contled of your googleアプリケーションのパス 名前。 MODEL_NAME環境変数を設定することにより、モデルをOllamaまたはAnthropicのオープンソースモデルに変更できます。
ローカルDBの場合、次のように入力できます。
LOCAL_DB="mongodb://127.0.0.1:27017/promptoptimizer"
デフォルトでは、システムはprocess.env.LOCAL_DBで指定されたローカルデータベースを使用します。クラウドデータベースを使用する場合は、 process.env.CLOUD_DBが入力され、必要に応じて使用するためにコードを変更します。
必要なnode.js依存関係をインストールするには、プロジェクトのルートディレクトリで次のコマンドを実行します。
npm install TypeScriptファイルを直接実行するには、 ts-nodeをインストールする必要があります。次のコマンドを使用してグローバルにインストールできます。
npm install -g ts-nodeまたは、プロジェクトへの開発として追加することもできます。
npm install --save-dev ts-node必要なPython依存関係をインストールするには、Pythonがインストールされていることを確認してから、プロジェクトのルートディレクトリで次のコマンドを実行してください。
pip install -r requirements.txtこれにより、次のPythonパッケージがインストールされます。
matplotlibseabornpandasMongodbをローカルにインストールするには、次の手順に従ってください。
MongoDBをダウンロード:MongoDBダウンロードセンターに移動し、オペレーティングシステムのMongoDBコミュニティサーバーをダウンロードします。
mongodbをインストール:
.msiインストーラーを実行し、インストール手順に従ってください。brew tap mongodb/brew
brew install [email protected]mongodを実行して手動で開始できます。brew services start mongodb/brew/mongodb-communitysudo systemctl start mongodmongoこれにより、Mongodbシェルが開かれ、Mongodbが正しく取り付けられて実行されていることが示されます。
モデルを目的の動作に向けるには、モデルがさまざまな入力にどのように応答するかを正確に知る必要があります。これを行うには、モデルに理解したいファイル名と入力を使用して、ファイルinput.ts更新します。次に、スクリプトpopulateGroundTruth.tsを実行します。このスクリプトを使用すると、半自動化された方法でグラウンドトゥルースを作成できます。
何らかの方法(大規模な言語モデルなど)を使用すると、出力が希望の出力にどれだけ近いかを定量化できる必要があります。これは、リポジトリ内のLLMベースの「プロンプト評価者」を使用して行うことができます。 「プロンプト評価者」は、モデルの出力と予想される出力を取得し、スコアを返します。
OllamaをOpenaiの代替として使用するには、次の手順に従ってください。
Ollama:Ollama.com/DownLoadにアクセスして、オペレーティングシステムに適切なバージョンをダウンロードしてください。
モデルをダウンロード:ollama.com/library/llama3.1にアクセスして、使用するモデルをダウンロードしてください。
環境変数を設定します: .envファイルに次の環境変数を設定してください。
OLLAMA_SERVICE_URL=http://localhost:11434
ANTHROPIC_API_KEYお持ちの場合は、迅速な最適化のために人類を使用することもできます。
TypeScriptスクリプトを実行するには、 ts-nodeを使用できます。上記のようにts-nodeをインストールしていることを確認し、次のコマンドを実行します。
ts-node main.tsまたは、TypeScriptコードをJavaScriptにコンパイルしてから、node.jsを使用して実行することもできます。
tscnode dist/main.js世代にわたるトレーニングと検証のフィットネスを視覚化するには、Pythonスクリプトgraph.pyを使用できます。このスクリプトはグラフを生成するため、プロンプトのパフォーマンスが時間とともにどのように変化するかを確認できます。スクリプトを実行するには、次のコマンドを使用します。
python graph.pyこれらの指示に従うことにより、任意のプロンプトを最適化し、そのパフォーマンスを定量化し、時間の経過とともにどのように改善するかを視覚化できます。