Spaces:
Sleeping
Sleeping
ts file upload sources
Browse files- 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 |
-
#
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
|
|
|
|
|
|
| 158 |
else:
|
| 159 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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:
|