diff --git a/app/README.md b/app/README.md deleted file mode 100644 index 23dd6eb024e87084d762c044b983e997102f27ea..0000000000000000000000000000000000000000 --- a/app/README.md +++ /dev/null @@ -1,82 +0,0 @@ -# Anforderungen -- Einen regelbasierten Chatbot aufbauen -- Webanwendung, welche unter localhost läuft -- Kurze Entwicklungsdauer (~2 Monate) -- Kein zu hoher Tech-Stack, Technologien mit Vorkenntnissen einsetzen -- Themengebiete außerhalb des Scopes sollen kompetent gemieden werden - -## Funktionsumfang -- Chatbot, welcher Fragen eines gewissen Rahmens beantworten kann -- Simple, leicht bedienbare UI, mit Weltraum-Thematik -- Einfache Login-Funktion mit vorgefertigten Usern (Datenbank) -- Integration von APIs mit erweiterten Informationen zum Themengebiet -- Dokumentation auf GitLab, samt Interaktionsfluss - -## Optionaler Funktionsumfang/ Aussicht -- Authentifizierung und Autorisierung -- Skalierbarkeit mit mehreren Nutzern -- Datenschutz in der Datenbank -- Mehrsprachigkeit -- Logging -- Analyse- und Feedbacktools -- Testing-Strategie - -# Thematik und Inhalt -- Grundlegende Informationen über das Leben, der alltäglichen Arbeit und Experimenten auf einer Raumstation -- Informationen zum Training und Ausbildung der Astronauten -- Bedeutung der Raumfahrttechnologie -- Zielgruppen: Schüler, Studenten und angehende Weltraumpiloten - -## Erweiterter Scope -- Herausforderungen und psychologische Auswirkungen - -## Umfangreicher Scope -- Zukünftige Raumfahrtmissionen -- Aufbau von Raumkolonien -- Rolle der Raumfahrt in der Zukunft der Menschheit - -# Technologieauswahl - -## Programmiersprache -- [Python] -- Java -- [JavaScript] -- Ruby -- C# - -Python für die Logik des Chatbots -- Einfachheit und Lesbarkeit -- Große Anzahl an Bibliotheken (NLTK, spaCy) -- Mangelnde Skalierbarkeit und Leistung für den Scope ausreichend -- Gute Integration mit vielen Systemen und Frameworks -- Gute Dokumentation - -JavaScript für die Webinteraktionen -- Gute Ergänzung zu Python -- Für die Frontend-Entwicklung - -## Chatbot-Frameworks - -Kategorien: -- Gute Integration mit Web-Frameworks -- Gute Dokumentation und leicht Verständlich, durch die kurze Entwicklungsdauer -- Regelbasierter Ansatz -- Generell und nicht spezialisiert - -Auswahl: -- Botpress (persönliche Präferenz, Fokus auf Python statt JS) -- [Rasa] -- ChatterBot (doch zu einfach, evtl. schwerer in Web-Framework einbindbar) -- Microsoft Bot Framework (zu komplex) -- Dialogflow (Zwang zur Nutzung der Google-Infrastruktur) -- Wit.ai (eventuell beschränkte Funktionsoptionen) - -## Web-Framework -- [Flask] -- Django (zu starr und schwergewichtig für den Scope) - -## Weitere Komponenten -- Datenbank -- API-Anbindungen -- Container-Technologie -- Logging, Testing und Analytik diff --git "a/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.54 - A cartoony space-robot standing on the surface of a colorful alien planet. The robot has a playful design with exaggerated features, bright colors, an.webp" "b/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.54 - A cartoony space-robot standing on the surface of a colorful alien planet. The robot has a playful design with exaggerated features, bright colors, an.webp" new file mode 100644 index 0000000000000000000000000000000000000000..55cace721990a0c35d359c116d859824abb2eda6 --- /dev/null +++ "b/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.54 - A cartoony space-robot standing on the surface of a colorful alien planet. The robot has a playful design with exaggerated features, bright colors, an.webp" @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. +RequestId:39e44793-801e-005d-7d06-c06cb1000000 +Time:2024-06-16T15:58:54.2644863Z</Message><AuthenticationErrorDetail>Signed expiry time [Sun, 16 Jun 2024 15:48:46 GMT] must be after signed start time [Sun, 16 Jun 2024 15:58:54 GMT]</AuthenticationErrorDetail></Error> \ No newline at end of file diff --git "a/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.55 - A cartoony space-robot standing on the surface of an alien planet with a more subdued color palette. The robot has a playful design with exaggerated f.webp" "b/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.55 - A cartoony space-robot standing on the surface of an alien planet with a more subdued color palette. The robot has a playful design with exaggerated f.webp" new file mode 100644 index 0000000000000000000000000000000000000000..14324126085a3a32ea64d4d9ffcdbffe758d2568 --- /dev/null +++ "b/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.55 - A cartoony space-robot standing on the surface of an alien planet with a more subdued color palette. The robot has a playful design with exaggerated f.webp" @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. +RequestId:b15016f6-f01e-003a-0606-c0ff9d000000 +Time:2024-06-16T15:58:55.6576196Z</Message><AuthenticationErrorDetail>Signed expiry time [Sun, 16 Jun 2024 15:49:07 GMT] must be after signed start time [Sun, 16 Jun 2024 15:58:55 GMT]</AuthenticationErrorDetail></Error> \ No newline at end of file diff --git "a/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.56 - A cartoony space-robot standing on the surface of an alien planet with a more subdued color palette. The robot has a playful design with exaggerated f.webp" "b/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.56 - A cartoony space-robot standing on the surface of an alien planet with a more subdued color palette. The robot has a playful design with exaggerated f.webp" new file mode 100644 index 0000000000000000000000000000000000000000..da818603e9e2ad9f9648f0bc2ac8136020af0f22 --- /dev/null +++ "b/app/static/robo_images/DALL\302\267E 2024-06-16 17.58.56 - A cartoony space-robot standing on the surface of an alien planet with a more subdued color palette. The robot has a playful design with exaggerated f.webp" @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthenticationFailed</Code><Message>Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. +RequestId:3eb0871f-e01e-004b-7506-c0269f000000 +Time:2024-06-16T15:58:56.7098453Z</Message><AuthenticationErrorDetail>Signed expiry time [Sun, 16 Jun 2024 15:49:48 GMT] must be after signed start time [Sun, 16 Jun 2024 15:58:56 GMT]</AuthenticationErrorDetail></Error> \ No newline at end of file diff --git a/rasa/data/rules.yml b/rasa/data/rules.yml index 7272fc16c3e27c21c4da07d4f6c27c9a6a425706..482de71554ac9940974a446569245cfc2e6ef4cb 100644 --- a/rasa/data/rules.yml +++ b/rasa/data/rules.yml @@ -2,17 +2,32 @@ version: "3.1" rules: -- rule: Say goodbye to the user +- rule: respond to a thankful user + steps: + - intent: thank_you + - action: utter_your_welcome + +- rule: say goodbye to the user steps: - intent: goodbye - action: utter_goodbye -- rule: Easter Egg +- rule: demand a respectful tone during conversations + steps: + - intent: insult + - action: utter_respectful_conversation + +- rule: easter egg steps: - intent: hello_there - action: utter_easter_egg -- rule: Demand a respectful tone during conversations +- rule: joke steps: - - intent: insult - - action: utter_respectful_conversation \ No newline at end of file + - intent: ask_for_joke + - action: utter_joke + +- rule: entrypoint 1 + steps: + - intent: ask_what_else + - action: utter_entry_point diff --git a/rasa/data/stories.yml b/rasa/data/stories.yml index 01fe3c60f60509451b1dae47190fdcccdc34a67e..e93d792c38ff2833a1ef3f01b334e6fa80f2e0ce 100644 --- a/rasa/data/stories.yml +++ b/rasa/data/stories.yml @@ -1,7 +1,6 @@ version: "3.1" stories: - - story: happy path steps: - intent: greet @@ -10,6 +9,8 @@ stories: - action: utter_great - intent: ask_mood - action: utter_mood + - intent: ask_what_else + - action: utter_entry_point - story: sad path with joke steps: @@ -21,94 +22,5 @@ stories: - action: utter_joke - intent: ask_mood - action: utter_mood - -- story: joke - steps: - - intent: ask_for_joke - - action: utter_joke - - intent: ask_mood - - action: utter_mood - -- story: faq - steps: - - intent: ask_help - - action: utter_help - - intent: ask_faq - - action: utter_faq - - intent: ask_capabilities - - action: utter_capabilities - -- story: report bug - steps: - - intent: ask_help - - action: utter_help - - intent: report_bug - - action: utter_bug_reported - - intent: feedback - - action: utter_feedback_received - -- story: guide - steps: - - intent: ask_help - - action: utter_help - - intent: ask_recommendations - - action: utter_give_guide - -- story: contact_info - steps: - - intent: ask_contact_info - - action: utter_contact - - intent: feedback - - action: utter_feedback_received - -- story: good feedback - steps: - - intent: your_good - - action: utter_good_feedback - - intent: feedback - - action: utter_feedback_received - -- story: bad feedback - steps: - - intent: ask_real_time - - action: utter_no_real_time - - intent: your_bad - - action: utter_bad_feedback - - intent: feedback - - action: utter_feedback_received - -- story: real time capabilities - steps: - - intent: ask_real_time - - action: utter_no_real_time - - intent: ask_capabilities - - action: utter_capabilities - -- story: questions 1 - steps: - - intent: ask_name - - action: utter_name - - intent: ask_purpose - - action: utter_purpose - -- story: questions 2 - steps: - - intent: what_are_you - - action: utter_what_i_am - - intent: ask_purpose - - action: utter_purpose - - intent: ask_creation - - action: utter_creation - - intent: ask_creator - - action: utter_creator - -- story: questions 3 - steps: - - intent: ask_name - - action: utter_name - - intent: ask_purpose - - action: utter_purpose - - intent: ask_creation - - action: utter_creation - - intent: ask_technology - - action: utter_technology \ No newline at end of file + - intent: ask_what_else + - action: utter_entry_point diff --git a/rasa/domain.yml b/rasa/domain.yml index a80d88dd8049af87136afce9d26852c3cd8fd2f9..ff352eb757b90b19422c31679aff731af71f1b95 100644 --- a/rasa/domain.yml +++ b/rasa/domain.yml @@ -6,124 +6,98 @@ intents: - hello_there - affirm - thank_you - - deny +# - deny - insult - happy - unhappy - - your_good - - your_bad - - what_are_you - - ask_name - - ask_contact_info - - ask_capabilities - - ask_purpose - - ask_creator - - ask_creation - - ask_technology - - ask_real_time +# - your_good +# - your_bad +# - what_are_you +# - ask_name +# - ask_contact_info +# - ask_capabilities +# - ask_purpose +# - ask_creator +# - ask_creation +# - ask_technology +# - ask_real_time - ask_mood - ask_for_joke - - ask_help - - ask_faq - - report_bug - - feedback - - ask_recommendations -# - set_preferences -# - get_preferences - - everyday_life - - food - - sleep - - fun_fact - - skills - - preparation - - training_duration - - get_started - - space_station_purpose - - space_station_goals - - space_station_and_science - - space_station_stations - - space_station_planned - - sapce_station_nations - - experiment_kinds - - experiment_benefits_for_earth - - experiment_most_relevant - - challenges - - isolation - - psychological_effects +# - ask_help +# - ask_faq +# - report_bug +# - feedback +# - ask_recommendations + - ask_what_else +# # - set_preferences +# # - get_preferences +# - everyday_life +# - food +# - sleep +# - fun_fact +# - skills +# - preparation +# - training_duration +# - get_started +# - space_station_purpose +# - space_station_goals +# - space_station_and_science +# - space_station_stations +# - space_station_planned +# - sapce_station_nations +# - experiment_kinds +# - experiment_benefits_for_earth +# - experiment_most_relevant +# - challenges +# - isolation +# - psychological_effects responses: - utter_greet: - - text: "Hello and welcome aboard! How can I assist you today?" - #I am Spacemate, your dedicated guide to share insights about the wonders of space stations." + utter_your_welcome: + - text: "You're welcome! I am always happy to assist you." + - text: "Of course! If you have any other question or request feel free to ask them!" + - text: "I'm glad, that I could help you. If there is something else that you want to know go ahead!" utter_goodbye: - text: "Farewell! It was a pleasure assisting you. Safe travels through the cosmos!" + - text: "Goodybe. It's always nice to help you. Smooth sailing across the cosmos!" + - text: "Take care! May your journey be safe and full of wonder!" + + utter_respectful_conversation: + - text: "Please refrain from using this language! I'm keeping this converstaion respectful and expect the same from you!" + - text: "I won't answer to that, I'm sorry. Please keep this conversations free from insults!" + - text: "I am always happy to help, but I demand a respecful tone. Please keep this conversation insult free." + + utter_easter_egg: + - text: "General Kenobi! You are a bold one." + + utter_greet: + - text: "Hello and welcome aboard! How are we feeling today?" + - text: "Welcome to the most exiting yourney of your life! How are you feeling today?" + - text: "Hey there, I am Spacemate, your dedicated guide to the wonders of space stations. How are you?" utter_great: - text: "That's awesome! That makes me happy to hear!" - - utter_mood: - - text: "I am very well, thank's for asking! But it might not be in the traditional way, as a human might experience it, hehe." + - text: "That's good to hear, carry on!" + - text: "Wonderful! I'm glad to hear that!" utter_worried: - text: "Oh, I'm sorry to hear that. Mabye a joke might cheer you up?" + - text: "That's too bad! Might a joke help your mood?" + - text: "Oh no, I am sad to hear that. Wanna hear a joke?" utter_joke: - - text: "Bündnis 90 Die Grünen" - - utter_help: - - text: "FAQ, capabilities, bug, guide or feedback?" - - utter_faq: - - text: "Sure, but the faq needs to be done!" - - utter_capabilities: - - text: "I am capable of holding basic conversations and can give you detailed information about space stations. Additionally I can give you information about me, my creation, my creator and have a feedback feature, which you are free to use to improve the quality of this chatbot!" - - utter_bug_reported: - - text: "Oh, that's too bad. I can not react to individual bugs, but you can share more information about it with my feedback feature!" - - utter_feedback_received: - - text: "That feature is missing at the moment, but it will be added in the future! Thanks for trying to improve this chatbot!" - - utter_give_guide: - - text: "GUIDE" + - text: "Why don't astronauts get hungry after being blasted into space? Because they've just had a big launch!" + - text: "How do you organize a party in space? You planet!" + - text: "What is an astronaut's favorite part of a computer? The space bar!" - utter_contact: - - text: "You contact the creator and maintainer of this chatbot through this email-address: Dominic_Daniel.Kraemer@Student.Reutlingen-University.de" - - utter_good_feedback: - - text: "That makes me really happy to hear! Thanks! If you want to give a detailed feedback, you are free to use my feedback feature!" - - utter_no_real_time: - - text: "I can't process real-time information!" - - utter_bad_feedback: - - text: "Oh, I'm sorry for not fullfilling your expectations. If want to like to share your experience you can always use my feedback feature." - - utter_name: - - text: "I am Spacemate, your AI-powered chatbot. That's the name my lovely creator gave me." - - utter_what_i_am: - - text: "I am the best Chatbot ever!" - - utter_purpose: - - text: "I am Spacemate, an AI-powered chatbot, designed to be your guide and assistant in exploring all things space stations. I provide information, fun facts, and much more! I can even tell you a joke if you want to!" - - utter_creation: - - text: "I was created for a university project. More details will be added in the future!" - - utter_creator: - - text: "My creator is Dominic Krämer, a student of Reutlingen University. Hope that helps!" - - utter_technology: - - text: "I was build using Python with the Rasa framework. The source code is publicly available at: gitlab.reutlingen-university.de. Hope that answers your question!" - - utter_easter_egg: - - text: "General Kenobi! You are a bold one." + utter_mood: + - text: "I am very well, thanks for asking! But it might not be in the traditional way, as a human might experience it, hehe." + - text: "Everythins perfect, thank you." + - text: "The wonders of the space are always keeping me up and exiting! Thanks for asking!" - utter_respectful_conversation: - - text: "Please refrain from using this language! I'm keeping this converstaion respectful and expect the same from you!" + utter_entry_point: + - text: "Entry Point (Placeholder)" session_config: session_expiration_time: 60