Skip to content

Commit

Permalink
Consolidating Changes: Modifications, Additions, Movements, and Delet…
Browse files Browse the repository at this point in the history
…ions

Consolidating Changes from Original Repository

### Changes made in this repository

- Add new sentiment_component directory to the project structure
- Add new variables COMMBASE_HARDWARE_SPEECH_TO_TEXT_ENGINE_COMPONENT_ON and COMMBASE_HARDWARE_SENTIMENT_COMPONENT_ON to enable sentiment analysis besides with hardware simulation in the generative ai bundles and other assistant responses
- Modify license note
- Fix variable name COMMBASE_HARDWARE_DEVICE_0
- Replace vercel image
- Clean up python code to pass linters
- Add empty line
- Reorganize Tech Stack
- Add sponsors descriptions
- Create contests table
- Merge branch 'main' of github.com:estebanways/commbase
- Create contesnts table
- Add new files backdropbuild.png, github.png, pinecone.png, and vercel.png
- Clean up the main readme file
- Add new section Dialog-First Software Development Paradigm
- Add link to Dialog-first%20software%20development%20paradigm.pdf
- Add new paper file Dialog-first software development paradigm.pdf
- 🤖✨ Dialog-first platform for developing interactive AI-Powered assistant-like applications on Linux
- Add links and resources
- Clean up blank spaces
- Add  
- Uncomment the section sponsors
- Add new image gemini-api-developer-competition.svg
- Add image placeholder using html
- Adjust backdropbuild.com build image using html
- Add backdropbuild.com build badge image
- Add backfropbuild.com build badge
- Add contests section
- Organize tech stack items
- Add website links to tech stack items
- Update Espeak notes
- Update teck stack section
- Add sponsors section
- Add tech stack section
- Update screenshot commbase.png
- Separate image from text with a br
- Add new YouTube video about Commbase
- Add new file cover.png
- Clean up the file assigned to the configuration variable CHAT_MEMORY_FILE when commbase closes to wipe out its short-term/session memory
- Add new configuration variable CHAT_MEMORY_FILE to the User's Guide
- Arrange variables based on when they are utilized within the functions
- Reorganize variables inside functions for encapsulation, readability, and flexibility
- Add function get_chat_memory_file() to file_paths.py(s)
- Improve docstrings
- Replace function write_memory with append_memory for increased performance
- Make commbase-genai-slm-ollama-phi3-mini-memory work with commbase
- Fix usage message
- Add headers and shebangs to the files of the generative ais with the phi3 mini slm model
- Reorganize the directory structure
- Add new terminal application file .../terminal-chat-gpt/terminal_chat_gpt.py
- Add exceptions to the section Ignore the contents of the src/client/bundles/ directory
- Add new files src/server/skills_db/bash/o/openai/open_terminal_chat_gpt.json  and src/server/skills_db/bash/o/openai/open_terminal_chat_gpt.sh
- Add exceptions to the section Ignore the contents of the src/server/skills_db directory
- Reorganize feature lists
- Add a new folder called memory_store and files for the assistant's language models to answer questions using memories
- Modify the function write_to_temp_file of the reactive stt engine to log complete log entries in data/.chat_log.txt
- Separate variable using an empty line
- Add comment # Do not manage errors here or the script will fail
- Run the tmux command with check=True and capture output
- Add new configuration variable COMMBASE_STT_WHISPER_REACTIVE_P_AUTO_OPEN_RECORDER_AFTER_COMMAND
- Added new configuration variables for voice recorder and audible assistant discourses
- Add new libcommbase routine assistant_discourse_from_language_model.sh
- Improve text for clarity
- Add new file assistant_language_model_discourse.sh to make phi3 mini language model speak out loud responses
- add new file file_paths.py
- Update Language Models in the description
- Update users guide
- Add SLMs to description
- Add SLMs to features
- Add new bundles/commbase-genai-slm-ollama-phi3-mini-memory-remote-rag-picone files
- Add new bundles/commbase-genai-slm-ollama-phi3-mini-memory files
- Reorganize genai bundles
- Move llms from directories with -llm- to -genai- llm prefix
- Add empty line
- Files moved
- Add new files for bundles/commbase-genai-slm-ollama-phi3-mini-history
- Add new bundles/commbase-genai-slm-ollama-phi3-mini-nohistory files
- Update routine function names in code
- Rename function
- Add genai prefix to llm directories
- Refactor script for automating chat log processing into structured JSON dataset
- Add new file 01_save_chat_files_as_json_dataset.py to create the commbase memories vector dataset in json
- Modify chat examples to improve commbase memories vector database data
- Add default chat_log files to the new bundle commbase-slm-ollama-phi3-history-remote-rag-picone
- Add new slm (small language model) files
- Update path to the users guide
- Improve readme notes
- Add new file Detailed Feature Overview.md

