From 060f9f1b178e4105ee25cf57039c6bf318ff8d1c Mon Sep 17 00:00:00 2001
From: BerendF <berend.fuchs@web.de>
Date: Tue, 18 Jun 2024 15:34:53 +0200
Subject: [PATCH] small improvements to frontend & training data

---
 .gitignore                                  |   6 +-
 .rasa/cache/cache.db                        | Bin 73728 -> 106496 bytes
 actions/__pycache__/actions.cpython-310.pyc | Bin 9459 -> 9723 bytes
 actions/actions.py                          |  13 +-
 config.yml                                  |  49 +++---
 credentials.yml                             |   2 +-
 data/nlu.yml                                | 185 +++++++++++++++++++-
 data/rules.yml                              |   5 +
 data/stories.yml                            |   8 +-
 domain.yml                                  |  21 +--
 templates/about.html                        |   4 +-
 templates/contact.html                      |   8 +-
 templates/index.html                        |   2 +-
 13 files changed, 249 insertions(+), 54 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6ea8874..0a87ee3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,5 @@
-models/
\ No newline at end of file
+models/
+.rasa/
+.rasa/cache/
+results/
+templates/typewriter.js
diff --git a/.rasa/cache/cache.db b/.rasa/cache/cache.db
index 6c78afb15a3efa4e113e851d0d9c78de7fd89607..8a139ba28bb29232cf18aed76318958f1f033ba7 100644
GIT binary patch
delta 34128
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

delta 2949
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

