bluenevus commited on
Commit
370009c
·
1 Parent(s): 7b0965f

Update app.py via AI Editor

Browse files
Files changed (1) hide show
  1. app.py +13 -13
app.py CHANGED
@@ -1,4 +1,4 @@
1
- # Generated code appears hereimport os
2
  import base64
3
  import io
4
  import dash
@@ -10,7 +10,6 @@ import logging
10
  from docx import Document
11
  import requests
12
  import mimetypes
13
- import os
14
 
15
  logging.basicConfig(
16
  level=logging.INFO,
@@ -67,7 +66,7 @@ def guess_mime_type(filename):
67
 
68
  def upload_to_openai_file(decoded_bytes, filename):
69
  try:
70
- url = "https://api.openai.com/v1/uploads"
71
  mime_type = guess_mime_type(filename)
72
  headers = {
73
  "Authorization": f"Bearer {OPENAI_API_KEY}"
@@ -76,27 +75,24 @@ def upload_to_openai_file(decoded_bytes, filename):
76
  "file": (filename, io.BytesIO(decoded_bytes), mime_type)
77
  }
78
  data = {
79
- "bytes": str(len(decoded_bytes)),
80
- "filename": filename,
81
- "mime_type": mime_type,
82
  "purpose": "assistants"
83
  }
84
- logging.info(f"Uploading file to OpenAI /v1/uploads: {filename}, size={len(decoded_bytes)}, mime_type={mime_type}")
85
  resp = requests.post(url, headers=headers, files=files, data=data)
86
  if resp.status_code == 200:
87
  resp_json = resp.json()
88
  file_id = resp_json.get("id")
89
  if file_id:
90
- logging.info(f"File uploaded to OpenAI uploads: {filename}, file_id: {file_id}")
91
  return file_id
92
  else:
93
- logging.error(f"OpenAI /v1/uploads did not return file id. Response: {resp_json}")
94
  return None
95
  else:
96
- logging.error(f"Failed uploading file to OpenAI API /v1/uploads: {resp.status_code}, {resp.text}")
97
  return None
98
  except Exception as e:
99
- logging.error(f"Exception during file upload to OpenAI /v1/uploads: {e}")
100
  return None
101
 
102
  def openai_stream_generate(prompt, file_id=None):
@@ -106,8 +102,12 @@ def openai_stream_generate(prompt, file_id=None):
106
  messages = [{"role": "user", "content": prompt}]
107
  extra_kwargs = {}
108
  if file_id:
109
- extra_kwargs["files"] = [file_id]
110
- logging.info(f"Passing file_id to OpenAI ChatCompletion: {file_id}")
 
 
 
 
111
  stream = openai.ChatCompletion.create(
112
  model=OPENAI_MODEL,
113
  messages=messages,
 
1
+ import os
2
  import base64
3
  import io
4
  import dash
 
10
  from docx import Document
11
  import requests
12
  import mimetypes
 
13
 
14
  logging.basicConfig(
15
  level=logging.INFO,
 
66
 
67
  def upload_to_openai_file(decoded_bytes, filename):
68
  try:
69
+ url = "https://api.openai.com/v1/files"
70
  mime_type = guess_mime_type(filename)
71
  headers = {
72
  "Authorization": f"Bearer {OPENAI_API_KEY}"
 
75
  "file": (filename, io.BytesIO(decoded_bytes), mime_type)
76
  }
77
  data = {
 
 
 
78
  "purpose": "assistants"
79
  }
80
+ logging.info(f"Uploading file to OpenAI /v1/files: {filename}, size={len(decoded_bytes)}, mime_type={mime_type}")
81
  resp = requests.post(url, headers=headers, files=files, data=data)
82
  if resp.status_code == 200:
83
  resp_json = resp.json()
84
  file_id = resp_json.get("id")
85
  if file_id:
86
+ logging.info(f"File uploaded to OpenAI /v1/files: {filename}, file_id: {file_id}")
87
  return file_id
88
  else:
89
+ logging.error(f"OpenAI /v1/files did not return file id. Response: {resp_json}")
90
  return None
91
  else:
92
+ logging.error(f"Failed uploading file to OpenAI API /v1/files: {resp.status_code}, {resp.text}")
93
  return None
94
  except Exception as e:
95
+ logging.error(f"Exception during file upload to OpenAI /v1/files: {e}")
96
  return None
97
 
98
  def openai_stream_generate(prompt, file_id=None):
 
102
  messages = [{"role": "user", "content": prompt}]
103
  extra_kwargs = {}
104
  if file_id:
105
+ if isinstance(file_id, list):
106
+ extra_kwargs["files"] = file_id
107
+ logging.info(f"Passing file_id list to OpenAI ChatCompletion: {file_id}")
108
+ else:
109
+ extra_kwargs["files"] = [file_id]
110
+ logging.info(f"Passing file_id to OpenAI ChatCompletion: {file_id}")
111
  stream = openai.ChatCompletion.create(
112
  model=OPENAI_MODEL,
113
  messages=messages,