muryshev commited on
Commit
a868da0
·
1 Parent(s): 1615297

Prompt updates.

Browse files
Files changed (3) hide show
  1. app.py +8 -2
  2. prompts.py +5 -6
  3. 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
- _, sources = search(user_message)
 
 
 
 
 
 
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: 350px;
58
- height: 400px;
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);