diff --git a/actions/__pycache__/actions.cpython-310.pyc b/actions/__pycache__/actions.cpython-310.pyc
index 6a970e47c782068588c21626a25b5b69dcb0b9da..7fd15b5cefdcd7caf6937f894dd120c252eb9803 100644
GIT binary patch
delta 2013
zcmbVNYfM~K5WeRw``%^W?91}pf|n&!N~BQQNO=f^mO`LtN!u;uF58tYyPUmXB)eM0
zn6!yWaenxNU|4^()h0H?#DDs)e>Bm=Kd!Mc{%cHpgcu)9)S0u}r?Da2WWIZ5&YW|<
znK@_f_VC@2%Cy~Xk?{Gzn4bH%?Pld~GIK+PE(QxaWouKXFxCbe;Q;(lvF)&;p8=&0
zC0mqWv9=Z}40~UT=M0;Mf|NJrjH)Rp@sp}qwY({nw0>!o<xQF~XIf>dbzaY3&`g`=
zoJqA7<h)t62~V@|vgFuHOtt4MYGqJbmsAIioMPnK(5t$)8Iuyyge1J&xeD~~Z0J;7
z=#dHU14qRNR}EvV8U8fP#%39^zW2yD(4$PCWFrU(DJPw-%rgylSEZn|$qL9@W%G>7
zIkqM*$`g_z7xh|FOU3W#a0P0*RD7YR&t_6d?HasqY_vydJK8%Utwf=q_re{cA5Iy&
zZ2T}<xr5*cEIK`oejM&Y*(P_d^p0uWZYi1)aV?fjr8V9PS54iX=g7YWp=ij?T*##2
ziWPn}wL2Yi$&?o7aW$qUv*+VkXfQ`CZRi(9$u`2c*{63in{0!GxtZ;!0y+-hlplq6
z5FCJlKLX#GS6J89i<Y05p&6}zb;93<{qU;ISapz8bK}C&g>!L!xQ%zyqC>E5<Dutq
zsIX#1R*PpuM2gINX?pg4U?)f&LRfhQZkq!zV?PrdCRJ{&EiKWBB}JAjt<qCErr;O*
zC+#CRQmp(azIZEv$lNg+jS?Iu7$X=bpcKKkl}|hAQ1VFv@%1V2IJ($5IOeF)Q)Ujq
zqT_5i71OA9lBY<;v`EDs=R8y4lJlR)DVjM=Ksn)O2q+yqMo><~hprX_Rhx6T?TWGl
zSlk234mm4kETY%N|HF90T`jmK;4^n$nQI0=GD{y4Tr+~}anH+ab?cTV&DwWDmR8f@
z=Vu9KAnALT%>k<#Hk>Cz0>-KanFjAwhkTDyqWO8aRW&7ey#*gNG{TU-t;}s1r{5qK
z!EG720lN;*26`<<w9;PLdU!oB>bist!uU{w$iw%6_K~HWMOdw>T{CIsoRzM<>Ih4!
zb5&ktc)eX^yZbS_XG5R2i8kOBZNLXTK_BFU)|fE*g)u<A;gQx5e4s0#QNEkpeH!d>
zConL4PWJEte63W~Mu3HU0gsl}W>S6WtTq<s6LG$rTu7|QIJq}ekNLh5@<S{Xy_fSV
zp(7oNWv9oysLN`+sORaW1r-X_{{JbI9PSl`x<Q3v9gqpPluLCHnO;LFmFi;o$Q$A3
zu*$yLntW<tcSq^-Jv|tjy}HL*I!cs}esH+!;Fapg6VKEa)g`K5i!*hwCR!$X8MpZI
zKGDm9=*^l%_QzI3?d0xAUa#Bdrl!RQ38)8C$ATa0!WL>f9=scT2%PmNFqFCa!G}T_
z6rp@muk7?{^W+n*(R9POsLovsd9oC4cnt~sPPD`oB2Dp?`dkZiMvf|?@6mskQ~&1F
gxj3~1PIr%AB%qA(HMkM!w$?eL&KhTvv&q}^FVb+chX4Qo

delta 1687
zcmbVMO>7%g5Z-66e|F=a^<QkqZq`ZMgl$}tVoI?}D%Wij<%fheg#s;&)9ltVb)E3+
z0y4I#R1|TERA~+zLZs#b5*Gx%fVdQiBea0%#fOR;T!5lbQ2|nU^XyazBpSui`#f)F
zX7_vFyqQ0zHYZ$5PNyue-?wAA^S_UL<hpAjeh|&`b}362s)b?!a^{4^cH&aG+<e=-
zmyi^cVj;L8Zn`kf%GMFK%GcqhWo+vCn)RA>L#W$oHr*Z;=yb()&EB?kX~R^v>$2YU
zmQb@F6|RuFR3k4F-BFWtXINMhbQiPS+)~ypaG`fUd}y5|3Ak@v1l68)wk(xGrD#w$
z`=AD&+Xm$Xvo=i({P3$S2`lzBr_{3NjmmtvxKyDdkdzL(lFZ+-mKQEA7Y$8@?<0P=
zDyeW?8i=KsE5cT}pMfljCI=CT*CZ3!WG8l_fKA>*9>){A(<~y$7JU*S4TnQ<sLNII
zMDw2fGhr-$a2)D>iuwMK21}PNo-^p^K01oAhv1--_GFl;k(OAl7|ZPwm?$bobKvp#
z+{c)C0=Hufsw2>lLqJ?-!{fL$C1dRrGf!!eLOaWXS#xmJ^+{@iSy~sJWPfx7A&W4D
zFpcmu!VJPJgO<5yl;92bBg#>H#6LWT)=6l((_|iga;p{;Ck-AY*HPdU+waF9uD~g-
zz@4ZKzEE_s0Gj81`~~#Bh=7Hmrx8#RdIq5*#<VwK-HZEWXn2RMIy0-IkW>5MYp<$p
z^8lK}>KOPh`%zyn=dDA|ccjC+#J-Tj4|3im&ifbNYvgh>?_VOR?U2T7g76Z;S&+Kl
zA&aolJz+KQfev@N$3@CaxE%=w{;es76d)gbj#Ik=$D@PrV{l)GUWK{e#1Kxe!sr2c
zA8v)R@a`^&h|m|F@l;t~+5XX2CAb_;k@GMahz_ocbq8-GPfcV^<gGc@gmqCjuM#5U
zg*k!ye2{TGc0dcx(48E&-jgv^{cy7<;C3x8l`GE}bk3l!7D{>etEZnSp+>S>N~n<_
zG$MN}^dWM{(JYta1C)b=;Pq&tBS?dZ@!kVL8l8J~f!t`G*>!AZ_4=+i!&nB?%ofYj
z>g2=fbxUm%{D#*n8yoJ>TVd3`dO&Z5)B7~`3c1@H?mM|NdLQ>cdLV<ZJdD7{TYEUP
ztkhU6EVoA<cTg{eVBah3Leen^4Lr+^RvH-JI@)Igvx#kX5zVvr{Lhs=7eCHxbdO7L
zJDzMy5LsnuzabBPWpSqk+G8dOncdSGA3I$bfK!v=;Go!r6z@94`chPpuCmD*gfDl;
PyLy#jMOB8BA^*_dGEZxk

diff --git a/actions/actions.py b/actions/actions.py
index 3e219de..ecad199 100644
--- a/actions/actions.py
+++ b/actions/actions.py
@@ -14,7 +14,7 @@ class ActionRecommendCuisine(Action):
             tracker: Tracker,
             domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
         
-        cuisines = ["Italian", "Chinese", "Mexican", "Indian", "French", "Japanese", "Thai", "Spanish", "Greek", "Turkish", "Moroccan", "Brazilian", "American", "Korean", "Vietnamese", "Ethiopian", "Russian", "Argentinian", "Lebanese", "German"]
+        cuisines = ["Italian", "Chinese", "Mexican", "Indian", "French", "Japanese", "Thai", "Spanish", "Greek", "Turkish", "Moroccan", "American", "Korean", "Vietnamese", "Ethiopian", "Argentinian", "Lebanese", "German"]
         recommended_cuisine = random.choice(cuisines)
         
         dispatcher.utter_message(text=f"I recommend you try {recommended_cuisine} cuisine!")
@@ -40,9 +40,12 @@ class ActionRecommendDish(Action):
         if response.status_code == 200:
             data = response.json()
             if data['results']:
-                dishes = random.sample(data['results'], 2)
-                dish_names = [dish['title'] for dish in dishes]
-                dispatcher.utter_message(text=f"How about trying: {dish_names[0]} or {dish_names[1]}?")
+                filtered_dishes = [dish for dish in data['results'] if len(dish['title'].split()) <= 3]
+
+                if len(filtered_dishes) >= 2:
+                    dishes = random.sample(filtered_dishes, 2)
+                    dish_names = [dish['title'] for dish in dishes]
+                    dispatcher.utter_message(text=f"How about trying: {dish_names[0]} or {dish_names[1]}?")
             else:
                 dispatcher.utter_message(text=f"Sorry, I couldn't find any dishes for {cuisine} cuisine.")
         else:
@@ -191,7 +194,7 @@ class ActionCostBreakdown(Action):
                 
                 if cost_response.status_code == 200:
                     cost_data = cost_response.json()
-                    cost_info = f"Total cost: {cost_data['totalCost']}, Cost per serving: {cost_data['costPerServing']}"
+                    cost_info = f"Total cost: {str(round(cost_data['totalCost']/100.0, 2))} $, Cost per serving: {str(round(cost_data['totalCostPerServing']/100.0, 2))} $"
                     dispatcher.utter_message(text=f"Here is the cost breakdown for {dish}: {cost_info}")
                 else:
                     dispatcher.utter_message(text="Sorry, I couldn't retrieve the cost breakdown at the moment.")
diff --git a/config.yml b/config.yml
index 8b004ca..c78895d 100644
--- a/config.yml
+++ b/config.yml
@@ -10,32 +10,35 @@ assistant_id: 20240528-105235-obliging-death
 # https://rasa.com/docs/rasa/nlu/components/
 language: en
 
-pipeline: null
-# # No configuration for the NLU pipeline was provided. The following default pipeline was used to train your model.
-# # If you'd like to customize it, uncomment and adjust the pipeline.
-# # See https://rasa.com/docs/rasa/tuning-your-model for more information.
-#   - name: WhitespaceTokenizer
-#   - name: RegexFeaturizer
-#   - name: LexicalSyntacticFeaturizer
-#   - name: CountVectorsFeaturizer
-#   - name: CountVectorsFeaturizer
-#     analyzer: char_wb
-#     min_ngram: 1
-#     max_ngram: 4
-#   - name: DIETClassifier
-#     epochs: 100
-#     constrain_similarities: true
-#   - name: EntitySynonymMapper
-#   - name: ResponseSelector
-#     epochs: 100
-#     constrain_similarities: true
-#   - name: FallbackClassifier
-#     threshold: 0.3
-#     ambiguity_threshold: 0.1
+pipeline: 
+ # No configuration for the NLU pipeline was provided. The following default pipeline was used to train your model.
+ # If you'd like to customize it, uncomment and adjust the pipeline.
+ # See https://rasa.com/docs/rasa/tuning-your-model for more information.
+   - name: WhitespaceTokenizer
+   - name: RegexFeaturizer
+     use_lookup_tables: True
+     use_regexes: True
+  # - name: RegexEntityExtractor
+  #   case_sensitive: False
+   - name: LexicalSyntacticFeaturizer
+   - name: CountVectorsFeaturizer
+   - name: CountVectorsFeaturizer
+     analyzer: char_wb
+     min_ngram: 1
+     max_ngram: 4
+   - name: DIETClassifier
+     epochs: 100
+     constrain_similarities: true
+   - name: EntitySynonymMapper
+   - name: ResponseSelector
+     epochs: 100
+   - name: FallbackClassifier
+     threshold: 0.3
+     ambiguity_threshold: 0.1
 
 # Configuration for Rasa Core.
 # https://rasa.com/docs/rasa/core/policies/
-policies: null
+policies: 
 # # No configuration for policies was provided. The following default policies were used to train your model.
 # # If you'd like to customize them, uncomment and adjust the policies.
 # # See https://rasa.com/docs/rasa/policies for more information.
diff --git a/credentials.yml b/credentials.yml
index edb4bdc..7fd50b6 100644
--- a/credentials.yml
+++ b/credentials.yml
@@ -34,6 +34,6 @@ rasa:
 
 
 
-  #   rasa run -m models --enable-api --cors “*” --debug
+#   rasa run -m models --enable-api --cors “*” --debug
 
 
diff --git a/data/nlu.yml b/data/nlu.yml
index a8ee96e..6dab257 100644
--- a/data/nlu.yml
+++ b/data/nlu.yml
@@ -7,6 +7,44 @@ nlu:
     - Hey
     - Hi there
     - Hello there
+    - Hey there
+    - Good morning
+    - Good afternoon
+    - Good evening
+    - Hiya
+    - What's up?
+    - Greetings
+    - Howdy
+    - Yo
+
+- intent: insult 
+  examples: |
+    - idiot
+    - fuck you
+    - moron
+    - go to hell
+    - jerk
+    - dumbass
+    - loser
+    - shut up
+    - worthless
+    - you suck
+    - fool
+
+- intent: ask_capability
+  examples: |
+    - What can you do?
+    - what are your capabilities?
+    - What are you able to do?
+    - Can you tell me your features?
+    - What skills do you have?
+    - What services do you offer?
+    - Can you list your functionalities?
+    - How can you assist me?
+    - What help can you provide?
+    - What kind of support do you give?
+    - What tasks can you perform?
+    - What can you assist with?
 
 - intent: ask_cuisine_recommendation
   examples: |
@@ -14,6 +52,18 @@ nlu:
     - What cuisine should I cook today?
     - Suggest a cuisine for dinner
     - Recommend something
+    - Suggest something
+    - Can you suggest a type of cuisine?
+    - I need a cuisine recommendation
+    - What's a good cuisine to try?
+    - Which cuisine should I go for today?
+    - Help me choose a cuisine
+    - Any cuisine suggestions?
+    - Recommend a type of food
+    - What cuisine is good for dinner?
+    - What's a good cuisine for lunch?
+    - Can you suggest something to eat?
+
 
 - intent: ask_dish_recommendation
   examples: |
@@ -46,6 +96,14 @@ nlu:
     - Suggest a dish from [Thai](cuisine_type) cuisine
     - Suggest a dish from [Vietnamese](cuisine_type) cuisine
     - What are some [Southern](cuisine_type) dishes
+    - Suggest a dish from [Indian](cuisine_type) cuisine
+    - What should I cook from [Japanese](cuisine_type) cuisine?
+    - Recommend a dish from [Thai](cuisine_type) cuisine
+    - What's a traditional dish from [Mexican](cuisine_type) cuisine?
+    - Suggest a popular dish from [French](cuisine_type) cuisine
+    - What should I make from [Greek](cuisine_type) cuisine?
+    - Name a dish from [Spanish](cuisine_type) cuisine
+    - Suggest something from [Mediterranean](cuisine_type) cuisine
 
 - intent: ask_recipe_steps
   examples: |
@@ -63,6 +121,16 @@ nlu:
     - What are the steps to make [Layered Greek Salad](dish_name)?
     - I want to cook [Beef Wellington](dish_name)
     - How to make [Eggs Benedict](dish_name)?
+    - Can you walk me through making [Pizza](dish_name)?
+    - What's the recipe for [Lasagna](dish_name)?
+    - How do I cook [Ramen](dish_name)?
+    - Give me the steps to make [Paella](dish_name)
+    - I need the recipe for [Tacos](dish_name)
+    - How do I prepare [Goulash](dish_name)?
+    - What are the instructions to make [Chili](dish_name)?
+    - Can you tell me how to cook [Biryani](dish_name)?
+    - What are the steps for [Enchiladas](dish_name)?
+    - How to make [Risotto](dish_name)?
 
 - intent: ask_nutrition_analysis
   examples: |
@@ -70,6 +138,16 @@ nlu:
     - Can you give me the nutrition facts for [Sushi](dish_name)?
     - I need the nutrition information for [Pho](dish_name)
     - What are the calories in [Biryani](dish_name)?
+    - What's the calorie count for [Pizza](dish_name)?
+    - Can you tell me the nutritional content of [Sushi](dish_name)?
+    - I need the nutrition facts for [Pho](dish_name)
+    - What are the carbs in [Biryani](dish_name)?
+    - How many calories are in [Pad Thai](dish_name)?
+    - What's the fat content of [Burger](dish_name)?
+    - Can you provide the protein information for [Salad](dish_name)?
+    - What's the fiber content in [Soup](dish_name)?
+    - How many sugars are in [Pasta](dish_name)?
+    - Give me the nutrition breakdown for [Steak](dish_name)
 
 - intent: ask_cost_breakdown
   examples: |
@@ -77,6 +155,17 @@ nlu:
     - Can you give me the cost analysis for [Sushi](dish_name)?
     - I need the cost information for [Pho](dish_name)
     - What are the costs for [Biryani](dish_name)?
+    - How much does this cost?
+    - How much will [Pizza](dish_name) cost to make?
+    - What's the price breakdown for [Sushi](dish_name)?
+    - Can you tell me the cost of making [Pho](dish_name)?
+    - What are the expenses for [Biryani](dish_name)?
+    - How much does it cost to cook [Pad Thai](dish_name)?
+    - What's the cost analysis for [Burger](dish_name)?
+    - How much will it be to prepare [Salad](dish_name)?
+    - Can you give me the cost details for [Soup](dish_name)?
+    - What's the price estimate for [Pasta](dish_name)?
+    - What's the financial breakdown for [Steak](dish_name)?
 
 - intent: ask_cooking_tips
   examples: |
@@ -84,6 +173,18 @@ nlu:
     - Do you have any cooking tips for [Sushi](dish_name)?
     - I need some cooking tips for [Pho](dish_name)
     - What are the best tips for cooking [Biryani](dish_name)?
+    - Any Tips for [Pad Thai](dish_name)?
+    - Any advice for cooking [Pizza](dish_name)?
+    - Can you share cooking tips for [Sushi](dish_name)?
+    - I need some advice for making [Pho](dish_name)
+    - What are some tips for cooking [Biryani](dish_name)?
+    - Do you have any tricks for [Pad Thai](dish_name)?
+    - What's the best way to cook [Burger](dish_name)?
+    - Any special tips for preparing [Salad](dish_name)?
+    - How can I improve my [Soup](dish_name)?
+    - What are the best methods for making [Pasta](dish_name)?
+    - Do you have any suggestions for [Steak](dish_name)?
+
 
 - intent: ask_related_recipes
   examples: |
@@ -91,12 +192,35 @@ nlu:
     - Can you give me some recipes similar to [Sushi](dish_name)?
     - I need some related recipes for [Pho](dish_name)
     - What are some recipes similar to [Biryani](dish_name)?
+    - What are some similar recipes to this one?
+    - What other recipes are similar to [Pizza](dish_name)?
+    - Can you suggest some recipes like [Sushi](dish_name)?
+    - I need more recipes like [Pho](dish_name)
+    - What are some dishes similar to [Biryani](dish_name)?
+    - What other recipes are like [Pad Thai](dish_name)?
+    - Can you provide related recipes to [Burger](dish_name)?
+    - I want similar recipes to [Salad](dish_name)
+    - What dishes are related to [Soup](dish_name)?
+    - Suggest recipes that are like [Pasta](dish_name)
+    - What recipes are similar to [Steak](dish_name)?
 
 - intent: ask_show_picture
   examples: |
     - Can you show me pictures?
     - I want to see pictures of the dish
     - Show me pictures of [Pizza](dish_name)
+    - pics for [](dish_name)
+    - What does [](dish_name) look like?
+    - Can you show me a picture of [Pizza](dish_name)?
+    - I'd like to see a photo of [Sushi](dish_name)
+    - Show me an image of [Pho](dish_name)
+    - Do you have pictures of [Biryani](dish_name)?
+    - Can you display pictures of [Pad Thai](dish_name)?
+    - What does [Burger](dish_name) look like?
+    - Show me a picture of [Salad](dish_name)
+    - I want to see [Soup](dish_name)
+    - Can I see photos of [Pasta](dish_name)?
+    - Do you have images of [Steak](dish_name)?
 
 - intent: goodbye
   examples: |
@@ -104,6 +228,16 @@ nlu:
     - Bye
     - See you later
     - Bye bye
+    - See you
+    - Take care
+    - Farewell
+    - Have a good day
+    - Catch you later
+    - Peace out
+    - Later
+    - Bye for now
+    - Talk to you later
+    - See you soon
 
 - intent: thanks
   examples: |
@@ -111,6 +245,14 @@ nlu:
     - Thank you
     - Thanks a lot
     - I appreciate it
+    - I appreciate your help
+    - Much appreciated
+    - You're the best
+    - Thanks a million
+    - Thanks a bunch
+    - Many thanks
+    - I owe you one
+    - Grateful for your help
 
 - intent: affirm
   examples: |
@@ -118,18 +260,59 @@ nlu:
     - Sure
     - Absolutely
     - Of course
+    - Definitely
+    - Without a doubt
+    - For sure
+    - Yup
+    - Totally
+    - Absolutely right
+    - I agree
+    - That's correct
+    - Sure thing
+    - Indeed
 
 - intent: deny
   examples: |
     - No
     - No thanks
     - Not really
+    - ew
+    - Ew
+    - Not at all
+    - No way
+    - Not interested
+    - Nah
+    - Nope
+    - Not happening
+    - I disagree
+    - Not for me
+    - No chance
+    - Certainly not
 
 - intent: smalltalk
   examples: |
     - How are you?
+    - How are you doing?
     - What are you doing?
     - Tell me something about yourself
-    - Do you have any hobbies?
     - How was your day?
     - What's your favorite food?
+    - Do you enjoy cooking?
+    - What's up?
+    - How's everything?
+    - How's it going?
+    - What's new?
+    - How's life?
+    - How are you feeling?
+    - What's the latest?
+    - What's going on?
+    - What have you been up to?
+    - Any plans for today?
+
+- lookup: dish_name
+  examples: |
+    - Salmon Quinoa Risotto
+    - Chipotle Chili 
+    - Vegetable Minestrone Soup
+    - vegetable minestrone soup
+    - Italian Tuna Pasta
diff --git a/data/rules.yml b/data/rules.yml
index 0c6ada9..d1d2e01 100644
--- a/data/rules.yml
+++ b/data/rules.yml
@@ -1,4 +1,9 @@
 version: "3.1"
 
 rules:
+- rule: 
+  steps:
+  - intent: insult
+  - action: utter_capability
+
 
diff --git a/data/stories.yml b/data/stories.yml
index f4ccbce..18519c1 100644
--- a/data/stories.yml
+++ b/data/stories.yml
@@ -5,6 +5,12 @@ stories:
   - intent: greet
   - action: utter_greet
 
+- story: capabilities
+  steps: 
+  - intent: ask_capability
+  - action: utter_capability
+  - action: utter_capability
+
 - story: recommend cuisine
   steps:
   - intent: ask_cuisine_recommendation
@@ -21,7 +27,7 @@ stories:
   steps:
   - intent: ask_recipe_steps
   - slot_was_set:
-    - dish_name: "Green Curry"
+    - dish_name: "Pizza"
   - action: action_provide_recipe_steps
 
 - story: show picture
diff --git a/domain.yml b/domain.yml
index 339152f..fd602c4 100644
--- a/domain.yml
+++ b/domain.yml
@@ -15,6 +15,7 @@ intents:
   - affirm
   - deny
   - smalltalk
+  - ask_capability
 
 entities:
   - cuisine_type
@@ -68,23 +69,13 @@ responses:
     - text: "Okay. I'm here if you have any other questions."
     - text: "Understood. If you need more help, just let me know."
 
-  utter_default:
-    - text: "I'm sorry, I didn't understand that. Can you please rephrase?"
-
   utter_smalltalk:
     - text: "That sounds interesting! Tell me more."
     - text: "Oh, that's nice to hear!"
     - text: "Sounds good! What else do you have planned?"
 
-  utter_ask_cuisine_recommendation:
-    - text: "I recommend you try {cuisine_type} cuisine. Have you ever tried {dish_name}? It's delicious!"
-    - text: "How about {cuisine_type} cuisine? {dish_name} is an excellent dish you should try."
-    - text: "Why not try {cuisine_type} cuisine? Especially {dish_name}, which is highly recommended."
-
-  utter_ask_dish_recommendation:
-    - text: "How about trying {dish_name1} or {dish_name2}?"
-    - text: "I suggest you try {dish_name1} or {dish_name2}."
-    - text: "Have you tried {dish_name1} or {dish_name2}? Both are very tasty."
-
-  utter_show_picture:
-    - text: "Here are pictures of {dish_name}."
+  utter_capability:
+   - text: I can give you cuisine recommendations.
+   - text: I know some recipes if you need any guidance!
+   - text: I could tell you any info that you might need on recipes from Spooncular.  
+  
\ No newline at end of file
diff --git a/templates/about.html b/templates/about.html
index c8c5004..6a20763 100644
--- a/templates/about.html
+++ b/templates/about.html
@@ -51,8 +51,8 @@
 </head>
 <body>
     <div id="content-container">
-        <div id="header">About Rasa Chatbot</div>
-        <p>Welcome to the Rasa Chatbot! This bot is designed to assist you with various tasks and answer your questions. It uses natural language processing to understand and respond to your queries in real-time.</p>
+        <div id="header">About My Rasa Chatbot</div>
+        <p>Welcome to my Rasa Chatbot! This bot is designed to provide you with various recipes and suggest cuisines. It can give you detailed information on these recipes and can also give you cost breakdowns as well as show pictures of the recipes.</p>
         <div id="footer">
             <a href="/">Home</a>
             <a href="/about">About</a>
diff --git a/templates/contact.html b/templates/contact.html
index c09c67e..e58f001 100644
--- a/templates/contact.html
+++ b/templates/contact.html
@@ -51,10 +51,10 @@
 </head>
 <body>
     <div id="content-container">
-        <div id="header">Contact Rasa Chatbot</div>
-        <p>If you have any questions or need further assistance, please feel free to reach out to us.</p>
-        <p>Email: support@rasabot.com</p>
-        <p>Phone: +1 234 567 890</p>
+        <div id="header">Recipe Chatbot based on RASA</div>
+        <p>Made By Berend Fuchs</p>
+        <p>Email: berend.fuchs@student.reutlingen-university.de</p>
+        <p>814080</p>
         <div id="footer">
             <a href="/">Home</a>
             <a href="/about">About</a>
diff --git a/templates/index.html b/templates/index.html
index 66a90ff..be5328f 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -89,7 +89,7 @@
     </style>
 </head><body>
     <div id="chat-container">
-        <div id="header">Rasa Chatbot</div>
+        <div id="header">Chatbot</div>
         <div id="chat-box"></div>
         <div id="input-box">
             <input type="text" id="user-input" placeholder="Type your message here...">
-- 
GitLab