Upload 4 files
Browse files- backend/model_manager.py +6 -0
backend/model_manager.py
CHANGED
|
@@ -157,6 +157,10 @@ class ModelManager:
|
|
| 157 |
"""Rough token estimation (3 chars ≈ 1 token)."""
|
| 158 |
return max(1, len(text) // 3)
|
| 159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 160 |
def resolve_max_tokens(self, prompt: str, requested: Optional[int]) -> int:
|
| 161 |
"""Calculate safe max_tokens given prompt length."""
|
| 162 |
prompt_tokens = self.estimate_tokens(prompt)
|
|
@@ -219,6 +223,8 @@ class ModelManager:
|
|
| 219 |
"prompt_length": len(prompt),
|
| 220 |
"estimated_tokens": self.estimate_tokens(prompt),
|
| 221 |
"history_messages": len(history),
|
|
|
|
|
|
|
| 222 |
"timestamp": datetime.now().isoformat(),
|
| 223 |
}
|
| 224 |
|
|
|
|
| 157 |
"""Rough token estimation (3 chars ≈ 1 token)."""
|
| 158 |
return max(1, len(text) // 3)
|
| 159 |
|
| 160 |
+
def count_tokens(self, text: str) -> int:
|
| 161 |
+
"""Count tokens in text (alias for estimate_tokens for compatibility)."""
|
| 162 |
+
return self.estimate_tokens(text)
|
| 163 |
+
|
| 164 |
def resolve_max_tokens(self, prompt: str, requested: Optional[int]) -> int:
|
| 165 |
"""Calculate safe max_tokens given prompt length."""
|
| 166 |
prompt_tokens = self.estimate_tokens(prompt)
|
|
|
|
| 223 |
"prompt_length": len(prompt),
|
| 224 |
"estimated_tokens": self.estimate_tokens(prompt),
|
| 225 |
"history_messages": len(history),
|
| 226 |
+
"history_messages_used": min(len(history), max_history_messages),
|
| 227 |
+
"history_messages_total": len(history),
|
| 228 |
"timestamp": datetime.now().isoformat(),
|
| 229 |
}
|
| 230 |
|