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()
Hemos creado esta función ‘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, por lo que este ‘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’. Podemos utilizar esta 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 se encuentra ‘climat’ O ‘Température’ en la entrada del usuario ‘res’, donc nous voulons faire une prévision météorologique. Pas besoin d'écrire les choses à partir de zéro, simplemente llame a ‘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.
Podemos pasar este ‘météo_res’ devuelto a ‘t2s (météo_res)’ para producir voz desde la cadena ‘météo_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, haga coincidir la palabra ‘informations’ de la entrada del usuario ‘res’. il coïncide, llame a ‘obj.news’.
reviendra 15 news comme une liste de chaînes. Ensuite, podemos buscar noticias como ‘news_res[0]’y pasarlo a’ 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)’.
Debe pasar ‘thème’ une ‘tell_me (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: Il est ‘obj.website_opener (domaine)’ ouvrira n'importe quel portail Web pour vous. Solo necesita obtener el dominio de la entrada del usuario y después pasar a ‘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, dans ‘obj.launch_any_app (path_of_app = chemin)’ la función que necesita para pasar la ruta de su archivo ‘.EXE’.
Por lo tanto hemos creado el diccionario ‘dict_app’ que tiene un ‘nombre de aplicación’ como clave y una ‘route’ avec la valeur. Podemos utilizar este ‘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é puedes hacer?’: Aquí simplemente estamos usando ‘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?