2. Explication du code
Par conséquent, nous créons notre propre assistant virtuel.
Remarques
- Tous les codes sont disponibles sur mon GitHub.
- La vidéo de démonstration YouTube et le code vidéo YouTube sont également disponibles sur ma chaîne.
- Les liens et packages nécessaires sont mentionnés ci-dessous.
- Il serait apprécié de partager.
codons
2.1. Paquets et bibliothèques requis
pip installer JarvisAI
Ceci est le dernier module d'assistant virtuel, créé par moi. Fournit les fonctionnalités de base de tout assistant virtuel. Le prérequis est juste Python (> 3.6).
Utilisation et fonctionnalités
Après avoir installé la bibliothèque, vous pouvez importer le module:
importer JarvisAI
obj = JarvisAI.JarvisAssistant()
réponse = obj.mic_input()
imprimer(réponse)
La fonctionnalité est effacée avec le nom de la méthode. Vous pouvez vérifier le code, par exemple.
- microphone_in
- text2speech
- effacer
- website_opener
- envoyer du courrier
- dis-moi_date
- tell_me_time
- launch_any_app
- climat
- informations
- dis-moi
En savoir plus à ce sujet ici et vous pouvez également contribuer à ce référentiel ici.
2.2. Code-
Importations
importer Jarvis AI
importer ré
importer pprint
importer Aléatoire
Création d'objets par JarvisAI selon Documentation–
obj = JarvisAI.JarvisAssistant()
Nous avons créé cette fonction 't2s (texte)'. Cela convertira n'importe quel texte en parole. L'ensemble du programme que nous utiliserons (nous appellerons) à cette fonction pour produire de la parole à partir de texte.
déf t2s(texte):
obj.text2speech(texte)
Nous voulons écouter en permanence les contributions de l'utilisateur, donc ceci' mic_input ()’ essaiera d'obtenir l'audio du microphone de l'ordinateur en continu. Procesará el audio y devolverá el texto en la variableEn statistique et en mathématiques, ongle "variable" est un symbole qui représente une valeur qui peut changer ou varier. Il existe différents types de variables, et qualitatif, qui décrivent des caractéristiques non numériques, et quantitatif, représentation de grandeurs numériques. Les variables sont fondamentales dans les expériences et les études, puisqu’ils permettent l’analyse des relations et des modèles entre différents éléments, faciliter la compréhension de phénomènes complexes.... ‘res’. Nous pouvons utiliser cette variable 'res’ pour effectuer une action en fonction de l'entrée de l'utilisateur.
tandis que vrai:
res = obj.mic_input()
Prévisions météorologiques: Nous utilisons une expression régulière pour faire correspondre les requêtes sur l'entrée de l'utilisateur. Si « le temps est trouvé’ la température’ dans l'entrée utilisateur 'res', donc nous voulons faire une prévision météorologique. Pas besoin d'écrire les choses à partir de zéro, il suffit d'appeler 'obj.weather (ville = ville)'.
Vous avez juste besoin d'obtenir la ville à partir de la saisie de l'utilisateur et de la transmettre à la fonction météo. Il vous indiquera les prévisions météo de votre ville.
Nous pouvons passer ça' weather_res’ retourné à 't2s (météo_res)’ produire une voix à partir de la chaîne « weather_res ».
tandis que vrai:
res = obj.mic_input()
si recherche('conditions météorologiques|Température', res):
ville = res.split(' ')[-1]
météo_res = obj.météo(ville=ville)
imprimer(météo_res)
t2s(météo_res)
informations: De la même manière que le précédent, correspondre au mot « nouvelles »’ à partir de l'entrée utilisateur « res ». il coïncide, appelez 'obj.news'.
reviendra 15 news comme une liste de chaînes. Ensuite, nous pouvons rechercher des nouvelles comme "news_res[0]'Et le passer à’ t2s (news_res[0]) '.
tandis que vrai:
res = obj.mic_input()
si recherche('nouvelles', res):
news_res = obj.news()
pprint.pprint(news_res)
t2s(F"j'ai trouvé {longueur(news_res)} nouvelles. Vous pouvez le lire. Laisse moi te dire d'abord 2 d'eux")
t2s(news_res[0])
t2s(news_res[1])
ça compte presque tout: Vous obtiendrez le premier 500 caractères Wikipedia et les renverra sous forme de chaîne. Vous pouvez utiliser 'obj.tell_me (sujet)'.
Doit passer 'sujet’ un 'dis-moi (thème = thème)'. Le sujet est le mot-clé que vous voulez connaître.
tandis que vrai:
res = obj.mic_input()
si recherche('parle moi de', res):
sujet = res.split(' ')[-1]
wiki_res = obj.tell_me(sujet)
imprimer(wiki_res)
t2s(wiki_res)
Date et heure: Il vous indiquera la date et l'heure actuelles de votre système.
tandis que vrai:
res = obj.mic_input()
si recherche('Date', res):
date = obj.tell_me_date()
imprimer(Date)
imprimer(t2s(Date))
si recherche('temps', res):
heure = obj.tell_me_time()
imprimer(temps)
t2s(temps)
Ouvrez n'importe quel portail Web: Cet 'obj.website_opener (domaine)’ ouvrira n'importe quel portail Web pour vous. Vous avez juste besoin d'obtenir le domaine à partir de l'entrée de l'utilisateur, puis d'aller sur 'obj.website_opener (domaine)'. Il ouvrira le portail Web dans votre navigateur par défaut.
tandis que vrai:
res = obj.mic_input()
si recherche('ouvert', res):
domaine = res.split(' ')[-1]
open_result = obj.website_opener(domaine)
imprimer(Ouvrir le Résultat)
Lancer n'importe quelle application, jouer, etc.
C'est un peu délicat, fr 'obj.launch_any_app (path_of_app = chemin)’ la fonction dont vous avez besoin pour passer le chemin de votre fichier '.exe'.
C'est pourquoi nous avons créé le dictionnaire 'dict_app’ qui a un 'nom d'application’ comme une clé et un 'chemin’ avec la valeur. Nous pouvons utiliser ceci' dict_app’ chercher. Si l'application de saisie utilisateur existe dans le dictionnaire, nous l'ouvrirons en obtenant l'itinéraire.
L'exemple suivant est uniquement pour Chrome et Jeux épiques.
tandis que vrai:
res = obj.mic_input()
si recherche('lancement', res):
dict_app = {
'chrome': 'C:Fichiers de programme (x86)GoogleChromeApplicationchrome.exe',
"jeux épiques": 'C:Fichiers de programme (x86)Epic GamesLauncherPortalBinariesWin32EpicGamesLauncher.exe'
}
app = res.split(' ', 1)[1]
chemin = dict_app.get(application)
si chemin est Aucun:
t2s('Chemin de l'application introuvable')
imprimer('Chemin de l'application introuvable')
autre:
t2s('Lancement: ' + application)
obj.launch_any_app(path_of_app=chemin)
Salutations et discussion, vous pouvez créer des salutations et discuter comme ça pour l'instant.
je travaille sur https://pypi.org/project/JarvisAI/ pour ajouter un type de fonctionnalité de chat à l'aide de Tensorflow. Vous pouvez contribuer Pour le faire mieux.
tandis que vrai:
res = obj.mic_input()
si recherche('Bonjour', res):
imprimer('Salut')
t2s('Salut')
si recherche('Comment allez-vous', res):
li = ['bon', 'amende', 'super']
réponse = choix.aléatoire(au)
imprimer(F"Je suis {réponse}")
t2s(F"Je suis {réponse}")
si recherche('votre nom|qui es-tu', res):
imprimer("Je m'appelle Jarvis, Je suis votre assistant personnel")
t2s("Je m'appelle Jarvis, Je suis votre assistant personnel")
Je demande pour- 'Qu'est ce que tu peux faire?': Ici, nous utilisons simplement 'obj.t2s ()’ produire de la voix. Si vous connaissez Python, vous comprendrez facilement le code suivant:
tandis que vrai:
res = obj.mic_input()
si recherche('Que pouvez-vous faire', res):
li_commandes = {
"sites Web ouverts": "Exemple: 'ouvrez youtube.com",
"temps": "Exemple: 'quelle heure est il?'",
"Date": "Exemple: 'quelle date c'est?'",
"lancer des applications": "Exemple: 'lancer chrome'",
"dis-moi": "Exemple: 'parle-moi de l'Inde'",
"conditions météorologiques": "Exemple: 'quel temps/température à Bombay?'",
"nouvelles": "Exemple: 'nouvelles pour aujourd'hui' ",
}
ans = """je peux faire plein de choses, par exemple tu peux me demander l'heure, Date, météo dans votre ville,
Je peux ouvrir des sites Web pour vous, lancer l'application et plus. Voir la liste des commandes-"""
imprimer(ans)
pprint.pprint(li_commandes)
t2s(ans)
3. Remplissez le code
importer JarvisAI importation re importer pprint importation aléatoire obj = JarvisAI.JarvisAssistant() def t2s(texte): obj.text2speech(texte) tandis que vrai: res = obj.mic_input() si re.recherche('conditions météorologiques|Température', res): ville = res.split(' ')[-1] météo_res = obj.météo(ville=ville) imprimer(météo_res) t2s(météo_res) si re.recherche('nouvelles', res): news_res = obj.news() pprint.pprint(news_res) t2s(F"j'ai trouvé {longueur(news_res)} nouvelles. Vous pouvez le lire. Laisse moi te dire d'abord 2 d'eux") t2s(news_res[0]) t2s(news_res[1]) si re.recherche('parle moi de', res): sujet = res.split(' ')[-1] wiki_res = obj.tell_me(sujet) imprimer(wiki_res) t2s(wiki_res) si re.recherche('Date', res): date = obj.tell_me_date() imprimer(Date) imprimer(t2s(Date)) si re.recherche('temps', res): heure = obj.tell_me_time() imprimer(temps) t2s(temps) si re.recherche('ouvert', res): domaine = res.split(' ')[-1] open_result = obj.website_opener(domaine) imprimer(Ouvrir le Résultat) si re.recherche('lancement', res): dict_app = { 'chrome': 'C:Fichiers de programme (x86)GoogleChromeApplicationchrome.exe', "jeux épiques": 'C:Fichiers de programme (x86)Epic GamesLauncherPortalBinariesWin32EpicGamesLauncher.exe' } app = res.split(' ', 1)[1] chemin = dict_app.get(application) si le chemin est Aucun: t2s('Chemin de l'application introuvable') imprimer('Chemin de l'application introuvable') autre: t2s('Lancement: ' + application) obj.launch_any_app(path_of_app=chemin) si re.recherche('Bonjour', res): imprimer('Salut') t2s('Salut') si re.recherche('Comment allez-vous', res): li = ['bon', 'amende', 'super'] réponse = choix.aléatoire(au) imprimer(F"Je suis {réponse}") t2s(F"Je suis {réponse}") si re.recherche('votre nom|qui es-tu', res): imprimer("Je m'appelle Jarvis, Je suis votre assistant personnel") t2s("Je m'appelle Jarvis, Je suis votre assistant personnel") si re.recherche('Que pouvez-vous faire', res): li_commandes = { "sites Web ouverts": "Exemple: 'ouvrez youtube.com", "temps": "Exemple: 'quelle heure est il?'", "Date": "Exemple: 'quelle date c'est?'", "lancer des applications": "Exemple: 'lancer chrome'", "dis-moi": "Exemple: 'parle-moi de l'Inde'", "conditions météorologiques": "Exemple: 'quel temps/température à Bombay?'", "nouvelles": "Exemple: 'nouvelles pour aujourd'hui' ", } ans = """je peux faire plein de choses, par exemple tu peux me demander l'heure, Date, météo dans votre ville, Je peux ouvrir des sites Web pour vous, lancer l'application et plus. Voir la liste des commandes-""" imprimer(ans) pprint.pprint(li_commandes) t2s(ans)
4. Dépôt Github
Vous pouvez utiliser mon code en toute liberté. Démarquez-vous si vous aimez mon travail, s'abonner Youtube si tu aimes.
Il suffit de cloner le référentiel https://github.com/Dipeshpal/Jarvis-Assisant.git
Ensuite, exécutez pip install -r requirements.txt
Il installera tout automatiquement.
Il suffit d'ouvrir ceci Dépôt GitHub, lisez-le et vous comprendrez comment vous pouvez contribuer.
Articles Similaires:
- Chatbot utilisant la bibliothèque NLTK | Construire un chatbot en Python à l'aide de NLTK
- Environnement virtuel pour le machine learning et le deep learning sur MacOS
- Créer un modèle de détection de visage dans une vidéo à l'aide de Python
- Comment gérer les défis courants du sélénium à l'aide de Python?