Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import json | |
| import os | |
| from datetime import datetime | |
| from pathlib import Path | |
| gr.set_static_paths(paths=[Path.cwd().absolute()]) | |
| print("Current Working Directory: ", os.getcwd()) | |
| cwd = os.getcwd() | |
| def process_question(question): | |
| try: | |
| answer = {"doc1": "document 1 contents", "doc2": "document 2 contents"} | |
| # Create file in current directory with timestamp | |
| timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") | |
| filename = f"my_answer_{timestamp}.txt"# Get the current working directory | |
| filepath = os.path.join(cwd, filename) | |
| f = open(filename, "w", encoding="utf-8") | |
| try: | |
| answer = json.dumps(answer, indent=2, ensure_ascii=False) | |
| f.write(answer) | |
| finally: | |
| f.close() | |
| return [answer, filepath] | |
| except Exception as e: | |
| return f"Error processing question: {str(e)}", None | |
| # Create Gradio interface | |
| iface = gr.Interface( | |
| fn=process_question, | |
| inputs=gr.Textbox(label="Ask a question about documents", placeholder="Extract the text from this document."), | |
| outputs=[ | |
| gr.Textbox(label="Answer"), | |
| gr.File(label="Download Answer as txt", file_count="single", file_types=[".txt"], type="filepath" ) | |
| ], | |
| title="Document Reader", | |
| description="Ask questions about documents using AI vision to read scanned PDFs" | |
| ) | |
| iface.launch(ssr_mode=False, allowed_paths=[cwd]) |