mtyrrell commited on
Commit
a4d7afd
·
1 Parent(s): 0d3d855

ts file upload sources

Browse files
Files changed (1) hide show
  1. app/main.py +48 -3
app/main.py CHANGED
@@ -106,9 +106,20 @@ async def chatui_file_adapter(data):
106
  text = data.text if hasattr(data, 'text') else data.get('text', '')
107
  files = getattr(data, 'files', None) if hasattr(data, 'files') else data.get('files', None)
108
 
 
 
 
 
109
  logger.info(f"Text: {text[:100]}...")
110
  logger.info(f"Files present: {files is not None and len(files) > 0 if files else False}")
111
 
 
 
 
 
 
 
 
112
  file_content = None
113
  filename = None
114
 
@@ -146,18 +157,52 @@ async def chatui_file_adapter(data):
146
  yield content
147
  elif result_type == "sources":
148
  sources_collected = content
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  elif result_type == "end":
150
- # Send sources at the end
 
 
 
151
  if sources_collected:
152
  sources_text = "\n\n**Sources:**\n"
 
153
  for i, source in enumerate(sources_collected, 1):
154
  if isinstance(source, dict):
155
  title = source.get('title', 'Unknown')
156
  link = source.get('link', '#')
157
- sources_text += f"{i}. [{title}]({link})\n"
 
 
158
  else:
159
- sources_text += f"{i}. {source}\n"
 
 
 
 
160
  yield sources_text
 
 
 
161
  elif result_type == "error":
162
  yield f"Error: {content}"
163
  else:
 
106
  text = data.text if hasattr(data, 'text') else data.get('text', '')
107
  files = getattr(data, 'files', None) if hasattr(data, 'files') else data.get('files', None)
108
 
109
+ # ===== LOGGING INPUT DATA FOR CHATUI FILE ADAPTER =====
110
+ logger.info("=" * 60)
111
+ logger.info("CHATUI FILE ADAPTER INPUT")
112
+ logger.info("=" * 60)
113
  logger.info(f"Text: {text[:100]}...")
114
  logger.info(f"Files present: {files is not None and len(files) > 0 if files else False}")
115
 
116
+ if files and len(files) > 0:
117
+ file_info = files[0]
118
+ logger.info(f"Processing file: {file_info.get('name', 'unknown')}")
119
+ logger.info(f"File type: {file_info.get('type', 'unknown')}")
120
+ logger.info(f"File content length: {len(file_info.get('content', '')) if file_info.get('content') else 0}")
121
+ logger.info("=" * 60)
122
+
123
  file_content = None
124
  filename = None
125
 
 
157
  yield content
158
  elif result_type == "sources":
159
  sources_collected = content
160
+ # ===== LOGGING SOURCES RECEIVED =====
161
+ logger.info("=" * 60)
162
+ logger.info("SOURCES RECEIVED IN CHATUI FILE ADAPTER")
163
+ logger.info("=" * 60)
164
+ logger.info(f"Number of sources: {len(sources_collected) if sources_collected else 0}")
165
+ if sources_collected:
166
+ for i, source in enumerate(sources_collected, 1):
167
+ logger.info(f"Source {i}:")
168
+ if isinstance(source, dict):
169
+ logger.info(f" - Title: {source.get('title', 'Unknown')}")
170
+ logger.info(f" - Link: {source.get('link', '#')}")
171
+ logger.info(f" - Type: {type(source).__name__}")
172
+ # Log any additional fields
173
+ for key, value in source.items():
174
+ if key not in ['title', 'link']:
175
+ logger.info(f" - {key}: {value}")
176
+ else:
177
+ logger.info(f" - Raw source: {source}")
178
+ logger.info(f" - Type: {type(source).__name__}")
179
+ logger.info(" " + "-" * 40)
180
+ logger.info("=" * 60)
181
  elif result_type == "end":
182
+ # ===== LOGGING SOURCES BEING SENT TO USER =====
183
+ logger.info("=" * 60)
184
+ logger.info("SOURCES BEING SENT TO USER (CHATUI FILE ADAPTER)")
185
+ logger.info("=" * 60)
186
  if sources_collected:
187
  sources_text = "\n\n**Sources:**\n"
188
+ logger.info(f"Formatting {len(sources_collected)} sources for user display:")
189
  for i, source in enumerate(sources_collected, 1):
190
  if isinstance(source, dict):
191
  title = source.get('title', 'Unknown')
192
  link = source.get('link', '#')
193
+ source_line = f"{i}. [{title}]({link})\n"
194
+ sources_text += source_line
195
+ logger.info(f" Source {i}: {source_line.strip()}")
196
  else:
197
+ source_line = f"{i}. {source}\n"
198
+ sources_text += source_line
199
+ logger.info(f" Source {i}: {source_line.strip()}")
200
+ logger.info(f"Complete sources text length: {len(sources_text)} characters")
201
+ logger.info(f"Sources text preview: {sources_text[:200]}{'...' if len(sources_text) > 200 else ''}")
202
  yield sources_text
203
+ else:
204
+ logger.info("No sources to send to user")
205
+ logger.info("=" * 60)
206
  elif result_type == "error":
207
  yield f"Error: {content}"
208
  else: