Releases: ericmjl/llamabot
v0.0.86
Version 0.0.86
This version includes several enhancements and updates to the codebase, including the addition of new tutorials, refactoring of the code, and updates to the Python version used in the GitHub Actions workflow.
New Features
- Added a tutorial for building a QueryBot chat interface with file upload functionality. This tutorial guides users on how to build a chat interface using the QueryBot and Panel libraries. (4b5799a) (Eric Ma)
- Introduced a new tutorial in the documentation that guides users on how to create a simple chat interface using the
SimpleBot
class from thellamabot
library and thePanel
library. (efaef31) (Eric Ma) - Introduced a new Jupyter notebook 'panel-chat.ipynb' in the 'scratch_notebooks' directory. The notebook includes code for setting up a chat interface using the Panel library, and integrating it with a chatbot for interactive responses. (ba5d800) (Eric Ma)
- Introduced a new Jupyter notebook 'zotero-panel.ipynb' in the 'scratch_notebooks' directory. The notebook contains code for creating a Zotero panel with interactive widgets for configuring Zotero API key, library ID, and library type. (8f477ec) (Eric Ma)
- Introduced a new instance of SimpleBot named 'feynman' to the ollama notebook. The bot is tasked with explaining complex concepts, specifically in this case, the challenge of enzyme function annotation and the introduction of a machine learning algorithm named CLEAN. (7f844dc) (Eric Ma)
- Added ".html": "UnstructuredReader" to EXTENSION_LOADER_MAPPING in doc_processor.py to enable processing of .html files. (45d6485) (Eric Ma)
Bug Fixes
- Updated the python version used in the GitHub workflow for code style checks to 3.11. (d10e7e1) (Eric Ma)
Refactor
- Removed unused imports from
querybot.py
and updatedmake_or_load_vector_index
function to takeservice_context
as a parameter instead of creating it within the function. (935e3da) (Eric Ma) - Removed the unused @validate_call decorator from the call method in querybot.py. (3f7e8c0) (Eric Ma)
Documentation
- Added instructions to the documentation on how to use local Ollama models with LlamaBot. It includes a Python code snippet demonstrating how to specify the
model_name
keyword argument when creating aSimpleBot
instance. (57f1280) (Eric Ma) - Updated the documentation for LlamaBot. It introduces two options for getting access to language models: using local models with Ollama or using the OpenAI API. (fc42049) (Eric Ma)
Chore
- Updated the versions of pre-commit hooks for pre-commit-hooks, black, and ruff-pre-commit. It also replaces the darglint hook with pydoclint for better documentation linting. (9cc4902) (Eric Ma)
v0.0.85
Version 0.0.85
This version introduces several enhancements and refactors to the Llamabot project. The changes include improvements to the codebase's flexibility and maintainability, updates to the documentation, and the addition of new features.
New Features
- Added a new parameter
model_name
to thechat
function inzotero.py
, allowing users to specify the language model to use. (c03a13f) (Eric Ma) - Introduced a new Jupyter notebook 'ollama.ipynb' demonstrating the implementation of a simple chatbot named 'ollama' using the 'llamabot' library. (c4919b2) (Eric Ma)
- Added a new
.vscode/extensions.json
file with a list of recommended extensions for Visual Studio Code. (964bafa) (Eric Ma) - Added a new file
model_dispatcher.py
in thellamabot/bot
directory, which contains a functioncreate_model
that dispatches and creates the right model based on the model name. (3dee9ea) (Eric Ma) - Updated
simplebot.py
to use thecreate_model
function frommodel_dispatcher.py
instead of directly creating the model. (3dee9ea) (Eric Ma) - Added a prompt to the
default_model
function inconfigure.py
that informs the user to runllamabot configure default-model
to set the default model. (b7a50e5) (Eric Ma)
Refactors
- Replaced the hardcoded model name "codellama" with the default language model from the config file in
simplebot.py
. (bfb47a2) (Eric Ma) - Moved model token constants to a new file
model_tokens.py
for better organization and maintainability. (f2a1f46) (Eric Ma) - Refactored
QueryBot
class inquerybot.py
to usecreate_model
function frommodel_dispatcher.py
for model creation. (f2a1f46) (Eric Ma) - Simplified model creation and token budget calculation in
chatbot.py
. (491ab6f) (Eric Ma) - Removed an unnecessary echo message that was instructing the user to set the default model in the
default_model
function ofconfigure.py
. (d3c3751) (Eric Ma)
Documentation
- Added instructions on how to specify a model when using the
chat
command inzotero.md
. (9b07f17) (Eric Ma) - Introduced a new tutorial file
ollama.md
providing a comprehensive guide on how to run a chatbot usingllamabot
andOllama
. (9b07f17) (Eric Ma) - Added a newline at the end of the release notes for versions v0.0.82, v0.0.83, and v0.0.84. (0001e76) (Eric Ma)
Bug Fixes
- No bug fixes in this release.
Deprecations
- No deprecations in this release.
v0.0.84
Version 0.0.84
This new version introduces enhancements to the QueryBot class, adds a notebook for evaluating multiscale embeddings, and updates the funding configuration.
New Features
- A new notebook for evaluating multiscale embeddings has been added. This notebook, "zotero_multiscale.ipynb", provides an in-depth look at the effectiveness of multiscale embeddings compared to single-scale embeddings in LlamaBot's QueryBot class. It includes an explanation of multiscale embeddings, the motivation behind using them, and the implementation details. It also includes code to load a document from a Zotero library, create instances of QueryBot with different chunk sizes, and test their performance on different prompts. (24f9b6) (Eric Ma)
- The default chunk_sizes parameter in the QueryBot class has been updated to [2000]. This change ensures that the LlamaIndex TokenTextSplitter uses a chunk size of 2000 tokens by default. (f9d7f6) (Eric Ma)
- The GitHub funding platform in FUNDING.yml has been updated to use an array instead of a single string to support multiple contributors. (da221f) (Eric Ma)
- A new funding configuration file has been added to the project. This file includes supported funding model platforms such as GitHub and Patreon. (68c974) (Eric Ma)
Bug Fixes
- None in this release.
Deprecations
- None in this release.
v0.0.83
Version 0.0.83
This new version introduces more flexibility and control over the token budget and chunk sizes used in the chatbot. It also includes a new attribute to store the model name used by the bot and a bug fix to ensure multiple document paths are handled correctly.
New Features
- Added support for
response_tokens
andhistory_tokens
parameters in theQueryBot
class. These parameters allow the user to specify the number of tokens to use for the response and history in the chatbot. Also, achunk_sizes
parameter has been added to themake_or_load_vector_index
function to specify a list of chunk sizes to use for the LlamaIndex TokenTextSplitter (a1de812) (Eric Ma) - Introduced a new attribute 'model_name' to both QueryBot and SimpleBot classes. This attribute will be used to store the name of the model used by the bot (d5d684) (Eric Ma)
Bug Fixes
- Modified the
doc_paths
parameter in the chat function of the llamabot/cli/doc.py file to receive a list of doc_paths, ensuring that the function can handle multiple document paths correctly (c763327) (Eric Ma) - Changed the variable name in the chat function from
doc_path
todoc_paths
for better clarity and consistency (11111e) (Eric Ma)
Deprecations
- No deprecations in this release.
v0.0.82
Version 0.0.82
This new version primarily focuses on improving code readability and maintainability. It also introduces a new feature to handle different numbers of tags in the git log when writing release notes.
New Features
- Added conditions to handle different numbers of tags in git log (645a36) (Eric Ma)
Improvements
- Reformatted code in multiple files for better readability (871316) (Eric Ma)
- Added newline at the end of the release notes file (871316) (Eric Ma)
- Improved handling of cases with no tags or only one tag in the git repository (871316) (Eric Ma)
- Removed unnecessary comments from
llamabot/panel_utils.py
andtests/cli/test_cli_utils.py
(871316) (Eric Ma) - Reformatted docstrings for better readability in multiple test files (871316) (Eric Ma)
- Updated docstrings for test functions to be more descriptive in
tests/test_file_finder.py
andtests/test_recorder.py
(871316) (Eric Ma)
Bug Fixes
- No bug fixes in this release.
Deprecations
- No deprecations in this release.
v0.0.81
Version 0.0.81
This new version introduces a significant enhancement to the QueryBot class, providing more control over the printing of debug messages.
New Features
- Added a 'verbose' parameter to the QueryBot class to control the printing of debug messages (eee3e9) (Eric Ma)
- Updated the initialization of the LangChain model to use the new 'verbose' parameter instead of a hardcoded value (eee3e9) (Eric Ma)
Bug Fixes
- No bug fixes in this release.
Deprecations
- No deprecations in this release.
v0.0.80
Version 0.0.80
This version includes several improvements to the ChatBot, QueryBot, and SimpleBot classes, including new parameters for additional configuration options and improved code readability. It also simplifies the pip install command used in the release-python-package GitHub workflow and removes unnecessary clutter from the codebase.
New Features
- Added
streaming
andverbose
parameters to theChatBot
class initialization method, providing more flexibility in controlling the chat history streaming and verbosity during the bot initialization (a69c0f) (Eric Ma)
Bug Fixes
- Simplified the pip install command used in the release-python-package GitHub workflow. The previous command attempted to install all optional dependencies, which is not necessary for writing release notes. The new command only installs the package itself (2dffac) (Eric Ma)
Refactors
- Updated parameter names and descriptions in ChatBot, QueryBot, and SimpleBot for consistency and clarity. Added 'streaming' and 'verbose' parameters to SimpleBot for additional configuration options. Improved code readability by breaking up long lines and comments (6c0b37) (Eric Ma)
- Removed a large block of commented out code from the prompt_manager.py file, improving readability and reducing clutter in the codebase (7f4b0a) (Eric Ma)
Other
- Bumped version from 0.0.79 to 0.0.80 (385221) (github-actions)
v0.0.79
Version 0.0.79
This version introduces a new prompt decorator and tests, improves the release workflow, fixes bugs in the GitHub Actions workflow, and removes the dependency on the 'outlines' package.
New Features
- A new prompt decorator has been added in the scratch_notebooks directory, enhancing the functionality of functions by adding a prompt feature. Tests have been included to ensure the decorator works as expected with different types of function arguments (d023f22) (Eric Ma).
- Tests for blogging prompts in the prompt_library directory have been added. These tests validate the output of different blogging prompt functions (d023f22) (Eric Ma).
- The release notes handling in the GitHub workflow has been updated. The workflow now copies the release notes to a temporary location before creating a release in the GitHub repository (3884962) (Eric Ma).
- The source of the release notes in the GitHub Actions workflow for releasing a Python package has been changed. It now reads from a markdown file in the docs/releases directory (3884962) (Eric Ma).
- The file path for the release notes in the release-python-package GitHub workflow has been corrected. The version number now correctly includes a 'v' prefix when reading the markdown file (3884962) (Eric Ma).
- The path for the release notes in the GitHub Actions workflow has been corrected. The previous path was causing issues in the workflow execution. The path has been updated to correctly point to the release notes file (3884962) (Eric Ma).
Bug Fixes
- The file path for the release notes in the release-python-package GitHub workflow was incorrect and has been fixed (3884962) (Eric Ma).
Deprecations
- The step of copying release notes to a temporary location has been removed and the original file is directly referenced in the release action. This simplifies the workflow and reduces unnecessary operations (3884962) (Eric Ma).
- The 'outlines' package was removed from the dependencies in the environment.yml and pyproject.toml files (af23aae) (Eric Ma).
Refactors
- The use of the
outlines
package has been replaced with a customprompt_manager
module across multiple files in thellamabot
project. Theprompt_manager
provides aprompt
decorator that turns Python functions into Jinja2-templated prompts, similar to the functionality provided byoutlines
. This refactor removes the dependency on theoutlines
package, simplifying the project's dependencies and potentially improving maintainability (dbe78e4) (Eric Ma).
v0.0.78
Version 0.0.78
This new version includes several improvements to the release workflow and bug fixes. The release notes handling has been updated and simplified, and several bugs in the GitHub Actions workflow have been fixed.
New Features
- Release notes handling in the GitHub workflow has been updated. The workflow now copies the release notes to a temporary location before creating a release in the GitHub repository. This ensures that the release notes are correctly included in the release (d9ab5b) (Eric Ma)
- The source of the release notes in the GitHub Actions workflow for releasing a Python package has been changed. Instead of using an environment variable, it now reads from a markdown file in the docs/releases directory. The filename is based on the version number (3958ff) (Eric Ma)
Bug Fixes
- A bug in the GitHub Actions workflow for releasing a Python package has been fixed. The copy command used to copy the release notes was incorrect and has been fixed (7cda28) (Eric Ma)
- The file path for the release notes in the release-python-package GitHub workflow has been corrected. The version number now correctly includes a 'v' prefix when reading the markdown file (e03626) (Eric Ma)
- The path for the release notes in the GitHub Actions workflow has been corrected. The previous path was causing issues in the workflow execution. The path has been updated to correctly point to the release notes file (75978b) (Eric Ma)
Deprecations
- The step of copying release notes to a temporary location has been removed and the original file is directly referenced in the release action. This simplifies the workflow and reduces unnecessary operations (eb2aef) (Eric Ma)
v0.0.77
Bump version: 0.0.76 → 0.0.77