2. Spiegazione del codice
Pertanto creiamo il nostro assistente virtuale.
Appunti
- Tutti i codici sono disponibili sul mio GitHub.
- Il video dimostrativo di YouTube e il codice video di YouTube sono disponibili anche sul mio canale.
- I link e i pacchetti necessari sono indicati di seguito.
- La condivisione sarebbe apprezzata.
Codice
2.1. Pacchetti e librerie richiesti
pip installare JarvisAI
Questo è l'ultimo modulo di assistente virtuale, creato da me. Fornisce le funzionalità di base di qualsiasi assistente virtuale. Il prerequisito è solo Python (> 3.6).
Utilizzo e funzionalità
Dopo aver installato la libreria, È possibile importare il modulo:
import JarvisAI
obj = JarvisAI.JarvisAssistant()
risposta = obj.mic_input()
Stampa(risposta)
La funzionalità viene cancellata con il nome del metodo. Puoi controllare il codice, come esempio.
- microfono_in
- testo2speech
- Elimina
- website_opener
- inviare una mail
- tell_me_date
- tell_me_time
- launch_any_app
- clima
- Notizia
- Dimmi
Leggi di più su questo qui e puoi anche contribuire a questo repository qui.
2.2. Codice-
Importazioni
importare Jarvis AI
importare Rif
importare pprint
importare a caso
Creazione di oggetti di JarvisAI secondo documentazione–
obj = JarvisAI.JarvisAssistant()
Abbiamo creato questa funzione 't2s (testo)'. Questo convertirà qualsiasi testo in parlato. L'intero programma che useremo (chiameremo) a questa funzione per produrre discorso dal testo.
def t2s(testo):
obj.text2speech(testo)
Vogliamo ascoltare continuamente i contributi dell'utente, quindi questo è mic_input ()’ proverà a ricevere continuamente l'audio dal microfono del computer. Procesará el audio y devolverá el texto en la variabileIn statistica e matematica, un "variabile" è un simbolo che rappresenta un valore che può cambiare o variare. Esistono diversi tipi di variabili, e qualitativo, che descrivono caratteristiche non numeriche, e quantitativo, che rappresentano quantità numeriche. Le variabili sono fondamentali negli esperimenti e negli studi, poiché consentono l'analisi delle relazioni e dei modelli tra elementi diversi, facilitare la comprensione di fenomeni complessi.... ‘res’. Possiamo usare questa variabile 'res’ eseguire alcune azioni in base all'input dell'utente.
mentre vero:
res = obj.mic_input()
Previsioni del tempo: Stiamo utilizzando un'espressione regolare per abbinare le query sull'input dell'utente. Se "si trova il tempo"’ la temperatura’ nell'input dell'utente 'res', quindi vogliamo fare una previsione del tempo. Non c'è bisogno di scrivere le cose da zero, chiama semplicemente "obj.weather" (città = città)'.
Hai solo bisogno di ottenere la città dall'input dell'utente e passarla alla funzione meteo. Ti dirà le previsioni del tempo per la tua città.
Possiamo passare questo' weather_res’ tornato a 't2s (meteo_res)’ per produrre voce dalla stringa 'weather_res'.
mentre vero:
res = obj.mic_input()
Se ricerca('tempo metereologico|temperatura', res):
città = res.split(' ')[-1]
weather_res = obj.weather(città=città)
Stampa(meteo_res)
t2s(meteo_res)
Notizia: In modo simile al precedente, abbina la parola "notizie"’ dall'input dell'utente 'res'. Si coincide, chiama "obj.news".
Tornerà 15 notizie come un elenco di catene. Quindi, possiamo cercare notizie come "news_res"[0]'E passalo a’ t2s (news_res[0]) '.
mentre vero:
res = obj.mic_input()
Se ricerca('notizia', res):
news_res = obj.news()
pprint.pprint(news_res)
t2s(F"ho trovato {len(news_res)} notizia. Puoi leggerlo. Lascia che te lo dica prima 2 di loro")
t2s(news_res[0])
t2s(news_res[1])
Conta quasi tutto: Avrai il primo 500 Caratteri di Wikipedia e li restituirà come una stringa. Puoi usare 'obj.tell_me (argomento)'.
Deve passare "argomento"’ un "raccontami" (tema = tema)'. L'argomento è la parola chiave che vuoi sapere.
mentre vero:
res = obj.mic_input()
Se ricerca('Raccontami', res):
topic = res.split(' ')[-1]
wiki_res = obj.tell_me(argomento)
Stampa(wiki_res)
t2s(wiki_res)
Data e ora: Ti dirà la data e l'ora correnti del tuo sistema.
mentre vero:
res = obj.mic_input()
Se ricerca('Data', res):
data = obj.tell_me_date()
Stampa(Data)
Stampa(t2s(Data))
Se ricerca('tempo', res):
tempo = obj.tell_me_time()
Stampa(tempo)
t2s(tempo)
Apri qualsiasi portale web: Questo 'obj.website_opener (dominio)’ apri qualsiasi portale web per te. Hai solo bisogno di ottenere il dominio dell'input dell'utente e quindi passare a "obj.website_opener (dominio)'. Aprirà il portale web nel browser predefinito.
mentre vero:
res = obj.mic_input()
Se ricerca('aperto', res):
dominio = res.split(' ')[-1]
open_result = obj.website_opener(dominio)
Stampa(open_result)
Avvia qualsiasi applicazione, giocare a, eccetera.
Questo è un po 'complicato, in 'obj.launch_any_app (path_of_app = percorso)’ la funzione necessaria per passare il percorso del file '.exe'.
Pertanto abbiamo creato il dizionario 'dict_app’ che ha un 'nome applicazione'’ come chiave e 'percorso'’ come valore. Possiamo usare questo "dict_app’ per eseguire ricerche. Se l'applicazione di input dell'utente esiste nel dizionario, lo apriremo ottenendo il percorso.
L'esempio seguente è solo per Chrome e Giochi Epici.
mentre vero:
res = obj.mic_input()
Se ricerca('lanciare', res):
dict_app = {
'cromo': «C:Programmi (x86)GoogleChromeApplicationchrome.exe',
'giochi epici': «C:Programmi (x86)Giochi EpiciLauncherPortalBinariesWin32EpicGamesLauncher.exe'
}
app = res.split(' ', 1)[1]
path = dict_app.get(app)
Se il percorso è Nessuno:
t2s('Percorso dell'applicazione non trovato')
Stampa('Percorso dell'applicazione non trovato')
altro:
t2s(«Lancio: ' + app)
obj.launch_any_app(path_of_app=percorso)
Saluti e Talk, puoi creare saluti e chattare in questo modo per ora.
Sto lavorando su https://pypi.org/project/JarvisAI/ Per aggiungere la funzionalità di chat, digitare utilizzando Tensorflow. Puoi contribuire per renderlo migliore.
mentre vero:
res = obj.mic_input()
Se ricerca('Ciao', res):
Stampa('Ciao')
t2s('Ciao')
Se ricerca('come stai', res):
li = ['buono', 'bene', 'Grande']
risposta = random.choice(al)
Stampa(F"sono {risposta}")
t2s(F"sono {risposta}")
Se ricerca('il tuo nome|chi sei', res):
Stampa("Mi chiamo Jarvis, Sono il tuo assistente personale")
t2s("Mi chiamo Jarvis, Sono il tuo assistente personale")
Domandare- "Cosa puoi fare??': Qui stiamo semplicemente usando 'obj.t2s ()’ per produrre un po' di voce. Se conosci Python, Si comprenderà facilmente il seguente codice:
mentre vero:
res = obj.mic_input()
Se ricerca('cosa puoi fare', res):
li_commands = {
"siti web aperti": "Esempio: «youtube.com aperto",
"tempo": "Esempio: 'che ore sono?'",
"Data": "Esempio: «che data è?'",
"avviare le applicazioni": "Esempio: 'avvia chrome'",
"Dimmi": "Esempio: 'parlami dell'India'",
"tempo": "Esempio: 'che tempo/temperatura in Mumbai?'",
"notizia": "Esempio: 'novità per oggi' ",
}
ans = """Posso fare un sacco di cose, Ad esempio, puoi chiedermi tempo, Data, meteo nella tua città,
Posso aprire siti web per te, avvia l'applicazione e altro ancora. Vedi l'elenco dei comandi-"""
Stampa(Ans)
pprint.pprint(li_commands)
t2s(Ans)
3. Complete el código |
import JarvisAI
import re
import pprint
import random
obj = JarvisAI.JarvisAssistant()
def t2s(testo):
obj.text2speech(testo)
mentre vero:
res = obj.mic_input()
se re.search('tempo metereologico|temperatura', res):
città = res.split(' ')[-1]
weather_res = obj.weather(città=città)
Stampa(meteo_res)
t2s(meteo_res)
se re.search('notizia', res):
news_res = obj.news()
pprint.pprint(news_res)
t2s(F"ho trovato {len(news_res)} notizia. Puoi leggerlo. Lascia che te lo dica prima 2 di loro")
t2s(news_res[0])
t2s(news_res[1])
se re.search('Raccontami', res):
topic = res.split(' ')[-1]
wiki_res = obj.tell_me(argomento)
Stampa(wiki_res)
t2s(wiki_res)
se re.search('Data', res):
data = obj.tell_me_date()
Stampa(Data)
Stampa(t2s(Data))
se re.search('tempo', res):
tempo = obj.tell_me_time()
Stampa(tempo)
t2s(tempo)
se re.search('aperto', res):
dominio = res.split(' ')[-1]
open_result = obj.website_opener(dominio)
Stampa(open_result)
se re.search('lanciare', res):
dict_app = {
'cromo': «C:Programmi (x86)GoogleChromeApplicationchrome.exe',
'giochi epici': «C:Programmi (x86)Giochi EpiciLauncherPortalBinariesWin32EpicGamesLauncher.exe'
}
app = res.split(' ', 1)[1]
path = dict_app.get(app)
se il percorso è Nessuno:
t2s('Percorso dell'applicazione non trovato')
Stampa('Percorso dell'applicazione non trovato')
altro:
t2s(«Lancio: ' + app)
obj.launch_any_app(path_of_app=percorso)
se re.search('Ciao', res):
Stampa('Ciao')
t2s('Ciao')
se re.search('come stai', res):
li = ['buono', 'bene', 'Grande']
risposta = random.choice(al)
Stampa(F"sono {risposta}")
t2s(F"sono {risposta}")
se re.search('il tuo nome|chi sei', res):
Stampa("Mi chiamo Jarvis, Sono il tuo assistente personale")
t2s("Mi chiamo Jarvis, Sono il tuo assistente personale")
se re.search('cosa puoi fare', res):
li_commands = {
"siti web aperti": "Esempio: «youtube.com aperto",
"tempo": "Esempio: 'che ore sono?'",
"Data": "Esempio: «che data è?'",
"avviare le applicazioni": "Esempio: 'avvia chrome'",
"Dimmi": "Esempio: 'parlami dell'India'",
"tempo": "Esempio: 'che tempo/temperatura in Mumbai?'",
"notizia": "Esempio: 'novità per oggi' ",
}
ans = """Posso fare un sacco di cose, Ad esempio, puoi chiedermi tempo, Data, meteo nella tua città,
Posso aprire siti web per te, avvia l'applicazione e altro ancora. Vedi l'elenco dei comandi-"""
Stampa(Ans)
pprint.pprint(li_commands)
t2s(Ans)
4. Repository Github
Puedes utilizar mi código con total libertad. Destaca si te gusta mi trabajo, suscríbete Youtube si amas.
Simplemente clona el repositorio https://github.com/Dipeshpal/Jarvis-Assisant.git
Después ejecute pip install -r requirements.txt
Instalará todo automáticamente.
Solo abre esto Archivio GitHub, léelo y comprenderá cómo puede contribuir.