From 6ec88edb017309f3e4bffec3b2660546ec446e9a Mon Sep 17 00:00:00 2001 From: Paulo V C Medeiros Date: Mon, 4 Mar 2024 10:04:26 +0100 Subject: [PATCH] Update duckduckgo version. Update readme. --- README.md | 21 +++++++++++++-------- pyproject.toml | 11 +++++++---- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 997e529..4dd8256 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@
[![pyrobbot-logo](https://github.com/paulovcmedeiros/pyRobBot/blob/main/pyrobbot/app/data/assistant_avatar.png?raw=true)]((https://github.com/paulovcmedeiros/pyRobBot)) -# [pyRobBot](https://github.com/paulovcmedeiros/pyRobBot)
Chat with GPT LLMs over voice, UI & terminal.
All with access to the internet. +# [pyRobBot](https://github.com/paulovcmedeiros/pyRobBot)
Chat with GPT LLMs over voice, text or both.
All with access to the internet. [![Pepy Total Downlods](https://img.shields.io/pepy/dt/pyrobbot?style=flat&label=Downloads)](https://www.pepy.tech/projects/pyrobbot) [![PyPI - Version](https://img.shields.io/pypi/v/pyrobbot)](https://pypi.org/project/pyrobbot/) @@ -17,9 +17,7 @@
-PyRobBot is a python package that uses OpenAI's [GPT large language models (LLMs)](https://platform.openai.com/docs/models) to implement: -* A fully configurable **personal assistant** that can speak and listen to you using AI-generated **human-like voices** -* An equally fully configurable text-based **chatbot** that can be used either via web UI or terminal +PyRobBot is a python package that uses OpenAI's [GPT large language models (LLMs)](https://platform.openai.com/docs/models) to implement a fully configurable **personal assistant** that, on top of the traditional chatbot interface, can also speak and listen to you using AI-generated **human-like** voices. ## Features @@ -32,15 +30,22 @@ Features include, but are not limited to: - [x] Internet access: The assistent will **search the web** to find the answers it doesn't have in its training data - E.g. latest news, current events, weather forecasts, etc. - -- [x] Web browser UI (made with [Streamlit](https://pyrobbot.streamlit.app)) - - Voice chat with continuous voice input and output - - Plus, a familiar interface for those who prefer a traditional chatbot experience + - Powered by [DuckDuckGo Search](https://github.com/deedy5/duckduckgo_search) + +- [x] Web browser user interface + - See our [demo app on Streamlit Community Cloud](https://pyrobbot.streamlit.app) + - Voice chat with: + - **Continuous voice input and output** (using [streamlit-webrtc](https://github.com/whitphx/streamlit-webrtc)) + - If you prefer, manual on/off toggling of the microphone (using [streamlit_mic_recorder](https://github.com/B4PT0R/streamlit-mic-recorder)) + - A familiar text interface integrated with the voice chat, for those who prefer a traditional chatbot experience + - Your voice prompts and the assistant's voice replies are shown as text in the chat window + - You may also send promts as text even when voice detection is enabled - Add/remove conversations dynamically - Automatic/editable conversation summary title - Autosave & retrieve chat history - Resume even the text & voice conversations started outside the web interface + - [x] Chat via terminal - For a more "Wake up, Neo" experience diff --git a/pyproject.toml b/pyproject.toml index e75669b..11f18ef 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,10 +1,13 @@ [tool.poetry] authors = ["Paulo V C Medeiros "] - description = "Chat with GPT LLMs over voice, UI & terminal. All with access to the internet. Powered by OpenAI." + description = """\ + Chat with GPT LLMs over voice, text or both. With access to the internet.\ + Powered by OpenAI.\ + """ license = "MIT" name = "pyrobbot" readme = "README.md" - version = "0.7.3" + version = "0.7.4" [build-system] build-backend = "poetry.core.masonry.api" @@ -34,13 +37,13 @@ audio-recorder-streamlit = "^0.0.8" beautifulsoup4 = "^4.12.3" chime = "^0.7.0" - duckduckgo-search = {url = "https://github.com/deedy5/duckduckgo_search/archive/refs/tags/v5.0b1.tar.gz"} + duckduckgo-search = {version = "5.0b1", allow-prereleases = true} gtts = "^2.5.1" httpx = "^0.26.0" ipinfo = "^5.0.1" pydub = "^0.25.1" pygame = "^2.5.2" - setuptools = "^68.2.2" # Needed by webrtcvad-wheels + setuptools = "^68.2.2" # Needed by webrtcvad-wheels sounddevice = "^0.4.6" soundfile = "^0.12.1" speechrecognition = "^3.10.0"