bluenevus commited on
Commit
94cf5e8
·
1 Parent(s): cc1a429

Update app.py via AI Editor

Browse files
Files changed (1) hide show
  1. app.py +27 -16
app.py CHANGED
@@ -12,15 +12,16 @@ from PyPDF2 import PdfReader
12
  import logging
13
  import threading
14
  import re
15
- import google.generativeai as genai
16
  import sqlite3
17
  import time
18
 
19
  logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s')
20
 
21
- GEMINI_KEY = os.environ.get("GEMINI_KEY", "")
22
- genai.configure(api_key=GEMINI_KEY)
23
- GEMINI_MODEL = "gemini-2.5-pro-preview-03-25"
 
24
 
25
  DB_PATH = "maiko_dash_docs.sqlite"
26
 
@@ -645,23 +646,31 @@ def unified_handler(contents_lists, n_clicks_generate_list, n_clicks_download, s
645
  else:
646
  context += f"\n\n{inputs.get('shred','')}"
647
  full_prompt = f"{prompt}\n\n{context}"
648
- logging.info(f"Prompt sent to Gemini (first 1000 chars): {full_prompt[:1000]}")
649
  result_holder = {}
650
 
651
- def gemini_thread():
652
  try:
653
- model = genai.GenerativeModel(GEMINI_MODEL)
654
- response = model.generate_content(full_prompt, stream=False)
655
- result_holder['result'] = response.text if hasattr(response, 'text') else str(response)
656
- logging.info("Gemini document generated successfully.")
 
 
 
 
 
 
 
 
657
  except Exception as e:
658
- logging.error(f"Error with Gemini API: {str(e)}")
659
  result_holder['result'] = f"Error generating document: {str(e)}"
660
- t = threading.Thread(target=gemini_thread)
661
  t.start()
662
- t.join(timeout=60)
663
  generated_doc = result_holder.get('result', 'Error: No document generated.')
664
- logging.info(f"Gemini API returned: {generated_doc[:500]}") # LOGGING LINE
665
 
666
  set_generated_doc(selected_type, generated_doc)
667
  # Preview with fallback
@@ -746,5 +755,7 @@ def unified_handler(contents_lists, n_clicks_generate_list, n_clicks_download, s
746
 
747
  return stores + [file_list, uploaded_doc_name_shred, preview, dash.no_update, dash.no_update, loader_trigger]
748
 
749
- if __name__ == "__main__":
750
- app.run_server(debug=True)
 
 
 
12
  import logging
13
  import threading
14
  import re
15
+ import openai
16
  import sqlite3
17
  import time
18
 
19
  logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)s %(message)s')
20
 
21
+ OPENAI_KEY = os.environ.get("OPENAI_API_KEY", "")
22
+ openai.api_key = OPENAI_KEY
23
+ OPENAI_MODEL = "gpt-4-1106-preview"
24
+ OPENAI_MAX_TOKENS = 32768
25
 
26
  DB_PATH = "maiko_dash_docs.sqlite"
27
 
 
646
  else:
647
  context += f"\n\n{inputs.get('shred','')}"
648
  full_prompt = f"{prompt}\n\n{context}"
649
+ logging.info(f"Prompt sent to OpenAI (first 1000 chars): {full_prompt[:1000]}")
650
  result_holder = {}
651
 
652
+ def openai_thread():
653
  try:
654
+ response = openai.chat.completions.create(
655
+ model=OPENAI_MODEL,
656
+ messages=[
657
+ {"role": "system", "content": "You are a helpful assistant for proposal writing. Always output in markdown, and use markdown tables for spreadsheets if needed."},
658
+ {"role": "user", "content": full_prompt}
659
+ ],
660
+ max_tokens=OPENAI_MAX_TOKENS,
661
+ temperature=0.3,
662
+ )
663
+ result_text = response.choices[0].message.content if hasattr(response.choices[0].message, "content") else str(response)
664
+ result_holder['result'] = result_text
665
+ logging.info("OpenAI document generated successfully.")
666
  except Exception as e:
667
+ logging.error(f"Error with OpenAI API: {str(e)}")
668
  result_holder['result'] = f"Error generating document: {str(e)}"
669
+ t = threading.Thread(target=openai_thread)
670
  t.start()
671
+ t.join(timeout=120)
672
  generated_doc = result_holder.get('result', 'Error: No document generated.')
673
+ logging.info(f"OpenAI API returned: {generated_doc[:500]}") # LOGGING LINE
674
 
675
  set_generated_doc(selected_type, generated_doc)
676
  # Preview with fallback
 
755
 
756
  return stores + [file_list, uploaded_doc_name_shred, preview, dash.no_update, dash.no_update, loader_trigger]
757
 
758
+ if __name__ == '__main__':
759
+ print("Starting the Dash application...")
760
+ app.run(debug=True, host='0.0.0.0', port=7860)
761
+ print("Dash application has finished running.")