-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
66 lines (47 loc) · 2.15 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import reasoner
import find_pdf_on_web
import os
import wget
import gpt4v_api
from agent import run_raw_assignment_parser_agent, run_unknown_source_agent, run_generate_answer_agent, add_wiki
import json
from generate_pdf import generate_pdf
def main():
os.environ["OPENAI_API_KEY"] = open('openai_key.txt', 'r').read().strip('\n')
input_text = "[X=18.650], [Y=1]"
fsreasoner = reasoner.FancyStructuredReasoner(system_prompt="DO NOT OUTPUT ANY MORE TEXT AFTER ANSWERING THE PROMPT. BE A ROBOT.", model='gpt-3.5-turbo')
fsreasoner.add_message("user", input_text)
course_code = fsreasoner.extract_info("the course code is X={x}", str)
assignment_num = fsreasoner.extract_info("the assignment number is Y={x}", str)
information_to_find = "assignment page for MIT opencourseware course code " + str(course_code)
print("information_to_find: ", information_to_find)
pdf_url = find_pdf_on_web.look_for_information(assignment_num, course_code)
print("url for assignment pdf: ", pdf_url)
if os.path.exists("./problemset.pdf"):
os.remove("./problemset.pdf")
wget.download(pdf_url, "./problemset.pdf")
text_extracted = gpt4v_api.extract_text_from_pdf("problemset.pdf")
print("===== TEXT EXTRACTED =====")
print(text_extracted)
print("==========================")
parsed_assignment = run_raw_assignment_parser_agent(text_extracted)
print("===== PARSED ASSIGNMENT =====")
print(parsed_assignment)
print("=============================")
questions = parsed_assignment['questions']
# unknown_sources = run_unknown_source_agent(questions)
# print("===== UNKNOWN SOURCES =====")
# print(unknown_sources)
# print("===========================")
questions_wiki = [add_wiki(question) for question in questions]
print("===== QUESTION WIKI =====")
print(questions_wiki)
print("=========================")
answers = run_generate_answer_agent(questions_wiki)
# answers = generated_answers['answers']
print("===== ANSWERS =====")
print(answers)
print("===================")
generate_pdf(questions_wiki, answers)
if __name__ == "__main__":
main()