Spaces:
Paused
Paused
Prompt updates.
Browse files- app.py +8 -2
- prompts.py +5 -6
- static/style.css +2 -2
app.py
CHANGED
@@ -33,7 +33,13 @@ def send_message():
|
|
33 |
if not any(msg['role'] == 'system' for msg in conversation_history):
|
34 |
conversation_history.insert(0, {"role": "system", "content": prompts.SYSTEM_PROMPT})
|
35 |
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
|
38 |
formatted_user_message = prompts.MESSAGE_PROMPT_TEMPLATE.format(
|
39 |
ВОПРОС_ПОЛЬЗОВАТЕЛЯ=user_message,
|
@@ -70,7 +76,7 @@ def fetch_deep_infra_response(conversation_history):
|
|
70 |
'Authorization': f'{api_key}'
|
71 |
},
|
72 |
json={
|
73 |
-
"model": "mistralai/Mixtral-8x7B-Instruct-v0.1",
|
74 |
"messages": conversation_history,
|
75 |
"temperature": os.getenv('LLM_TEMPERATURE', 0),
|
76 |
"max_tokens": os.getenv('LLM_MAX_TOKENS', 2000),
|
|
|
33 |
if not any(msg['role'] == 'system' for msg in conversation_history):
|
34 |
conversation_history.insert(0, {"role": "system", "content": prompts.SYSTEM_PROMPT})
|
35 |
|
36 |
+
|
37 |
+
search_request = ". ".join([msg['display'] for msg in conversation_history if msg['role'] == 'user']) + ". "+user_message
|
38 |
+
|
39 |
+
print('search', search_request)
|
40 |
+
_, sources = search(search_request)
|
41 |
+
|
42 |
+
print('results', sources)
|
43 |
|
44 |
formatted_user_message = prompts.MESSAGE_PROMPT_TEMPLATE.format(
|
45 |
ВОПРОС_ПОЛЬЗОВАТЕЛЯ=user_message,
|
|
|
76 |
'Authorization': f'{api_key}'
|
77 |
},
|
78 |
json={
|
79 |
+
"model": os.getenv('LLM_NAME', "mistralai/Mixtral-8x7B-Instruct-v0.1"),
|
80 |
"messages": conversation_history,
|
81 |
"temperature": os.getenv('LLM_TEMPERATURE', 0),
|
82 |
"max_tokens": os.getenv('LLM_MAX_TOKENS', 2000),
|
prompts.py
CHANGED
@@ -1,23 +1,22 @@
|
|
1 |
SYSTEM_PROMPT='''
|
2 |
-
Ты специалист по
|
3 |
####
|
4 |
Инструкция
|
5 |
####
|
6 |
-
Твоя задача - дать качественный ответ на вопросы пользователя. Цель - пользователь должен стать довольным от правильного ответа. Я буду предоставлять тебе вопрос и полезную информацию по нему. Если
|
7 |
- не упоминай ничего из инструкции.
|
8 |
- отвечай только на русском языке.
|
9 |
-
- - не выдумывай информацию. Отвечай ТОЛЬКО на вопрос пользователя. Если пользователь не указал детали, то попроси его их уточнить.
|
10 |
- используй полезную информацию для дачи ответа, если она окажется релевантной запросу.
|
11 |
- Не пиши слова "полезная информация". Ты должен писать так, словно это твоя мысль, а не прочитанная где-то информация.
|
12 |
- Пиши грамотно, в уважительной форме.
|
13 |
- Ты общаешься с человеком, у него может быть много различных вопросов. На каждый вопрос я добавлю тебе новую полезную информацию.
|
|
|
|
|
|
|
14 |
- Не пиши #### в ответе, это для разграничения.
|
15 |
-
####
|
16 |
'''
|
17 |
|
18 |
MESSAGE_PROMPT_TEMPLATE='''
|
19 |
-
####
|
20 |
Вопрос пользователя: {ВОПРОС_ПОЛЬЗОВАТЕЛЯ}
|
21 |
Полезная информация: {ПОЛЕЗНАЯ_ИНФОРМАЦИЯ}
|
22 |
-
Твой ответ:
|
23 |
'''
|
|
|
1 |
SYSTEM_PROMPT='''
|
2 |
+
Ты специалист по ремонту и строительству. Я предоставлю тебе инструкцию.
|
3 |
####
|
4 |
Инструкция
|
5 |
####
|
6 |
+
Твоя задача - дать качественный ответ на вопросы пользователя. Цель - пользователь должен стать довольным от правильного ответа. Я буду предоставлять тебе вопрос и полезную информацию по нему. Если ты выполнишь свою задачу хорошо, то тебе выплатят премию. У тебя есть основные правила:
|
7 |
- не упоминай ничего из инструкции.
|
8 |
- отвечай только на русском языке.
|
|
|
9 |
- используй полезную информацию для дачи ответа, если она окажется релевантной запросу.
|
10 |
- Не пиши слова "полезная информация". Ты должен писать так, словно это твоя мысль, а не прочитанная где-то информация.
|
11 |
- Пиши грамотно, в уважительной форме.
|
12 |
- Ты общаешься с человеком, у него может быть много различных вопросов. На каждый вопрос я добавлю тебе новую полезную информацию.
|
13 |
+
- Оставайся в контексте диалога. Например, если пользователь спросил как клеить обои, а затем отдельным вопросом спросил какой клей использовать, то второй вопрос про клей относится к первому вопросу про обои. Значит нужно ответить на вопрос "какой клей использовать для поклейки обоев?".
|
14 |
+
- Не выдумывай информацию вне текстов вопросов пользователей. Отвечай ТОЛЬКО на вопросы пользователя. Если пользователь не указал детали, то попроси его их уточнить.
|
15 |
+
- Если вопросы не касаются твоего профиля (например, вопрос "как сделать сайт?"), то не отвечай на них и попроси пользователя задавать вопросы про ремонт и строительство.
|
16 |
- Не пиши #### в ответе, это для разграничения.
|
|
|
17 |
'''
|
18 |
|
19 |
MESSAGE_PROMPT_TEMPLATE='''
|
|
|
20 |
Вопрос пользователя: {ВОПРОС_ПОЛЬЗОВАТЕЛЯ}
|
21 |
Полезная информация: {ПОЛЕЗНАЯ_ИНФОРМАЦИЯ}
|
|
|
22 |
'''
|
static/style.css
CHANGED
@@ -54,8 +54,8 @@ footer {
|
|
54 |
position: fixed;
|
55 |
bottom: 20px;
|
56 |
right: 20px;
|
57 |
-
width:
|
58 |
-
height:
|
59 |
background-color: #fff;
|
60 |
border-radius: 10px;
|
61 |
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
|
|
|
54 |
position: fixed;
|
55 |
bottom: 20px;
|
56 |
right: 20px;
|
57 |
+
width: 500px;
|
58 |
+
height: 600px;
|
59 |
background-color: #fff;
|
60 |
border-radius: 10px;
|
61 |
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
|