Я учусь в старшей школе и работаю над проектом чат-бота с использованием Python 3.10 в Visual Studio в своей собственной виртуальной среде, поддерживающей TensorFlow. Я создаю его без API. Бот успешно распознает теги из введенных пользователем данных, но часто не возвращает правильные ответы. Вместо этого он выбирает любой случайный ответ из скобок ответов.
Что я пытаюсь сделать:
Сохраняйте данные чат-бота (теги, шаблоны, ответы) в файле JSON.
Сопоставляйте введенные пользователем данные с тегом и возвращайте ответ из соответствующего списка.
Я использовал случайный порядок, чтобы перетасовать приветствия и прощаемся.
Проблема, с которой я столкнулся:
Бот распознает помечает правильно, но выбирает противоречивые ответы.
Я подозреваю, что проблема может быть связана с тем, как используется модуль random.
Я спросил «кто открыл гравитацию», и он ответил: «Да Винчи нарисовал Мона Лиза".
def get_response(intents_list):
"""Generate a response based on predicted intents."""
if not intents_list:
return "I'm sorry, I didn't understand that. Could you rephrase?"
tag = intents_list[0]['intent']
list_of_intents = intents_json['intents']
for intent in list_of_intents:
if intent['tag'] == tag:
return intent['responses']
{
"tag": "general_knowledge",
"patterns": [
"who invented the lightbulb",
"what is the capital of France",
"who painted the Mona Lisa",
"when was the Declaration of Independence signed",
"what is the square root of 144",
"who discovered gravity",
"what is the largest planet in our solar system"
],
"responses": [
"The lightbulb was invented by Thomas Edison.",
"The capital of France is Paris.",
"The Mona Lisa was painted by Leonardo da Vinci.",
"The Declaration of Independence was signed on July 4, 1776.",
"The square root of 144 is 12.",
"Gravity was discovered by Sir Isaac Newton.",
"The largest planet in our solar system is Jupiter."
]
}
Что я пробовал:
Проверил файл JSON.
Проверил логику сопоставления ответов.
Попытался распечатать операторы отладки, чтобы убедиться, что передается правильный тег.
Большой вопрос:
Как бот может ответить в соответствии с заданным вопросом, а не выбираете случайные ответы из списка тегов?
Я благодарен за любые идеи, которые могут помочь мне решить эту проблему. Я потратил много времени на этот школьный проект; ваша помощь будет много значить!
Я учусь в старшей школе и работаю над проектом чат-бота с использованием [b]Python 3.10[/b] в Visual Studio в своей собственной [b]виртуальной среде, поддерживающей TensorFlow[/b]. Я создаю его [b]без API[/b]. Бот [b]успешно распознает теги[/b] из введенных пользователем данных, но часто не возвращает правильные ответы. Вместо этого он выбирает любой [b]случайный ответ из скобок ответов.[/b] Что я пытаюсь сделать: [list] [*]Сохраняйте данные чат-бота (теги, шаблоны, ответы) в файле JSON. [*]Сопоставляйте введенные пользователем данные с тегом и возвращайте ответ из соответствующего списка. [*]Я использовал случайный порядок, чтобы перетасовать приветствия и прощаемся. [/list] Проблема, с которой я столкнулся: [list] [*]Бот распознает помечает правильно, но выбирает противоречивые ответы. [*]Я подозреваю, что проблема может быть связана с тем, как используется модуль [b]random[/b]. [*]Я спросил «кто открыл гравитацию», и он ответил: «Да Винчи нарисовал Мона Лиза". [/list] Соответствующий код: Функция выбора ответов: [code]def get_response(intents_list): """Generate a response based on predicted intents.""" if not intents_list: return "I'm sorry, I didn't understand that. Could you rephrase?"
tag = intents_list[0]['intent'] list_of_intents = intents_json['intents'] for intent in list_of_intents: if intent['tag'] == tag: return intent['responses'] [/code] Пример файла JSON: [code]{ "tag": "general_knowledge", "patterns": [ "who invented the lightbulb", "what is the capital of France", "who painted the Mona Lisa", "when was the Declaration of Independence signed", "what is the square root of 144", "who discovered gravity", "what is the largest planet in our solar system" ], "responses": [ "The lightbulb was invented by Thomas Edison.", "The capital of France is Paris.", "The Mona Lisa was painted by Leonardo da Vinci.", "The Declaration of Independence was signed on July 4, 1776.", "The square root of 144 is 12.", "Gravity was discovered by Sir Isaac Newton.", "The largest planet in our solar system is Jupiter." ] }
[/code] Что я пробовал: [list] [*]Проверил файл JSON. [*]Проверил логику сопоставления ответов. [*]Попытался распечатать операторы отладки, чтобы убедиться, что передается правильный тег. [/list] Большой вопрос: Как бот может ответить в соответствии с заданным вопросом, а не выбираете случайные ответы из списка тегов? Я благодарен за любые идеи, которые могут помочь мне решить эту проблему. Я потратил много времени на этот школьный проект; ваша помощь будет много значить!
Я учусь в старшей школе и работаю над проектом чат-бота с использованием Python 3.10 в Visual Studio в своей собственной виртуальной среде, поддерживающей TensorFlow . Я создаю его без API . Бот успешно распознает теги из введенных пользователем...
Я создаю чат-бота на Django, который получает ответы из PDF-документов на основе вопросов пользователей. У меня есть функция get_response, которая использует хранилище векторов для поиска соответствующих ответов, но кажется, что предыдущие ответы не...
Я создаю веб-приложение для прогнозного обслуживания, которое имеет панель управления с двумя разделами и чат-бота, созданного с помощью Streamlit, который интегрируется с API чат-бота Google Gemini. У меня также есть датчик реального времени,...
Описание проблемы:
У нас есть система управления контактами, где контакты могут быть помечены хэштегами (например, #work , #personal ). Система должна отфильтровать контакты на основе хэштегов, где контакт должен быть возвращен только в том случае,...
Я пытаюсь написать код для чат-бота (LSAR), в который вручную ввожу команды и ответы. У меня установлено несколько команд, и я пытаюсь понять, как установить сообщение об ошибке.
В последней строке я поместил все команды в фигурные скобки,...