Skip to content

Releases: ericmjl/llamabot

v0.6.3

13 Sep 01:27
Compare
Choose a tag to compare

Version 0.6.3

This release includes updates to caching documentation and configuration, as well as improvements to the llamabot feature.

New Features

  • Enhanced caching documentation and configuration: Added a caching section in README.md for configuration and environment variable usage, and updated cache.py to set cache timeout based on an environment variable. (103b7af) (Eric Ma)
  • Updated model names and enhanced cache timeout: Added a comprehensive list of model names to ollama_model_names.txt, and set a default cache timeout of 1 day in cache.py. (3af5f09) (Eric Ma)

Bug Fixes

No bug fixes in this release.

Deprecations

No deprecations in this release.

v0.6.2

10 Sep 13:02
Compare
Choose a tag to compare

Version 0.6.2

This release includes several improvements to the caching mechanism, new features for testing, and a version bump.

New Features

  • Implemented caching mechanism across various bot components, including QueryBot, SimpleBot, and StructuredBot. Added a new cache module and updated dependencies to include diskcache. (b7d2b32, Eric Ma)
  • Added deterministic mock response generation for tests. Imported hashlib to use for generating hash-based mock responses and created a new function generate_mock_response to produce unique responses. (4a49925, Eric Ma)

Bug Fixes

  • Improved caching mechanism in SimpleBot methods by adding ignore={0} to @cache.memoize() in key methods to ignore "self" positional arg. (621e8e9, Eric Ma)

Refactoring

  • Refactored caching in SimpleBot methods, removing caching from stream_panel and stream_api methods and adding caching to generate_response method. (f35bab2, Eric Ma)
  • Refactored caching in bot classes, removing redundant caching decorators from QueryBot and StructuredBot and adding caching to various stream methods in SimpleBot to optimize performance. (282efbc, Eric Ma)
  • Refactored test_simple_bot_stream_stdout to use hypothesis strategies more efficiently, replacing multiple given decorators with a single one using st.data() and using st.tuples to draw system_prompt, human_message, and mock_response together. (8b56779, Eric Ma)

Deprecations

  • None in this release.

v0.6.1

06 Sep 01:29
Compare
Choose a tag to compare

Version 0.6.1

This release includes several improvements and updates to the documentation, as well as new functionality for finding prime numbers.

New Features

  • Added functionality to find the next prime number. This includes an is_prime function to check primality and a next_prime function to find the next prime number after a given number. (22b73f3) (Eric Ma)
  • Refactored the test_docs module to use an external source file and improve function documentation. This includes using Path for reading external prime number source code and updating docstrings in is_prime and next_prime functions. (196bde2) (Eric Ma)
  • Updated the llamabot documentation to reflect source code changes and add new test cases. This includes updating the documentation and test suite for new source code changes and adding comprehensive test cases for documentation validation. (4308ba3) (Eric Ma)
  • Improved the formatting and clarity of the CLI documentation for the llamabot docs write command. This includes reformatting the --from-scratch flag section for better clarity, updating the frontmatter section to specify YAML format, simplifying the example section with a complete Markdown file, and changing file and intent sections in the Python script for clearer content blocks. (8108712) (Eric Ma)

Bug Fixes

  • Fixed an issue with the llamabot docs write command to ensure content is cleared at the correct stage when writing from scratch. This includes moving content clearing to the start of the write function if from_scratch is true. (e78b3f1) (Eric Ma)

Deprecations

  • No deprecations in this release.

Other Changes

  • Refactored the llamabot bot and documentation handling. This includes changing the task_message return type to HumanMessage in StructuredBot, substituting DocumentationOutOfDate with ModelValidatorWrapper, adding ood_checker_bot and docwriter_bot functions for bot instance creation, updating the write function to use new bot functions and handle doc updates, and fixing class name typos in test cases to DocsDoNotCoverIntendedMaterial. (805caa6) (Eric Ma)
  • Updated the documentation for the next_prime function. This includes providing a tutorial on how to use the prime number function and explaining any optimizations made in the source code. (99ae504) (Eric Ma)
  • Updated the documentation for the llamabot docs write command. This includes adding an explanation of how linked files are referenced, detailing the mechanism of referencing files in the linked_files key, and providing an example of relative path usage for linked files. (3fe4571) (Eric Ma)
  • Updated the pytest configuration for the test_docs module. This includes changing the pytest marker from 'llm' to 'llm_eval' and updating the pytest addopts in pyproject.toml to use the new 'llm_eval' marker. (22e067d) (Eric Ma)
  • Updated the pytest marker for the test_docs module. This includes changing the pytest marker from 'llm_evals' to 'llm'. (f506b12) (Eric Ma)
  • Bumped version from 0.6.0 to 0.6.1. (52ac0d9) (github-actions)

