Spaces:
Runtime error
Runtime error
Update bot.py
Browse files
bot.py
CHANGED
|
@@ -25,7 +25,31 @@ genai.configure(api_key=GEMINI_KEY)
|
|
| 25 |
groq_client = Groq(api_key=GROQ_KEY)
|
| 26 |
|
| 27 |
# --- БЛОК ФУНКЦИЙ ---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
def get_embedding(text):
|
| 30 |
"""Превращает текст вопроса в числовой вектор через Gemini."""
|
| 31 |
try:
|
|
|
|
| 25 |
groq_client = Groq(api_key=GROQ_KEY)
|
| 26 |
|
| 27 |
# --- БЛОК ФУНКЦИЙ ---
|
| 28 |
+
def save_chat_message(user_id, role, content):
|
| 29 |
+
"""Микрошаг: Записываем сообщение в новую таблицу chat_history"""
|
| 30 |
+
try:
|
| 31 |
+
supabase.table("chat_history").insert({
|
| 32 |
+
"user_id": user_id,
|
| 33 |
+
"role": role,
|
| 34 |
+
"content": content
|
| 35 |
+
}).execute()
|
| 36 |
+
except Exception as e:
|
| 37 |
+
logging.error(f"Ошибка сохранения истории: {e}")
|
| 38 |
|
| 39 |
+
def get_chat_history(user_id, limit=10):
|
| 40 |
+
"""Микрошаг: Достаем последние 10 реплик пользователя"""
|
| 41 |
+
try:
|
| 42 |
+
response = supabase.table("chat_history") \
|
| 43 |
+
.select("role", "content") \
|
| 44 |
+
.eq("user_id", user_id) \
|
| 45 |
+
.order("created_at", desc=True) \
|
| 46 |
+
.limit(limit) \
|
| 47 |
+
.execute()
|
| 48 |
+
return response.data[::-1] # Возвращаем в правильном порядке (от старых к новым)
|
| 49 |
+
except Exception as e:
|
| 50 |
+
logging.error(f"Ошибка получения истории: {e}")
|
| 51 |
+
return []
|
| 52 |
+
|
| 53 |
def get_embedding(text):
|
| 54 |
"""Превращает текст вопроса в числовой вектор через Gemini."""
|
| 55 |
try:
|