Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
@@ -75,21 +75,22 @@ def delete_faiss_index():
|
|
75 |
# return f"Ошибка: {response.json().get('detail')}"
|
76 |
|
77 |
|
78 |
-
|
79 |
log_message(f"Генерация ответов на {len(user_queries)} запросов")
|
80 |
prompt = ChatPromptTemplate.from_template(template)
|
81 |
|
82 |
# Формируем список полных промптов для каждого запроса
|
83 |
full_prompts = [prompt.format(context=context, input=query) for query in user_queries]
|
84 |
|
85 |
-
# Используем
|
86 |
-
responses =
|
87 |
log_message("Ответы сгенерированы.")
|
88 |
return responses
|
89 |
|
90 |
|
91 |
|
92 |
-
|
|
|
93 |
log_message("Начинаем процесс скрытия отрицательных комментариев.")
|
94 |
hidden_comments_data = hide_negative_comments(ACCESS_TOKEN)
|
95 |
log_message(f"Количество постов с скрытыми комментариями: {len(hidden_comments_data)}")
|
@@ -106,10 +107,11 @@ async def process_comments(ACCESS_TOKEN, user_context):
|
|
106 |
|
107 |
processed_posts = []
|
108 |
processed_comment_ids = set()
|
109 |
-
|
110 |
all_comments = []
|
111 |
all_comment_ids = []
|
112 |
-
|
|
|
113 |
|
114 |
for post_data in posts_with_unanswered_comments:
|
115 |
post_id = post_data['post_id']
|
@@ -126,15 +128,18 @@ async def process_comments(ACCESS_TOKEN, user_context):
|
|
126 |
message = comment['message']
|
127 |
log_message(f"Добавление комментария для обработки: {message}")
|
128 |
|
129 |
-
#
|
130 |
all_comments.append(message)
|
131 |
all_comment_ids.append(comment_id)
|
132 |
-
|
|
|
133 |
|
134 |
# Генерируем ответы на все комментарии батчем
|
135 |
-
responses =
|
|
|
|
|
|
|
136 |
|
137 |
-
# Отправляем ответы на соответствующие комментарии
|
138 |
for comment_id, response_message in zip(all_comment_ids, responses):
|
139 |
log_message(f"Ответ на комментарий {comment_id}: {response_message}")
|
140 |
success = reply_comment(comment_id=comment_id, message=response_message, token=ACCESS_TOKEN)
|
@@ -143,32 +148,16 @@ async def process_comments(ACCESS_TOKEN, user_context):
|
|
143 |
else:
|
144 |
log_message(f"Ошибка при отправке ответа на комментарий {comment_id}")
|
145 |
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
post_comments[post_id].append({
|
153 |
-
'comment_id': comment_id,
|
154 |
-
'reply_message': response_message
|
155 |
})
|
156 |
|
157 |
-
|
158 |
-
post_id = post_data['post_id']
|
159 |
-
post_message = post_data['post_message']
|
160 |
-
processed_posts.append({
|
161 |
-
'post_id': post_id,
|
162 |
-
'post_message': post_message,
|
163 |
-
'hidden_comments': next(
|
164 |
-
(item['hidden_comments'] for item in hidden_comments_data if item['post_id'] == post_id), []),
|
165 |
-
'replies': post_comments.get(post_id, [])
|
166 |
-
})
|
167 |
|
168 |
-
return {
|
169 |
-
"status": "completed",
|
170 |
-
"posts": processed_posts
|
171 |
-
}
|
172 |
|
173 |
|
174 |
with gr.Blocks() as demo:
|
|
|
75 |
# return f"Ошибка: {response.json().get('detail')}"
|
76 |
|
77 |
|
78 |
+
def generate_responses(user_queries, context):
|
79 |
log_message(f"Генерация ответов на {len(user_queries)} запросов")
|
80 |
prompt = ChatPromptTemplate.from_template(template)
|
81 |
|
82 |
# Формируем список полных промптов для каждого запроса
|
83 |
full_prompts = [prompt.format(context=context, input=query) for query in user_queries]
|
84 |
|
85 |
+
# Используем llm.batch для получения ответов на все промпты
|
86 |
+
responses = llm.batch(full_prompts)
|
87 |
log_message("Ответы сгенерированы.")
|
88 |
return responses
|
89 |
|
90 |
|
91 |
|
92 |
+
|
93 |
+
def process_comments(ACCESS_TOKEN, user_context):
|
94 |
log_message("Начинаем процесс скрытия отрицательных комментариев.")
|
95 |
hidden_comments_data = hide_negative_comments(ACCESS_TOKEN)
|
96 |
log_message(f"Количество постов с скрытыми комментариями: {len(hidden_comments_data)}")
|
|
|
107 |
|
108 |
processed_posts = []
|
109 |
processed_comment_ids = set()
|
110 |
+
|
111 |
all_comments = []
|
112 |
all_comment_ids = []
|
113 |
+
comment_id_to_post_id = {}
|
114 |
+
comment_id_to_message = {}
|
115 |
|
116 |
for post_data in posts_with_unanswered_comments:
|
117 |
post_id = post_data['post_id']
|
|
|
128 |
message = comment['message']
|
129 |
log_message(f"Добавление комментария для обработки: {message}")
|
130 |
|
131 |
+
# Сохраняем данные комментария
|
132 |
all_comments.append(message)
|
133 |
all_comment_ids.append(comment_id)
|
134 |
+
comment_id_to_post_id[comment_id] = post_id
|
135 |
+
comment_id_to_message[comment_id] = message
|
136 |
|
137 |
# Генерируем ответы на все комментарии батчем
|
138 |
+
responses = generate_responses(all_comments, context=user_context)
|
139 |
+
|
140 |
+
# Собираем результаты в список для отображения
|
141 |
+
result_data = []
|
142 |
|
|
|
143 |
for comment_id, response_message in zip(all_comment_ids, responses):
|
144 |
log_message(f"Ответ на комментарий {comment_id}: {response_message}")
|
145 |
success = reply_comment(comment_id=comment_id, message=response_message, token=ACCESS_TOKEN)
|
|
|
148 |
else:
|
149 |
log_message(f"Ошибка при отправке ответа на комментарий {comment_id}")
|
150 |
|
151 |
+
# Добавляем информацию в результат
|
152 |
+
result_data.append({
|
153 |
+
'Post ID': comment_id_to_post_id[comment_id],
|
154 |
+
'Comment ID': comment_id,
|
155 |
+
'Comment': comment_id_to_message[comment_id],
|
156 |
+
'Response': response_message
|
|
|
|
|
|
|
157 |
})
|
158 |
|
159 |
+
return result_data
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
|
|
|
|
|
|
|
|
|
161 |
|
162 |
|
163 |
with gr.Blocks() as demo:
|