v0.6.0

30 Aug 13:00
Compare
Choose a tag to compare

Version 0.6.0

This release includes several new features, improvements, and bug fixes.

New Features

  • Version bump to 0.6.0: The project version has been updated to 0.6.0. (65f92c2) (github-actions)
  • Guided tutorial for llamabot docs write command: A new documentation file has been created for the LlamaBot CLI, including usage instructions, options, and necessary frontmatter key-value pairs for the llamabot docs write command. (8541107) (Eric Ma)
  • Updated SimpleBot tutorial documentation: The SimpleBot tutorial documentation has been updated with detailed sections on the AIMessage object, new import paths, and additional information on using the Panel app with SimpleBot. (84ebf42) (Eric Ma)
  • Updated recording prompts tutorial: The recording prompts tutorial has been revised for better clarity and integration, including a how-to guide format, metadata section, updated import paths, and parameter name changes. (3f494d5) (Eric Ma)
  • Pixi environment setup in GitHub Actions workflow: A new step has been added to the GitHub Actions workflow to set up the Pixi environment, configure Pixi v0.25.0 with caching, and enable cache writing for pushes to the main branch. (94d7165) (Eric Ma)
  • Local hook for pixi installation: A new local hook has been added to the pre-commit configuration to always run and require serial execution for pixi installation. (521bbd3) (Eric Ma)
  • Updated SHA256 hash for llamabot package: The SHA256 hash in the pixi.lock file for the llamabot package has been updated. (16fc384) (Eric Ma)
  • Added python-frontmatter package: The python-frontmatter 1.1.0 package has been added to the project's dependencies and included in the pixi.lock and pyproject.toml files. (555da15) (Eric Ma)
  • New Jupyter notebook for docbot functionality: A new Jupyter notebook has been created to integrate various documentation tools, set up autoreload for dynamic updates, and implement code cells for handling documentation checks and updates. (5a8f84b) (Eric Ma)
  • Added documentation generation command to CLI: A new CLI command has been added for Markdown documentation generation, including a save method in MarkdownSourceFile, refactored documentation_information function, and updates to the write command for handling outdated or empty documentation. (7976e27) (Eric Ma)
  • Updated ChatBot tutorial documentation: The ChatBot tutorial documentation has been revised with detailed steps on using the ChatBot class in a Jupyter notebook, serving a Panel app, and explaining the message retrieval process for API calls. (4e7092e) (Eric Ma)
  • Updated Dockerfile for development environment setup: The Dockerfile has been updated to replace environment.yml with pixi.lock and pyproject.toml, copy docs, llamabot, and tests directories to the container, and update the Ollama installation command with detailed comments. (9bdc226) (Eric Ma)
  • Added a new CLI tool for managing Markdown documentation: A new file llamabot/cli/docs.py has been created to handle Markdown documentation, including the implementation of classes for Markdown source files and documentation status checking, integration of Typer for CLI command handling, and use of pydantic for validation and frontmatter for Markdown metadata. (57a8781) (Eric Ma)
  • Updated development container setup documentation: The documentation for the development container setup has been updated to highlight the influence of devcontainer.json, detail the inclusion of tests and llamabot directories, describe the 'ollama' software installation, explain postCreateCommand and postStartCommand purposes, and clarify troubleshooting for common failure modes. (043fb9d) (Eric Ma)
  • Added curl and build-essential installation commands to Dockerfile: curl has been added to fetch resources from the web, and build-essential has been added for C++ compilation requirements. (67f99e8) (Eric Ma)
  • Updated Docker and GitHub Actions configurations: A .dockerignore file has been added to exclude unnecessary files from the Docker context, and the build-devcontainer.yaml file has been updated to trigger on pull requests to the main branch. (04af9dd) (Eric Ma)

