Skip to content

Releases: ericmjl/llamabot

v0.0.86

31 Oct 09:59
Compare
Choose a tag to compare

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 the llamabot library and the Panel 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 updated make_or_load_vector_index function to take service_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 a SimpleBot 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

20 Oct 23:56
Compare
Choose a tag to compare

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 the chat function in zotero.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 the llamabot/bot directory, which contains a function create_model that dispatches and creates the right model based on the model name. (3dee9ea) (Eric Ma)
  • Updated simplebot.py to use the create_model function from model_dispatcher.py instead of directly creating the model. (3dee9ea) (Eric Ma)
  • Added a prompt to the default_model function in configure.py that informs the user to run llamabot 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 in querybot.py to use create_model function from model_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 of configure.py. (d3c3751) (Eric Ma)

Documentation

  • Added instructions on how to specify a model when using the chat command in zotero.md. (9b07f17) (Eric Ma)
  • Introduced a new tutorial file ollama.md providing a comprehensive guide on how to run a chatbot using llamabot and Ollama. (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

07 Oct 10:57
Compare
Choose a tag to compare

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

05 Oct 15:59
Compare
Choose a tag to compare

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 and history_tokens parameters in the QueryBot class. These parameters allow the user to specify the number of tokens to use for the response and history in the chatbot. Also, a chunk_sizes parameter has been added to the make_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 to doc_paths for better clarity and consistency (11111e) (Eric Ma)

Deprecations

  • No deprecations in this release.

v0.0.82

02 Oct 17:29
Compare
Choose a tag to compare

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 and tests/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 and tests/test_recorder.py (871316) (Eric Ma)

Bug Fixes

  • No bug fixes in this release.

Deprecations

  • No deprecations in this release.

v0.0.81

02 Oct 12:17
Compare
Choose a tag to compare

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

30 Sep 13:24
Compare
Choose a tag to compare

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 and verbose parameters to the ChatBot 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

26 Sep 09:50
Compare
Choose a tag to compare

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 custom prompt_manager module across multiple files in the llamabot project. The prompt_manager provides a prompt decorator that turns Python functions into Jinja2-templated prompts, similar to the functionality provided by outlines. This refactor removes the dependency on the outlines package, simplifying the project's dependencies and potentially improving maintainability (dbe78e4) (Eric Ma).

v0.0.78

25 Sep 03:18
Compare
Choose a tag to compare

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

25 Sep 02:24
Compare
Choose a tag to compare
Bump version: 0.0.76 → 0.0.77