Skip to content

Releases: ericmjl/llamabot

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.

v0.4.8

16 Jul 02:16
Compare
Choose a tag to compare

Version 0.4.8

This release includes several improvements and updates to the project, focusing on enhancing the development experience, adding new features, and improving documentation.

New Features

  • Add Ollama-specific checks for CI pipeline: Introduces a new GitHub Actions workflow for performing Ollama-specific checks on pull requests to the main branch. The workflow includes steps for checking out the repository, downloading Ollama, starting Ollama in the background, and pulling Microsoft's Phi3 model. (d229a22) (Eric Ma)
  • Integrate Ollama setup into pr-tests workflow: Removed the Ollama-specific checks workflow and added Ollama setup steps to the pr-tests.yaml workflow to ensure Ollama models are tested on pull requests. Updated pre-commit hooks to their latest versions to improve code quality checks. Added a new test case for Ollama integration in test_bot.py. (07ab4ec) (Eric Ma)
  • Add Ollama-specific checks for CI pipeline: Introduces a new GitHub Actions workflow ollama-on-ci.yaml for performing Ollama-specific checks on pull requests to the main branch. The workflow includes steps for checking out the repository, downloading Ollama, starting Ollama in the background, and pulling Microsoft's Phi3 model. Utilizes ubuntu-latest runner for executing the workflow steps. (d229a22) (Eric Ma)
  • Migrate dependency configuration to pixi.toml: Moved project and dependency configuration from pyproject.toml to pixi.toml to centralize configuration and simplify project setup. This change organizes dependencies, project metadata, and tasks into a single pixi.toml file, improving readability and maintainability. (1316116) (Eric Ma)
  • Enable pixi to develop LlamaBot: This commit enables pixi to develop LlamaBot by merging the necessary changes from the pixi branch. (9e4d9d3) (Eric Ma)
  • Add eefricker as a contributor for doc: Adds Ethan Fricker as a contributor for documentation. (d415fe7) (allcontributors[bot])
  • Add ElliotSalisbury as a contributor for doc: Adds Elliot Salisbury as a contributor for documentation. (70b30b0) (allcontributors[bot])
  • Add anujsinha3 as a contributor for doc: Adds Anuj Sinha as a contributor for documentation. (7cd087d) (allcontributors[bot])
  • Add anujsinha3 as a contributor for code: Adds Anuj Sinha as a contributor for code. (becd294) (allcontributors[bot])
  • Add reka as a contributor for doc and code: Adds Reka as a contributor for documentation and code. (4314c1f) (allcontributors[bot])
  • Add Pixi environment and update Micromamba setup in CI workflow: Added Pixi environment setup to the CI workflow for enhanced testing capabilities. Updated the Micromamba setup step to include a specific name, making the workflow more readable and maintainable. Expanded the environment-type matrix to include the new 'pixi' environment, alongside the existing 'miniconda' and 'bare' environments. Removed commented-out Miniconda setup code to clean up the workflow file and improve clarity. (320e82b) (Eric Ma)
  • Add mknotebooks to docs: Added mknotebooks to the documentation dependencies in pyproject.toml for enhanced notebook integration. (68b67b6) (Eric Ma)
  • Expand project dependencies and add mknotebooks to docs: Introduced a new [tool.pixi.dependencies] section with a comprehensive list of project dependencies, including openai, panel, bokeh, and others, to facilitate development and ensure compatibility. Specified version constraints for several dependencies such as panel >=1.3.0, bokeh >=3.1.0, astor >=0.8.1, typer >=0.4.7, pydantic >=2.0, and numpy <2 to address specific issues and requirements. Added a temporary version constraint for litellm <=1.35.38 to maintain JSON mode functionality, pending resolution of a reported issue. Locked beartype to version 0.15.0 to ensure stability. Expanded the [tool.pixi.pypi-dependencies] section with new entries such as case-converter, rank-bm25, and tantivy to enhance project capabilities. Included a new docs task in [tool.pixi.tasks] for local documentation serving with mkdocs serve. (bc1fd71) (Eric Ma)
  • Install Ollama tool in Docker environment: Added commands to update apt-get and install curl. Installed Ollama using its official installation script. Prepared for future Ollama pull command inclusion by commenting it out for now. (ee755e3) (Eric Ma)
  • Schedule daily development container builds: Add a cron job to the GitHub Actions workflow to trigger the build of the development container every day at 3.14 am. This ensures that the development environment is always up to date with the latest dependencies. (20e0796) (Eric Ma)
  • Update Docker image tag for consistency: Change the Docker image tag from llamabot/devcontainer:latest to ericmjl/llamabot-devcontainer:latest to align with naming conventions across projects. (5bf95bd) (Eric Ma)
  • Add pixi configuration and update git settings: Add .gitattributes for GitHub syntax highlighting of pixi.lock files, treating them as generated YAML files. Update .gitignore to exclude pixi environments and *.egg-info files. Introduce pixi configuration in pyproject.toml for dependency management and task execution, specifying conda channels, platforms, and environments for development, testing, and documentation. (41e3811) (Eric Ma)
  • Add GitHub action for building dev container: Introduces a new GitHub action workflow to build a Docker image from the project's Dockerfile upon every push to the repository. This ensures that the development container is always up to date with the latest changes in the codebase. Utilizes ubuntu-latest runner for executing the build steps. Employs actions/checkout@v2 for checking out the repository code before building the Docker image. (4450044) (Eric Ma)
  • Recommend increased Docker RAM for LLMs: Added a recommendation for configuring Docker to use 12-14GB of RAM to support local LLMs effectively. (6c0a9cb) (Eric Ma)
  • Add guide for setting up a development container: This commit introduces a new documentation file, devcontainer.md, under the docs/developer directory. The guide provides comprehensive instructions for setting up a development environment for LlamaBot using development containers. It includes prerequisites such as having git and Docker installed, and step-by-step instructions from forking LlamaBot to making a pull request. This addition aims to simplify the setup process for new contributors, especially those on Windows platforms, by leveraging the development container that comes pre-configured with Ollama. (412e8c3) (Eric Ma)