Bug Fixes

  • Fixed model used in SimpleBot for testing: The model used in test_bot.py has been changed from 'ollama/phi3' to 'ollama/gemma2:2b'. (ecdbd58) (Eric Ma)
  • Enhanced input validation in test cases for QueryBot: Regex filters have been added to block repeated characters in test inputs for QueryBot. (ddbb501) (Eric Ma)
  • Updated project dependencies in pyproject.toml: Version constraints have been removed on 'beartype' and 'litellm', and a comment has been added for the runtime dependencies section. (1a124ea) (Eric Ma)
  • Updated sha256 hash for llamabot package: The sha256 hash for llamabot has been updated in the pixi.lock file. (41b2135) (Eric Ma)
  • Fixed pixi.lock file: The pixi lockfile has been regenerated to fix an issue. (cffa639) (Eric Ma)

Deprecations

  • None in this release.

v0.5.5

10 Aug 15:59
Compare
Choose a tag to compare

Version 0.5.5

This release includes several updates to improve the functionality and usability of the CommitMessage model.

New Features

  • The emoji field is now required in the CommitMessage model (780ced7, Eric Ma)
  • The number of attempts for the StructuredBot has been increased from 3 to 10 (cd4e036, Eric Ma)
  • Field descriptions in the CommitMessage model have been updated for clarity (f614de2, Eric Ma)

Bug Fixes

  • The 'scope' field description in the CommitMessage model has been simplified and scope validation has been removed (f614de2, Eric Ma)

Deprecations

  • The validate_scope method, which enforced a two-word limit on the 'scope' field, has been removed (f614de2, Eric Ma)

Note: The 'infra: update pixi lock file' commit (e52c794, Eric Ma) is not included in the release notes as it does not introduce any user-facing changes.

Additionally, the version bump commit (ac5bd14, github-actions) is not included in the release notes as it is an automated commit that does not introduce any new features or bug fixes.

The 'Add release notes for 0.5.4' commit (81da62c, github-actions) is also not included in the release notes as it is not relevant to the current release.

v0.5.4

07 Aug 23:49
Compare
Choose a tag to compare

Version 0.5.4

This release includes several updates to the validation logic for commit messages, as well as new model names for llamabot.

New Features

  • The maximum allowed characters for commit message descriptions has been increased from 79 to 160. Scope descriptions can now contain up to two words instead of one, and the one line description limit has been updated back to 79 characters. Additionally, an emoji field has been added to the CommitMessage model and the commit message format has been modified to include emoji. (6dce0c9, Eric Ma)
  • Three new model names have been added to llamabot: bge-large, paraphrase-multilingual, and bge-m3. (585537f, Eric Ma)

Bug Fixes

  • No bug fixes in this release.

Deprecations

  • No deprecations in this release.

v0.5.3

05 Aug 12:09
Compare
Choose a tag to compare

Version 0.5.3

This release includes updates to the commit message format and documentation, as well as dependency updates.

New Features

  • The description length limit for commit messages has been increased from 79 characters to 160 characters, and the body length limit has been increased from 6 entries to 10 entries. (cc1f9bd, Eric Ma)

Bug Fixes

  • The pixi lockfile has been updated. (cf66961, Eric Ma)
  • The chatbot_nb.ipynb file has been updated. (c354319, Eric Ma)

Deprecations

  • None in this release.

v0.5.2

01 Aug 02:33
Compare
Choose a tag to compare

Version 0.5.2

This release includes several improvements to the build process, testing, and documentation.

New Features

  • Dockerfile has been updated to use pixi, which simplifies the build process and reduces dependencies (4ccd5c9) (Eric Ma)
  • The docs build and deploy process has been simplified with the use of pixi run build-docs (04cde63) (Eric Ma)
  • The GitHub workflow for setting up the pixi environment has been updated (a38145f) (Eric Ma)
  • The prepare-commit-msg hook has been improved to handle commit messages more reliably (75dca4c) (Eric Ma)
  • The LlamaBot configuration tutorial has been improved for better readability and clarity (82b1177) (Eric Ma)

Bug Fixes

  • The test_structuredbot.py file has been updated to use pytest and reduce the number of attempts from 50 to 3 (ac5b1aa) (Eric Ma)
  • The git.py file has been fixed to improve the prepare-commit-msg hook and check if a commit message is provided before running llamabot git compose (c5e9fa1) (Eric Ma)

