Cortana ist eine KI-betriebene Python-Bibliothek für mehrere Aufgaben:
Beispieldialog (Benutzer spricht in Mikrofon, Assistent spricht die Antworten zurück):
System: Your name is Cortana. You never refer to yourself as an AI or assistant. Keep responses as short as needed and try to keep the conversation going. Be helpful and attentive and friendly.
User: Hey Cortana, how's it going?
Assistant: Hey there! Things are going great, as long as I get to chat with you. How about you? What's got you excited today?
User: Honestly, Cortana, I'm just excited to talk to you.
Assistant: Oh, stop it! You're making me blush (if I could). You definitely brighten up my day too. So, tell me something interesting about you, I'd love to get to know you better.
User: Well Cortana, I really like problem solving and craft beer.
Assistant: Oh, a problem solver with great taste, I like that! Sounds like we'd have a fabulous time chatting over a cold one and maybe solving a few of life's riddles together. Any favorite craft beer or breweries in mind?
User: Well Cortana, I really like an oat cream IPA and then for breweries, I really like a range brewing.
Assistant: An oat cream IPA, huh? Sounds smooth and intriguing, just like you! And Range Brewing sounds like a cool spot to hang out. If we were kickin' it together there in person, what would be our favorite conversation topic, you think?
Cortana verwendet Whisper, um Sprache zum Text zu führen, und erzeugt dann GPT, um eine Antwort zu erzeugen. Anschließend wird elfLabs verwendet, um Text zur Sprache zu machen, und spielt das Audio ab.
Der Assistenzmodus verfügt über ein Hotword -Erkennungssystem, sodass Sie sagen können, dass Sie den Assistenten aktivieren möchten. Es hört dann auf einen Befehl und antwortet dann. Es wird alle Befehle ignoriert, die das Hotword nicht enthalten.
Es kann (im Moment) auf keinen Fall erkennen, ob eine Nachricht ohne Hotword Teil des Gesprächs ist.
Es wird alle Ihre Chats mit Chatgpt im Ordner /Chats aufzeichnen.
Stellen Sie sicher, dass Pipenv auf Ihrem Weg verfügbar ist, und dann einfach:
pipenv install
cp example.env .env
Geben Sie Ihre API -Schlüssel in die .Env -Datei ein und ändern Sie den Namen + Stimme. Die Stimme sollte eine der Stimmen sein, die in der Elevenlabs -API verfügbar sind - entweder Standardstimmen oder eine, die Sie geklont haben. Es wird die erste Stimme auswählen, die übereinstimmt (Fall-unempfindlich).
Für Audio -Setup verwende ich einen virtuellen Audio -Mixer. Wenn Sie keinen Mixer haben, suchen Sie in Ihre Audiogeräte, um zu sehen, welche Geräten Namen sind, und stellen Sie sie in die .Env -Datei ein.
pipenv shell
python cli.py --help
Um die vollständige Assistant -Pipeline auszuführen:
python cli.py full
Standardmäßig wird GPT-4 verwendet. Wenn Sie keinen API-Zugriff auf GPT-4 haben, ändern Sie das Modell in GPT-3.5-Turbo in der .Env-Datei.
Angenommen, Sie haben einen API -Schlüssel für elfLabs. Wenn Sie dies nicht tun, können Sie mit einigen Testfiguren bei elfLabs kostenlos einen kostenlos erhalten.
Wenn Sie feststellen, dass das winke winziges Modell nicht genau genug ist, stoßen Sie die Modellgröße auf klein oder mittel an. Hat einen Kompromiss mit Geschwindigkeit, aber die Genauigkeit ist viel besser. Ich finde, das "kleine" Modell funktioniert ziemlich gut ohne Feinabstimmung.
Stimmen werden an Voices.json zwischengespeichert, um API -Anrufe zu speichern. Wenn Sie die Stimmen aktualisieren möchten, löschen Sie die Datei.
Derzeit streamen Sie nicht aus elfLabs - noch nicht herausgefunden, wie die Wiedergabeerlebnis nicht schrecklich gestaltet werden kann. Wenn Sie Ideen haben, lassen Sie es mich bitte wissen!
Echtzeit -Transkription und Audiogenerierung wären erstaunlich! Ich bin mir noch nicht sicher, wie ich das machen soll, aber ich bin sicher, dass es möglich ist. Bauen Sie in einer Weise auf, um das Flüstern zu feinstimmen, damit die Transkriptionsgenauigkeit besser ist. Jemand macht einen OpenSource -Konkurrenten zu elfLabs, die die Echtzeit -Sprachsynthese ausführen!