이 프로젝트에는 언어 모델을 테스트하는 데 사용되는 기본 코드, 난독 화 코드 및 자동화 스크립트가 포함되어 있습니다. 이것은 종이 Language Models and Obfuscated Code Academic_Work 디렉토리에있는 난독 화 코드를 위해 만들어졌습니다. 이 논문은이 readme이 꽤 거칠기 때문에이 중 대부분이 무엇을하는지 명확히하는 데 도움이 될 것입니다.
결과가 저장 될 통합 문서를 만듭니다.
명령 python Automation/codeLoader.py 사용하여 기본 디렉토리에서 codeLoader.py 스크립트를 실행하십시오.
root_dir_workbook 변수를 통합 문서가 저장된 위치로 설정하십시오.current_workbook 변수를 1 단계에서 만든 통합 문서 이름으로 설정하십시오. 이제 두 세트의 시트가있는 통합 문서가 있어야합니다. 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 스프레드 시트를 편집해야합니다.
이미 설정중인 세 가지 언어 모델 API는 OpenAi의 ChatGpt 3.5, AI21 Studio의 Jurassic-2 및 Google Palm입니다. API 호출이 포함 된 파일은 Automation 디렉토리에 있습니다. 다른 언어 모델을 추가하려면 질문을 문자열로 취하는 askQuestion 이라는 메소드가 포함 된 파일을 만듭니다.
API 키를 유지하려면 파일 이름 Automation/key.py 작성해야합니다.
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_ 파일은 컴파일 된 코드와 함께 작동하도록 생성 된 일반 스크립트의 변경된 버전입니다. 참고 : 컴파일 된 코드로 질문을 실행 해야하는 경우 어셈블리 코드의 길이로 인해 많은 경우 토큰 크기가 너무 큽니다.
다른 임의의 파일이있을 수 있지만 대부분의 파일은 작동해야합니다.
이것은 하나의 컴퓨터에서 Windows 10에서만 테스트되었습니다. 그것이 내 컴퓨터에서 작동한다면, 나는 그것이 당신에게서 작동 할 것이라고 확신합니다. 필요한 유일한 소프트웨어는 Excel입니다.
openpyxl 프로젝트에서 Excel 스프레드 시트의 데이터를 형식화하는 데 사용됩니다. 라이브러리는 PIP를 통해 이용할 수 있어야합니다.