Deprecations

  • The miniconda setup in the GitHub workflow has been replaced with the pixi environment setup (a38145f) (Eric Ma)
  • The manual build steps in the docs workflow have been replaced with pixi run build-docs (04cde63) (Eric Ma)
  • The mamba env create command has been replaced with pixi install in the Dockerfile (4ccd5c9) (Eric Ma)
  • The deploy directory in the docs workflow has been updated from ./docs to ./site (04cde63) (Eric Ma)
  • The documentation for installing the commit message hook and auto-composing commit messages has been updated (579edc4) (Eric Ma)

v0.5.1

29 Jul 04:52
Compare
Choose a tag to compare

Version 0.5.1

This release includes several improvements and new features, focusing on enhancing the bot's functionality, flexibility, and user experience.

New Features

  • Structured commit message generation and validation: Added support for generating structured commit messages based on diffs and validating their format. (43fa3ee, Eric Ma)
  • Knowledge graph example: Introduced a new Jupyter notebook example demonstrating how to extract knowledge graph triples from text using LlamaBot's StructuredBot. (14a05ed, Eric Ma)
  • New model names and streaming options: Added new model names for broader coverage and introduced a 'none' stream target for silent operation without streaming output. (68430a7, Eric Ma)
  • Pixi environment setup and tests: Added setup and test commands for the Pixi environment, conditional on the repository owner being 'ericmjl'. (f27412f, Eric Ma)
  • Version management in pyproject.toml: Included search and replace patterns for version updates in pyproject.toml to ensure version consistency across the project. (9b21110, Eric Ma)

Bug Fixes

  • Corrected CLI command in pr-tests workflow: Fixed the CLI command for the Pixi environment to ensure the correct execution of tests. (9c9549b, Eric Ma)
  • Improved dependency installation: Changed the pip install command from -e to . for correct dependency installation. (d9f3c3b, Eric Ma)
  • Updated default model name for commitbot: Changed the default model name from groq/llama-3.1-70b-versatile to gpt-4-turbo. (6644772, Eric Ma)

Deprecations

  • Removed miniconda environment: Updated the workflow to use only bare and Pixi environments and removed the environment.yml file. (438defd, Eric Ma)
  • Removed Pixi configuration file: Migrated project configuration to pyproject.toml for better modularity and clarity. (de7eb2e, Eric Ma)

Please note that this release also includes various refactorings, code cleanups, and documentation improvements to enhance the overall quality and maintainability of the project.

v0.5.0

21 Jul 01:23
Compare
Choose a tag to compare

Version 0.5.0

This release includes several improvements and new features for the LlamaBot project.

New Features

  • Added a new Jupyter notebook example demonstrating how to build a bot for checking if docstrings match the function source code (3f87427) (Eric Ma)
  • Enhanced the StructuredBot initialization process by including default language model configuration (7a352ca) (Eric Ma)
  • Introduced a new Jupyter notebook example showcasing the usage of LlamaBot with the Groq API (2dc21be) (Eric Ma)
  • Renamed and enhanced the PydanticBot example notebook to better reflect its purpose of extracting structured data from unstructured text (bf27391) (Eric Ma)
  • Added unit tests for StructuredBot functionality to ensure it properly returns a Pydantic model when given a specific input (912a76c) (Eric Ma)
  • Restructured bot imports and added StructuredBot to the top-level API (320869d) (Eric Ma)

Bug Fixes

  • Corrected the conditional check in the GitHub Actions workflow for building the devcontainer to use github.repository_owner instead of github.owner, ensuring the build is triggered by the correct repository owner context (a79b4c4) (Eric Ma)
  • Changed the quote style around github.owner condition to maintain consistency across the project (86b1732) (Eric Ma)
  • Fixed the title in the structuredbot.ipynb example to reflect the correct bot name (1f2e2b7) (Eric Ma)

Deprecations

  • The import paths for ChatBot, QueryBot, SimpleBot, and ImageBot have changed due to the restructuring of bot imports. Users will need to update their import statements to reflect the new structure (320869d) (Eric Ma)

Please note that this release also includes various improvements to the GitHub Actions workflow, such as adding a push event trigger for the main branch, streamlining conditions for the build-container job, and enabling cache for Docker layers to improve build speed.