Bug Fixes

  • Remove hardcoded environments from cache setup: Removed the hardcoded environments 'default' and 'tests' from the cache setup in the GitHub Actions workflow for pull request tests. This change simplifies the configuration and relies on dynamic environment settings. (f16aaff) (Eric Ma)
  • Remove Ollama background service start: Ollama service start in background removed to streamline PR tests setup. This is not necessary b/c the Ollama setup already handles starting the service. (67d0546) (Eric Ma)

Deprecations

  • None in this release.

v0.4.7

13 Jul 23:32
Compare
Choose a tag to compare

Version 0.4.7

This release includes several enhancements to the SimpleBot, LlamaBot, and development environment, as well as a new JSON mode example notebook.

New Features

  • Added a new Jupyter notebook example demonstrating SimpleBot in JSON mode (644c2c0, Eric Ma)
  • Updated the development container to use mambaorg/micromamba as the base image for faster dependency resolution (fe720e0, Eric Ma)
  • Enhanced diffbot functionality with direct diff printing and new modules for git operations and prompt management (a04b661, Eric Ma)
  • Created a new notebook for GitHub file-level summary, providing tools for detailed pull request analysis (a04b661, Eric Ma)
  • Added a new pylab example script for the SciPy 2024 conference (7596858, Eric Ma)
  • Improved LlamaBot documentation with emojis, clarifications, and new sections for Git commit message writer, automatic release notes, and detailed bot engine documentation (618ae79, Eric Ma)
  • Streamlined the LlamaBot presentation content for brevity and focus (ae1aec2, Eric Ma)
  • Added a new presentation for SciPy 2024 on "LlamaBot: A Pythonic Interface to LLMs" (3495b6a, Eric Ma)

Bug Fixes

  • Fixed a bug where the initial system prompt was missing in the message flow of the QueryBot class (5f2cae4, Eric Ma)

Deprecations

  • Removed the "JSON Mode" section from the LlamaBot presentation, focusing on core functionalities (ae1aec2, Eric Ma)

Additionally, this release includes various improvements to the development environment, such as updates to the devcontainer configurations, Dockerfile streamlining, and the addition of essential tools for better code quality and collaboration.

v0.4.6

10 Jun 23:41
Compare
Choose a tag to compare

Version 0.4.6

This release includes a new feature that allows users to choose between receiving the URL of the generated image or saving the image locally when using the ImageBot class. Additionally, there is a fix for test readability and alignment with the expected use of the bot function parameters.

New Features

  • Added a return_url parameter to the ImageBot class to allow users to choose between receiving the URL of the generated image or saving the image locally. This change also includes an updated call signature and logic for handling the new parameter, as well as a new Jupyter notebook workflow for generating banner images based on blog post summaries. (64b1488, Eric Ma)

Bug Fixes

  • Fixed an issue in the tests where the bot function call in test_call_outside_jupyter was not using the named parameter save_path for clarity and to match function signature expectations. This change improves test readability and aligns with the expected use of the bot function parameters. (18f1095, Eric Ma)

Deprecations

  • None in this release.