### Changes by file

Here is a summary of the changes by file based on the provided commit messages:

1. **.gitignore:**
   - Adjusted to allow specific files in `src/client/bundles` and `src/server/skills_db` to be tracked.
   - Added exceptions for `terminal_chat_gpt.py` and specific files in the `skills_db` directory related to Phi3 language models and memory features.

2. **INSTALL:**
   - Clarified Python setup in Anaconda environment.
   - Improved instructions for single Python installation.
   - Removed outdated notes.
   - Enhanced readability and corrected typographical errors.

3. **README.md:**
   - Updated paths to User's Guide and images.
   - Added a new cover image.
   - Included a video demonstration link.
   - Enhanced introduction and features sections.
   - Detailed descriptions of bundles and functionalities.
   - Updated project structure details.

4. **User's Guide.md:**
   - Expanded on Commbase capabilities.
   - Added new configuration variables explanations.
   - Removed `Detailed Feature Overview.md`.
   - Streamlined and improved content.

5. **bundles/commbase-llm-google-gemini-p:**
   - Removed README.md, commbase_llm_google_gemini_p.py, and associated image and examples.

6. **bundles/commbase-llm-meta-llama-p:**
   - Deleted README.md, commbase_llm_meta_llama_p.py, and associated files.
   - Removed COPYING file.

7. **bundles/commbase-llm-openai-gpt-p:**
   - Deleted README.md, commbase_llm_openai_gpt_p.py, and associated files.

8. **Updated commbase_stt_whisper_proactive_p.py:**
   - Create new function get_commbase_hardware_speech_to_text_engine_component_on.

9. **commbase_stt_whisper_reactive_p.py:**
   - Renamed variable `COMBASE_HARDWARE_DEVICE_0` to `COMMBASE_HARDWARE_DEVICE_0`.
   - Enhanced logging with severity levels and timestamps.

10. **terminal_set_language.sh:**
   - Renamed `terminal_only_set_language` to `terminal_set_language`.
   - Updated configuration paths and added variables for voice recording.
   - Improved cleanup procedures for logs and session memory.

### Deleted Files

deleted:    assets/docs/Detailed Feature Overview.md
deleted:    bundles/commbase-llm-google-gemini-p/COPYING
deleted:    bundles/commbase-llm-google-gemini-p/README.md
deleted:    bundles/commbase-llm-google-gemini-p/commbase-llm-google-gemini-p.jpg
deleted:    bundles/commbase-llm-google-gemini-p/commbase_llm_google_gemini_p.py
deleted:    bundles/commbase-llm-google-gemini-p/examples/README.md
deleted:    bundles/commbase-llm-meta-llama-p/COPYING
deleted:    bundles/commbase-llm-meta-llama-p/README.md
deleted:    bundles/commbase-llm-meta-llama-p/commbase-llm-meta-llama-p.jpg
deleted:    bundles/commbase-llm-meta-llama-p/commbase_llm_meta_llama_p.py
deleted:    bundles/commbase-llm-meta-llama-p/examples/README.md
deleted:    bundles/commbase-llm-openai-gpt-p/COPYING
deleted:    bundles/commbase-llm-openai-gpt-p/README.md
deleted:    bundles/commbase-llm-openai-gpt-p/commbase-llm-openai-gpt-p.jpg
deleted:    bundles/commbase-llm-openai-gpt-p/commbase_llm_openai_gpt_p.py
deleted:    bundles/commbase-llm-openai-gpt-p/examples/README.md

### New Files

bundles/libcommbase/libcommbase/interactive/terminal_set_pytts3_voice_index.sh
assets/docs/Dialog-first software development paradigm.pdf
assets/docs/images/backdropbuild-v4-contest-build.png
assets/docs/images/backdropbuild.png
assets/docs/images/cover.png
assets/docs/images/gemini-api-developer-competition.svg
assets/docs/images/github.png
assets/docs/images/pinecone.png
assets/docs/images/vercel.png
bundles/commbase-genai-llm-google-gemini-p/
bundles/commbase-genai-llm-meta-llama-p/
bundles/commbase-genai-llm-openai-gpt-p/
bundles/commbase-genai-slm-ollama-phi3-mini-memory-remote-rag-picone/
bundles/commbase-genai-slm-ollama-phi3-mini-memory/
bundles/commbase-genai-slm-ollama-phi3-mini-nomemory/
bundles/libcommbase/libcommbase/routines/assistant_discourse_from_language_model.sh
data/.chat_memory.txt
src/client/bundles/
src/server/skills_db/
tmp_diff.txt
user/memory_store/

### Conclusion

