このプロジェクトには、基本コード、難読化コード、および言語モデルをテストするために使用される自動化スクリプトが含まれています。これは、Paper Languageモデルのプロジェクトの概要とAcademic_WorkディレクトリにあるLanguage Models and Obfuscated Code用に作成されました。この論文は、この読み取りがかなり荒いので、これのほとんどが何をするかを明確にするのに役立ちます。
結果が保存されるワークブックを作成します。
コマンドpython Automation/codeLoader.pyを使用して、メインディレクトリからcodeLoader.pyスクリプトを実行します。
root_dir_workbook変数を必ず設定してください。current_workbook変数をステップ1で作成したワークブックの名前に設定します。これで、2セットのシートを備えたワークブックが必要です。 B1 、 B2 、....、およびO1 、 O2 、および名前が付けられたシートと名付けられたものは、各シートにはヘッダーラインと難読化コードが必要です。 B#という名前のシートには、与えられたベースコードのすべての難読化が含まれている必要があります。 O#という名前のシートには、そのタイプのすべての難読化が含まれている必要があります。
Automation/Question_Templatesフォルダーには、すでに3つのデフォルトの質問テンプレートがあります。質問1と2では、 ANDの前後に基本コードと難読化コードを挿入します。質問3では、難読化のみを使用しています。新しい質問を追加するには、質問テンプレートフォルダーにファイルを作成し、 questionLoader_Q1.pyファイルのコピーを作成して編集して、新しい質問の質問形式に従います。必要なファイルの唯一の大きな変更は、質問文字列が作成されたときにコードを新しい質問に適切に挿入し、情報が挿入されているExcelの列を適切に挿入することです。 question_number変数は、新しい質問番号に変更する必要があります。 question_column 、質問がスプレッドシートのどこに挿入されているかを決定します。 answer_column 、応答がどこに置かれるかを指示します。 codeLoader.pyファイルも編集して、新しい質問の正確な評価ドロップダウンを取得する必要があります。新しい質問のヘッダーを追加するには、 Templateスプレッドシートも編集する必要があります。
すでにセットアップされている3つの言語モデルAPIは、OpenaiのChatGPT 3.5、AI21 StudioのJurassic-2、およびGoogle Palmです。 API呼び出しを含むファイルは、 Automationディレクトリにあります。別の言語モデルを追加するには、質問を文字列として取得するaskQuestionという名前のメソッドを含むファイルを作成するだけです。
ファイル名Automation/key.pyを作成するには、APIキーを保持する必要があります。
codeLoader.pyスクリプトが実行されたら。 questionLoader_Q#.pyという名前のファイルから実行する質問を選択してください。
root_dir_workbook codeLoader.pyで使用されている同じディレクトリに変更しますcurrent_workbook変数を以前に作成したワークブックに変更します。LM使用するLMの名前に変更します。python questionLoader_Q1.pyを使用して、 Automationディレクトリからコードを実行しますNONEの応答を返します。これは、APIと調査されていない質問のエラーです。フォルダーCompiled_CodeとファイルC_codeLoader.pyおよびC_questionLoader_Q#.pyは、この研究の将来の指示用です。 Compiled_Codeフォルダーには、https://godbolt.org/を使用して作成されたすべての難読化コードのアセンブリバージョンが含まれています。 C_ファイルは、コンパイルされたコードで動作するように作成された通常のスクリプトの変更されたバージョンです。注:コンパイルされたコードで質問を実行する場合、アセンブリコードの長さのために、多くの場合、トークンサイズが大きすぎます。
おそらく他のランダムファイルはありますが、ほとんどのファイルは機能する必要があります。
これは、1つのコンピューターのWindows 10でのみテストされました。それが私のコンピューターで動作している場合、私はそれがあなたのもので働くと確信しています。必要な唯一のソフトウェアはExcelです。
openpyxlは、このプロジェクトでExcelスプレッドシートのデータをフォーマットするために使用されます。ライブラリはPIPから入手できる必要があります。