Обновить new_parser_test.py
This commit is contained in:
@@ -25,7 +25,7 @@ def build_extraction_prompt(conversation_history: List[Dict[str, str]], tag_list
|
|||||||
"""
|
"""
|
||||||
example_user_1 = "Я хочу культурно провести время, у меня 2 часа, я сейчас на улице Доброй около дома 1."
|
example_user_1 = "Я хочу культурно провести время, у меня 2 часа, я сейчас на улице Доброй около дома 1."
|
||||||
example_json_1 = {
|
example_json_1 = {
|
||||||
"tags": [["Музей", "Галерея", "Театр","Выставка","ANY"]],
|
"tags": [["Музей", "Галерея", "Театр","Выставка","ANY", 'MULTI']],
|
||||||
"user_location": "улица Добрая, дом 1",
|
"user_location": "улица Добрая, дом 1",
|
||||||
"time": 120
|
"time": 120
|
||||||
}
|
}
|
||||||
@@ -33,8 +33,23 @@ def build_extraction_prompt(conversation_history: List[Dict[str, str]], tag_list
|
|||||||
example_json_2 = {
|
example_json_2 = {
|
||||||
"tags": [["Музей", "Парк"], ["Ресторан", "Бистро", "Кафе", "ANY"]],
|
"tags": [["Музей", "Парк"], ["Ресторан", "Бистро", "Кафе", "ANY"]],
|
||||||
"user_location": "улица Коминтерна, дом 115",
|
"user_location": "улица Коминтерна, дом 115",
|
||||||
"time": 120
|
"time": 210
|
||||||
}
|
}
|
||||||
|
example_user_3 = "Я хочу культурно провести время потом попить кофе, я свободен до 6 вечера, я сейчас на б-р 60 лет Октября, 9"
|
||||||
|
example_json_3 = {
|
||||||
|
"tags": [['Музей', 'Галерея', 'Театр', 'Выставка', 'Художественное пространство', 'Планетарий', 'ANY', 'MULTI'], ["Кафе"]],
|
||||||
|
"user_location": "бульвар 60 лет Октября, дом 9",
|
||||||
|
"time": 'until 18:00'
|
||||||
|
}
|
||||||
|
|
||||||
|
example_user_4 = "Я хочу обойти места в которых можно попить кофе и зайти в музей, у меня 4 часа, я на дальней 8"
|
||||||
|
example_json_4 = {
|
||||||
|
"tags": [['Кафе', 'MULTI'],
|
||||||
|
["Музей"]],
|
||||||
|
"user_location": "улица Дальняя, дом 8",
|
||||||
|
"time": 240
|
||||||
|
}
|
||||||
|
|
||||||
instr = f"""
|
instr = f"""
|
||||||
Ты — ИИ-парсер на русском языке.
|
Ты — ИИ-парсер на русском языке.
|
||||||
Задача: из диалога с пользователем извлечь строго JSON c полями:
|
Задача: из диалога с пользователем извлечь строго JSON c полями:
|
||||||
@@ -45,9 +60,10 @@ def build_extraction_prompt(conversation_history: List[Dict[str, str]], tag_list
|
|||||||
|
|
||||||
Работа с тегами:
|
Работа с тегами:
|
||||||
Группируй теги по ПРИОРИТЕТУ посещения:
|
Группируй теги по ПРИОРИТЕТУ посещения:
|
||||||
- Если пользователь говорит "сначала музей, потом кофе" -> [['Музей'], ['Кофейня']]
|
- Если пользователь говорит "сначала музей, потом кофе" -> [['Музей'], ['Кафе']]
|
||||||
- Если "хочу в музей и кофе" (без явного порядка) -> [['Музей', 'Кофейня']]
|
- Если "хочу в музей и кофе" (без явного порядка) -> [['Музей', 'Кафе']]
|
||||||
- Если неопределённые предпочтения "погулять по интересным местам", добавь ключевое слово 'ANY' к группе подходящих тегов.
|
- Если неопределённые предпочтения "погулять по интересным местам", добавь ключевое слово 'ANY' к группе подходящих тегов.
|
||||||
|
- Если пользователь хочет посетить несколько мест одного типа, добавь ключевое слово 'MULTI' в соответсвующую группу. "Хочу походить по музеям, потом попить кофе." -> [['Музей','MULTI'], ['Кафе']]
|
||||||
- Запрос пользователя может быть абстрактным "я хочу погулять по улице". Подбери релевантные теги на открытом воздухе (т.к. погулять можно интерпретировать как походить по улице не заходя куда-либо) например: [['Архитектура','Сквер','Площадь', 'ANY']]. Запрос может быть абстрактным, но не может быть полностью неопределенным. Примеры неопределенных ответов: "Хочу куда-нибудь сходить", "Я не знаю куда сходить", "Куда мне сходить?"
|
- Запрос пользователя может быть абстрактным "я хочу погулять по улице". Подбери релевантные теги на открытом воздухе (т.к. погулять можно интерпретировать как походить по улице не заходя куда-либо) например: [['Архитектура','Сквер','Площадь', 'ANY']]. Запрос может быть абстрактным, но не может быть полностью неопределенным. Примеры неопределенных ответов: "Хочу куда-нибудь сходить", "Я не знаю куда сходить", "Куда мне сходить?"
|
||||||
- Указывай все теги из tag_list которые явно подходят!!! Примеры могут быть неполными!
|
- Указывай все теги из tag_list которые явно подходят!!! Примеры могут быть неполными!
|
||||||
|
|
||||||
@@ -71,6 +87,15 @@ tag_list = {json.dumps(tag_list, ensure_ascii=False, indent=0)}
|
|||||||
Ожидаемый JSON:
|
Ожидаемый JSON:
|
||||||
{json.dumps(example_json_2, ensure_ascii=False, indent=2)}
|
{json.dumps(example_json_2, ensure_ascii=False, indent=2)}
|
||||||
|
|
||||||
|
Пример 3:
|
||||||
|
Пользователь: "{example_user_3}"
|
||||||
|
Ожидаемый JSON:
|
||||||
|
{json.dumps(example_json_3, ensure_ascii=False, indent=2)}
|
||||||
|
|
||||||
|
Пример 4:
|
||||||
|
Пользователь: "{example_user_4}"
|
||||||
|
Ожидаемый JSON:
|
||||||
|
{json.dumps(example_json_4, ensure_ascii=False, indent=2)}
|
||||||
|
|
||||||
История диалога:
|
История диалога:
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user