Overall, these changes reflect a strategic effort to enhance Commbase's capabilities, streamline its structure, and improve user documentation and accessibility. By introducing new features, optimizing existing code, and cleaning up outdated content, the repository is better positioned to support interactive AI-powered applications on Linux and beyond. These consolidations pave the way for future developments and collaborations in the field of conversational AI and software development paradigms.
  • Loading branch information
estebanways committed Jul 8, 2024
1 parent 24cbd78 commit d4da5be
Show file tree
Hide file tree
Showing 80 changed files with 7,030 additions and 124 deletions.
15 changes: 12 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -144,8 +144,11 @@ certificates/*
# Ignore the contents of the "src/client/assets" directory
src/client/assets/*

# Ignore the contents of the "src/client/bundles" directory
# Ignore the contents of the "src/client/bundles" directory except for
# specific files.
src/client/bundles/*
!src/client/bundles/terminal-chat-gpt/
!src/client/bundles/terminal-chat-gpt/terminal_chat_gpt.py

# Ignore the contents of the "src/client/config" directory
src/client/config/*
Expand All @@ -158,10 +161,16 @@ src/client/log/*
# Ignore the contents of the "src/client/serial_communication" directory
src/client/serial_communication/*

# Ignore the contents of the "src/server/skills_db" directory except for the file
# named "open_the_web_browser.json".
# Ignore the contents of the "src/server/skills_db" directory except for
# specific files.
src/server/skills_db/*
!src/server/skills_db/bash/
!src/server/skills_db/bash/f/
!src/server/skills_db/bash/f/firefox/
!src/server/skills_db/bash/f/firefox/open_the_web_browser.json
!src/server/skills_db/bash/o/
!src/server/skills_db/bash/o/openai/
!src/server/skills_db/bash/o/openai/open_terminal_chat_gpt.json

# Ignore the contents of the "src/tests" directory
src/tests/*
Expand Down
14 changes: 6 additions & 8 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -497,21 +497,21 @@ $ pip3.12 install pytest
Install Python in an Anaconda Python environment
-------------------------------------------------

Alternatively, you can replace Python 3.12 with Anaconda Python. Anaconda Python includes some well-optimized Python packages, so the speech recognition AI is supposed to work faster with Anaconda Python than with the official running Python, but everything depends on many factors, such as package versions and system resource availability.
With this alternative, you can skip using your current system Python (for example, Python 3.11) by installing 3.12 in an Anaconda Python environment for Commbase. Anaconda Python includes some well-optimized Python packages, so the speech recognition AI is supposed to work faster with Anaconda Python than with the official running Python. However, everything depends on many factors, such as package versions and system resource availability.

More information on Anaconda: https://www.anaconda.com/

After the installation of Anaconda Python, you should see the string "(base)" in the foobar.

In case your system has a single Python installation using Anaconda Python if it is set up for running only in the Bash shell, you must enter the Bash shell before starting Commbase, starting anaconda-navigator, or starting any other Python script/program incapable of starting with the current Python's runtime that is preinstalled within your Operating System distribution:
If your system has a single Python installation using Anaconda Python, and it is set up to run only in the Bash shell, you must enter the Bash shell before starting Commbase, anaconda-navigator, or any other Python script/program that cannot start with the current Python runtime preinstalled within your Operating System distribution.

Example of foobar before entering Bash:

USER-NAME@HOSTNAME:~$ bash

Example of foobar with Anaconda Python, identified by the string "(base)", after entering Bash:

(base) USER-NAME@shark:~$
(base) USER-NAME@HOSTNAME:~$

To install PyPi-like packages in the (base) in Anaconda Python, use the command "conda":

Expand Down Expand Up @@ -549,8 +549,6 @@ To verify the package was installed, in your terminal window or an Anaconda Pyth

(commbase_env) $ conda list | grep ipython

Note: This documentation and Commbase code would be updated for future releases of Python to make everything Commbase compatible.

To deactivate the current environment and go back to (base) use:

(commbase_env) $ conda deactivate
Expand Down Expand Up @@ -605,7 +603,7 @@ Verify that Whisper is installed properly.

$ conda list | grep openai-whisper

Install the rest pip packages, individually, from the commmbase_env environment.
Install the rest pip packages, individually, within the commmbase_env environment.

$ pip install daal

Expand Down Expand Up @@ -725,7 +723,7 @@ It contains the sh command.

- espeak:

It is an alternative to festival.
Espeak is an alternative to Festival and is required by pyttsx3 on Linux.

- festival.

Expand Down Expand Up @@ -1160,4 +1158,4 @@ The output should be the Commbase introduction.

From here, you can program new custom skills to customize your voice assistant or to create J.A.R.V.I.S. from Iron Man.

Check out the document User's Guide in the directory docs/ for a complete list of options.
Check out the document User's Guide in the directory assets/docs/ for a complete list of options.
Loading

0 comments on commit d4da5be

Please sign in to comment.