Dieses Projekt enthält Basiscode, verschleierten Code und Automatisierungsskripte, mit denen Sprachmodelle die Fähigkeit, verschleierten Code zu interpretieren, verwendet werden. Dies wurde für die Projektumrisse in den Language Models and Obfuscated Code im Verzeichnis Academic_Work erstellt. Das Papier wird klarstellen, was das meiste davon tut, weil dieser Readme ziemlich rau ist.
Erstellen Sie die Arbeitsmappe, in der Ihre Ergebnisse gespeichert werden.
Führen Sie das Skript codeLoader.py aus dem Hauptverzeichnis mit dem Befehl python Automation/codeLoader.py aus.
root_dir_workbook auf die gespeicherte Arbeitsmappe festlegen.current_workbook auf den Namen der Arbeitsmappe fest, die Sie in Schritt eins erstellt haben. Jetzt sollten Sie eine Arbeitsmappe mit zwei Blättern haben. Diejenigen, die B1 , B2 , ... und Blätter genannt werden, O1 , O2 , ... jede Blätter sollte eine Kopfzeile und den verschleierten Code haben. Die Blätter B# sollten alle Verschleiungen für diesen gegebenen Basiscode enthalten. Die mit dem Namen O# genannten Blätter sollten alle Verschleiungen dieser Art enthalten.
Es gibt bereits 3 Standardfragesvorlagen im Ordner Automation/Question_Templates . Die Fragen 1 und 2 fügen den Basiscode und den verschleierten Code vor und nach der AND in der Datei ein. Frage 3 verwendet nur die Verschleierung. Um eine neue Frage hinzuzufügen, erstellen Sie die Datei in den Fragenvorlagenordner und erstellen Sie eine Kopie der Datei questionLoader_Q1.py und bearbeiten Sie sie, um dem Frageformat der neuen Frage zu folgen. Die einzigen wesentlichen Änderungen an der Datei, die benötigt werden, sind: ordnungsgemäß das Code in die neue Frage einfügen, wenn die Fragezeichenfolge erstellt wird, und die Spalten in der Excel, in die die Informationen eingefügt werden. Die Variable question_number sollte in die neue Fragennummer geändert werden. question_column diktiert, wo die Frage in die Tabelle eingefügt wird. answer_column diktiert, wo die Antwort gestellt wird. Die Datei codeLoader.py muss ebenfalls bearbeitet werden, um die Dropdowns der Korrektheit für die neue Frage zu erhalten. Die Template -Tabelle muss auch bearbeitet werden, um die Header für die neue Frage hinzuzufügen.
Die drei bereits eingerichteten APIs mit drei Sprachmodells sind OpenAIs ChatGPT 3.5, JIRASIC-2 von AI21 Studio und Google Palm. Die Dateien, die die API -Aufrufe enthalten, befinden sich im Automation . Um ein anderes Sprachmodell hinzuzufügen, erstellen Sie einfach eine Datei mit einer Methode namens askQuestion , die die Frage als Zeichenfolge nimmt.
Eine Dateiname Automation/key.py muss erstellt werden, um Ihre API -Schlüssel zu halten.
Sobald das Skript codeLoader.py ausgeführt wurde. Wählen Sie eine Frage aus, die Sie aus den Dateien mit dem Namen questionLoader_Q#.py ausgeführt werden sollen.
root_dir_workbook in das gleiche in codeLoader.py verwendete Verzeichniscurrent_workbook in das zuvor erstellte Arbeitsbuch.LM in den Namen des LM, den Sie verwenden möchten.Automation mit dem Befehl python questionLoader_Q1.py ausNONE auf Fragen zurück. Es ist ein Fehler mit der API und unseren Fragen, die nicht untersucht wurden. Der Ordner Compiled_Code und die Dateien C_codeLoader.py und C_questionLoader_Q#.py sind für zukünftige Richtungen in dieser Forschung. Der Ordner Compiled_Code enthält die Montageversion des gesamten verschleierten Codes, der mit https://godbolt.org/ erstellt wurde. Die C_ -Dateien sind veränderte Versionen der regulären Skripte, die für die Arbeit mit dem kompilierten Code erstellt wurden. HINWEIS: Wenn Sie Fragen mit dem kompilierten Code ausführen, ist die Tokengröße in vielen Fällen aufgrund der Länge des Montagecode zu groß.
Es gibt wahrscheinlich andere zufällige Dateien, aber die meisten Dateien sollten funktional sein.
Dies wurde nur auf Windows 10 auf einem Computer getestet. Wenn es auf meinem Computer funktioniert, bin ich sicher, dass es auf Ihrem funktioniert. Die einzige zusätzliche Software ist Excel.
openpyxl wird in diesem Projekt verwendet, um die Daten in den Excel -Tabellen zu formatieren. Die Bibliothek sollte über PIP verfügbar sein.