Upload files to 'chatbot'
This commit is contained in:
+121
@@ -0,0 +1,121 @@
|
||||
import requests
|
||||
from flask import Flask, request, jsonify,render_template
|
||||
from flask_cors import CORS
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
|
||||
|
||||
CORS(app)
|
||||
|
||||
# import nltk
|
||||
# nltk.download('popular')
|
||||
# from nltk.stem import WordNetLemmatizer
|
||||
# lemmatizer = WordNetLemmatizer()
|
||||
# import pickle
|
||||
# import numpy as np
|
||||
|
||||
# from keras.models import load_model
|
||||
# model = load_model('model.h5')
|
||||
# import json
|
||||
# import random
|
||||
# intents = json.loads(open('data.json').read())
|
||||
# words = pickle.load(open('texts.pkl','rb'))
|
||||
# classes = pickle.load(open('labels.pkl','rb'))
|
||||
|
||||
# def clean_up_sentence(sentence):
|
||||
# # tokenize the pattern - split words into array
|
||||
# sentence_words = nltk.word_tokenize(sentence)
|
||||
# # stem each word - create short form for word
|
||||
# sentence_words = [lemmatizer.lemmatize(word.lower()) for word in sentence_words]
|
||||
# return sentence_words
|
||||
|
||||
# # return bag of words array: 0 or 1 for each word in the bag that exists in the sentence
|
||||
|
||||
# def bow(sentence, words, show_details=True):
|
||||
# # tokenize the pattern
|
||||
# sentence_words = clean_up_sentence(sentence)
|
||||
# # bag of words - matrix of N words, vocabulary matrix
|
||||
# bag = [0]*len(words)
|
||||
# for s in sentence_words:
|
||||
# for i,w in enumerate(words):
|
||||
# if w == s:
|
||||
# # assign 1 if current word is in the vocabulary position
|
||||
# bag[i] = 1
|
||||
# if show_details:
|
||||
# print ("found in bag: %s" % w)
|
||||
# return(np.array(bag))
|
||||
|
||||
# def predict_class(sentence, model):
|
||||
# # filter out predictions below a threshold
|
||||
# p = bow(sentence, words,show_details=False)
|
||||
# res = model.predict(np.array([p]))[0]
|
||||
# ERROR_THRESHOLD = 0.25
|
||||
# results = [[i,r] for i,r in enumerate(res) if r>ERROR_THRESHOLD]
|
||||
# # sort by strength of probability
|
||||
# results.sort(key=lambda x: x[1], reverse=True)
|
||||
# return_list = []
|
||||
# for r in results:
|
||||
# return_list.append({"intent": classes[r[0]], "probability": str(r[1])})
|
||||
# return return_list
|
||||
|
||||
# def getResponse(ints, intents_json):
|
||||
# tag = ints[0]['intent']
|
||||
# list_of_intents = intents_json['intents']
|
||||
# for i in list_of_intents:
|
||||
# if(i['tag']== tag):
|
||||
# result = random.choice(i['responses'])
|
||||
# break
|
||||
# return result
|
||||
|
||||
# def chatbot_response(msg):
|
||||
# ints = predict_class(msg, model)
|
||||
# res = getResponse(ints, intents)
|
||||
# return res
|
||||
|
||||
|
||||
|
||||
app.static_folder = 'static'
|
||||
|
||||
|
||||
|
||||
# Define the Rasa server URL
|
||||
rasa_server_url = "http://localhost:5005/webhooks/rest/webhook"
|
||||
|
||||
@app.route("/")
|
||||
def home():
|
||||
return render_template("index.html")
|
||||
|
||||
|
||||
@app.route('/webhook', methods=['POST','GET'])
|
||||
def webhook():
|
||||
message = request.json['message']
|
||||
# message =request.args.get('msg')
|
||||
|
||||
# Send the message to the Rasa server
|
||||
rasa_response = requests.post(rasa_server_url, json={"message": message}).json()
|
||||
|
||||
# for d in rasa_response:
|
||||
# a=d["text"]
|
||||
|
||||
# Return the Rasa response as a JSON object
|
||||
print(rasa_response)
|
||||
if len(rasa_response)==0:
|
||||
return jsonify([
|
||||
{
|
||||
"recipient_id": "default",
|
||||
"text": "I'm sorry, I didn't understand that. Can you please rephrase?"
|
||||
}])
|
||||
else:
|
||||
return jsonify(rasa_response)
|
||||
|
||||
|
||||
|
||||
@app.route("/get")
|
||||
def get_bot_response():
|
||||
userText = request.args.get('msg')
|
||||
return chatbot_response(userText)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0',port=5020)
|
||||
@@ -0,0 +1,38 @@
|
||||
recipe: default.v1
|
||||
assistant_id: 20230411-174114-maximum-louver
|
||||
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
|
||||
policies: null
|
||||
# # 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.
|
||||
# - name: MemoizationPolicy
|
||||
# - name: RulePolicy
|
||||
# - name: UnexpecTEDIntentPolicy
|
||||
# max_history: 5
|
||||
# epochs: 100
|
||||
# - name: TEDPolicy
|
||||
# max_history: 5
|
||||
# epochs: 100
|
||||
# constrain_similarities: true
|
||||
@@ -0,0 +1,38 @@
|
||||
# This file contains the credentials for the voice & chat platforms
|
||||
# which your bot is using.
|
||||
# https://rasa.com/docs/rasa/messaging-and-voice-channels
|
||||
|
||||
#rest:
|
||||
# # you don't need to provide anything here - this channel doesn't
|
||||
# # require any credentials
|
||||
|
||||
|
||||
# rest:
|
||||
# # You can customize the webhook URL to include the user's ID as a parameter
|
||||
# webhook_url: "http://localhost:5005/webhooks/rest/webhook?recipient_id={sender_id}"
|
||||
|
||||
#facebook:
|
||||
# verify: "<verify>"
|
||||
# secret: "<your secret>"
|
||||
# page-access-token: "<your page access token>"
|
||||
|
||||
#slack:
|
||||
# slack_token: "<your slack token>"
|
||||
# slack_channel: "<the slack channel>"
|
||||
# slack_signing_secret: "<your slack signing secret>"
|
||||
|
||||
#socketio:
|
||||
# user_message_evt: <event name for user message>
|
||||
# bot_message_evt: <event name for bot messages>
|
||||
# session_persistence: <true/false>
|
||||
|
||||
#mattermost:
|
||||
# url: "https://<mattermost instance>/api/v4"
|
||||
# token: "<bot token>"
|
||||
# webhook_url: "<callback URL>"
|
||||
|
||||
# This entry is needed if you are using Rasa Enterprise. The entry represents credentials
|
||||
# for the Rasa Enterprise "channel", i.e. Talk to your bot and Share with guest testers.
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
intents:
|
||||
- greet
|
||||
- goodbye
|
||||
- affirm
|
||||
- deny
|
||||
- mood_great
|
||||
- mood_unhappy
|
||||
- bot_challenge
|
||||
- question1
|
||||
- question3
|
||||
- question4
|
||||
- question5
|
||||
- question6
|
||||
- docs
|
||||
- video
|
||||
- connect_support
|
||||
- noconnect_support
|
||||
|
||||
|
||||
entities:
|
||||
- content_type
|
||||
|
||||
slots:
|
||||
content_type:
|
||||
type: text
|
||||
mappings:
|
||||
- type: from_entity
|
||||
entity: content_type
|
||||
|
||||
|
||||
responses:
|
||||
utter_cheer_up:
|
||||
- image: https://i.imgur.com/nGF1K8f.jpg
|
||||
text: 'Here is something to cheer you up:'
|
||||
utter_did_that_help:
|
||||
- text: Did that help you?
|
||||
utter_goodbye:
|
||||
- text: Bye
|
||||
utter_greet:
|
||||
- text: Hey! How are you?
|
||||
utter_happy:
|
||||
- text: Great, carry on!
|
||||
utter_iamabot:
|
||||
- text: I am a bot, powered by Rasa.
|
||||
utter_question1_1:
|
||||
- text: We have explained the process of changing the old to the new manager for
|
||||
customers in DMS, Follow the below procedures. 1) Open DMS--->Go to the change
|
||||
manager module--->Click on the create option--->Fill in the details--->Save--->Confirm.
|
||||
2) customer module--then select customer--edit the sale manager's name to
|
||||
the required employee and save to reflect in his login
|
||||
utter_question1_2:
|
||||
- text: To change the manager for customers in DMS, first, open the DMS system,
|
||||
then navigate to the "change manager" module, click on the "create" option,
|
||||
fill in the necessary details, save the changes, and confirm the update. Next,
|
||||
go to the "customer" module, select the relevant customer, edit the sales
|
||||
manager's name to the desired employee, and save the changes to reflect the
|
||||
update in their login
|
||||
utter_question1_3:
|
||||
- text: The process of changing the manager for customers in DMS involves several
|
||||
steps. First, access the DMS system and open the "change manager" module.
|
||||
From there, click on the "create" option, provide the required details, and
|
||||
save the changes. Once the update is confirmed, navigate to the "customer"
|
||||
module, select the appropriate customer, modify the sales manager's name to
|
||||
the preferred employee, and save the changes to ensure that it reflects in
|
||||
their login.
|
||||
|
||||
utter_question3_1:
|
||||
- text: Customers module----> enter the customer name----> Open details----> click
|
||||
on sales manager---->edit---->save.
|
||||
utter_question3_2:
|
||||
- text: If you want to change the sales manager for a particular customer in DMS,
|
||||
go to the Customers module and enter the name of the customer. Then, open
|
||||
the customer's details, find the "Sales Manager" section, click on it, choose
|
||||
the "Edit" option to modify the sales manager's name, enter the new name,
|
||||
and save the changes.
|
||||
utter_question3_3:
|
||||
- text: nan
|
||||
utter_question4_1:
|
||||
- text: Please find the below process to change the Customer Segment tag Customer
|
||||
module--->Select Particular Customer----->click on details------>check on
|
||||
+ to change the LOB tags.
|
||||
utter_question4_2:
|
||||
- text: If you need to change the Customer Segment tag for a particular customer
|
||||
in DMS, start by accessing the Customer module, selecting the relevant customer,
|
||||
and clicking on their details. Once you are in the customer's details, locate
|
||||
the "+" symbol to modify the LOB tags and update the Customer Segment tag.
|
||||
utter_question4_3:
|
||||
- text: To modify the Customer Segment tag for a specific customer in DMS, go
|
||||
to the Customer module, find the customer whose tag you want to change, and
|
||||
open their details. Then, click on the "+" symbol to add or remove LOB tags,
|
||||
and make the necessary changes to the Customer Segment tag.
|
||||
utter_question5_1:
|
||||
- text: We have explained the process of checking the EB-invoice report through
|
||||
remote session & follow the below procedure. Open DMS-----> click on reports----->open
|
||||
EB- invoice report---->check.
|
||||
utter_question5_2:
|
||||
- text: To verify the EB-invoice report through a remote session, follow these
|
||||
steps first, access the DMS platform, then navigate to the "reports" section
|
||||
and click on the "EB-invoice report." Finally, carefully review the report
|
||||
to ensure all necessary information is present and accurate.
|
||||
utter_question5_3:
|
||||
- text: The process of remotely checking the EB-invoice report can be accomplished
|
||||
in a few simple steps. Begin by logging into the DMS platform and selecting
|
||||
the "reports" option. From there, click on the "EB-invoice report" and review
|
||||
the contents to confirm its accuracy.
|
||||
utter_question6_1:
|
||||
- text: Please find the below process to add branchto employee Employee module------>Search
|
||||
the employee name ---->Open employee----->click on official Widget------>click
|
||||
on branches +check on------->click on plus symbol----->select the branch from
|
||||
the dropdown ------->save.
|
||||
utter_question6_2:
|
||||
- text: To assign a branch to an employee, follow these steps first, access the
|
||||
Employee module and search for the employee's name. Next, open the employee's
|
||||
profile and click on the Official Widget. From there, click on the "branches"
|
||||
option and check the box to enable it. Then, click on the plus symbol and
|
||||
select the appropriate branch from the dropdown menu. Finally, click on "save"
|
||||
to confirm the changes.
|
||||
utter_question6_3:
|
||||
- text: Adding a branch to an employee is a simple process that involves accessing
|
||||
the Employee module and searching for the employee in question. Once you've
|
||||
found their profile, open it and click on the Official Widget, followed by
|
||||
the "branches" option. Check the box to enable branches, then click the plus
|
||||
symbol and select the appropriate branch from the dropdown list. Be sure to
|
||||
save your changes before exiting the page.
|
||||
|
||||
utter_blogs:
|
||||
- text: "great carry on"
|
||||
|
||||
utter_video:
|
||||
- text: "do you want me to connect you to support team"
|
||||
|
||||
|
||||
utter_connect_support:
|
||||
- text: "Im conneting you to support team"
|
||||
|
||||
utter_noconnect_support:
|
||||
- text: "great carry on"
|
||||
|
||||
actions:
|
||||
- action_service
|
||||
- action_suport_service
|
||||
# - action_save_conersation
|
||||
# - action_clear_conversation
|
||||
|
||||
|
||||
|
||||
session_config:
|
||||
carry_over_slots_to_new_session: true
|
||||
session_expiration_time: 60
|
||||
version: '3.1'
|
||||
@@ -0,0 +1,46 @@
|
||||
# This file contains the different endpoints your bot can use.
|
||||
|
||||
# Server where the models are pulled from.
|
||||
# https://rasa.com/docs/rasa/model-storage#fetching-models-from-a-server
|
||||
|
||||
#models:
|
||||
# url: http://my-server.com/models/default_core@latest
|
||||
# wait_time_between_pulls: 10 # [optional](default: 100)
|
||||
|
||||
# Server which runs your custom actions.
|
||||
# https://rasa.com/docs/rasa/custom-actions
|
||||
|
||||
action_endpoint:
|
||||
url: "http://localhost:5055/webhook?recipient_id={sender_id}"
|
||||
|
||||
# Tracker store which is used to store the conversations.
|
||||
# By default the conversations are stored in memory.
|
||||
# https://rasa.com/docs/rasa/tracker-stores
|
||||
|
||||
#tracker_store:
|
||||
# type: redis
|
||||
# url: <host of the redis instance, e.g. localhost>
|
||||
# port: <port of your redis instance, usually 6379>
|
||||
# db: <number of your database within redis, e.g. 0>
|
||||
# password: <password used for authentication>
|
||||
# use_ssl: <whether or not the communication is encrypted, default false>
|
||||
|
||||
#tracker_store:
|
||||
# type: mongod
|
||||
# url: <url to your mongo instance, e.g. mongodb://localhost:27017>
|
||||
# db: <name of the db within your mongo instance, e.g. rasa>
|
||||
# username: <username used for authentication>
|
||||
# password: <password used for authentication>
|
||||
|
||||
# Event broker which all conversation events should be streamed to.
|
||||
# https://rasa.com/docs/rasa/event-brokers
|
||||
|
||||
#event_broker:
|
||||
# url: localhost
|
||||
# username: username
|
||||
# password: password
|
||||
# queue: queue
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user