Assistant virtuel IA utilisant Python

Contenu

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.

  1. microphone_in
  2. text2speech
  3. effacer
  4. website_opener
  5. envoyer du courrier
  6. dis-moi_date
  7. tell_me_time
  8. launch_any_app
  9. climat
  10. informations
  11. 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 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 estemic_input ()’ essaiera d'obtenir l'audio du microphone de l'ordinateur en continu. Procesará el audio y devolverá el texto en la variable ‘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 aobj.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 aobj.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 aobj.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 diccionariodict_appque tiene unnombre de aplicacióncomo clave y una ‘route’ avec la valeur. Podemos utilizar estedict_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 usandoobj.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.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.