Spaces:
Build error
Build error
| import google.generativeai as genai | |
| import time | |
| from Contents import Topics | |
| from Chunks import Questions | |
| from Knowledge import Ask | |
| from AnkiExport import Convert | |
| contents = [] | |
| topics = [] | |
| count = 0 | |
| # gemini出題 | |
| def geminiQA(pdf_path: str, model: None) : | |
| global contents, topics | |
| if not contents: | |
| contents, topics = Topics(pdf_path, model) | |
| csv_name = Questions(pdf_path, contents, topics, model) | |
| return csv_name | |
| # 使用者出題 | |
| def userQA(pdf_path: str, question:str, model: None, api: str): | |
| global contents, topics | |
| if not contents: | |
| contents, topics = Topics(pdf_path, model) | |
| csv_name = Ask(pdf_path, question, contents, api) | |
| return csv_name | |
| # 整合題目 | |
| def pdf2anki(question: None, api: str, pdf: None, apkg_name: str) -> str: | |
| global count | |
| pdf_path = pdf.name | |
| model = input_API(api) | |
| if count == 0: | |
| csv_name = geminiQA(pdf_path, model) | |
| count += 1 | |
| if question != "": | |
| csv_name = userQA(pdf_path, question, model, api) | |
| apkg_path = Convert(csv_name, apkg_name) | |
| return apkg_path | |
| def input_API(api): | |
| genai.configure(api_key=api) | |
| model = genai.GenerativeModel('gemini-pro') | |
| while(True): | |
| try: | |
| model.generate_content( | |
| "test", | |
| ) | |
| print("Set Gemini API sucessfully!!") | |
| return model | |
| except: | |
| print("There seems to be something wrong with your Gemini API.") | |
| time.sleep(5) |