Releases: ericmjl/llamabot
v0.8.4
Version 0.8.4
This release includes enhancements to the recorder module, improved logging and database integration for the llamabot, and updates to the project's configuration files.
New Features
- Enhanced the recorder module with additional database columns for storing model names and temperature, and improved error handling during database upgrades. (92aef9) (Eric Ma)
- Enhanced logging and database integration in llamabot, including new model names and refactored methods for better integration. (f4403c) (Eric Ma)
Bug Fixes
- None reported in this release.
Deprecations
- None reported in this release.
v0.8.3
Version 0.8.3
This release includes refinements to the LlamaBot CLI, enhancing its flexibility and usability by allowing dynamic parameter adjustments and simplifying its internal bot structure.
New Features
- Refactored the documentation bot to use a simpler bot type and added dynamic verbosity control to the writing function. This update makes the bot more adaptable to different verbosity requirements and simplifies its implementation. (fb336b8) (Eric Ma)
- Enhanced bot functions to accept model names as parameters, allowing for more flexible bot operations across different models. This change improves the modularity and reusability of the bot functions. (9119182) (Eric Ma)
Bug Fixes
- None in this release.
Deprecations
- None in this release.
v0.8.2
Version 0.8.2
This release introduces several enhancements to the LlamaBot CLI, including new features for cache management and bot refinement, as well as improvements to the SimpleBot functionality. Additionally, it simplifies the notebook bot implementation and removes outdated resources.
New Features
- Added cache management commands to LlamaBot CLI to handle cache operations more efficiently, including a command to clear the disk cache. (d58f8a) (Eric Ma)
- Enhanced SimpleBot to better handle o1 models by adding special case handling and removing type hints for increased flexibility. (e3268c) (Eric Ma)
- Introduced new functions in llamabot/cli/docs to refine documentation generation, including
refine_bot
andrefine_bot_sysprompt
for creating structured prompts and configurations. (27a1df) (Eric Ma)
Refactorings
- Simplified the notebook bot implementation in llamabot/cli by replacing
StructuredBot
withSimpleBot
and streamlining content provision and explanation processes. (a1ae4b) (Eric Ma)
Deprecations
- Removed the explained version of the dummy Jupyter notebook, including all markdown explanations and code cells related to data analysis and visualization. (a9fb7c) (Eric Ma)
v0.8.1
Version 0.8.1
This minor release includes important security fixes, refactoring, and enhancements in documentation and coding style guidelines to improve the overall functionality and security of the LlamaBot CLI.
New Features
- Updated coding style guidelines to prefer functional programming and specified Typer for CLI apps and pytest for testing. (a8207cc) (Eric Ma)
- Enhanced documentation for LlamaBot Notebook CLI, adding a new 'Recommended Usage' section and clarifications on code and markdown cell usage. (56a68ad) (Eric Ma)
Bug Fixes
- Removed a sensitive API key from the source code to enhance security. (c997861) (Eric Ma)
Refactorings
- Refactored the default model usage in LlamaBot CLI to replace hardcoded model names with a function call, ensuring consistency across functions. (f36dd14) (Eric Ma)
v0.8.0
Version 0.8.0
This release includes several new features and improvements to the LlamaBot Notebook CLI.
New Features
- The maximum allowed description length in DescriptionEntry validation has been increased from 79 to 160 characters. The error message has also been updated to reflect the new character limit. (5dea5a5, Eric Ma)
- A comprehensive tutorial has been added for using the LlamaBot Notebook CLI. The tutorial explains the benefits and features of the CLI, and includes usage examples and prerequisites. (c5a76c1, Eric Ma)
- The project dependencies have been updated to include nbformat. The pixi.lock file has been updated with a new sha256 checksum for llamabot, and nbformat has been added to the required packages in pixi.lock and pyproject.toml. (416d84d, Eric Ma)
- A new notebook module has been added to the LlamaBot CLI, which includes a new
explain
command for notebook code cell explanations. The explained notebook can also be saved with an optional overwrite feature. (27ced02, Eric Ma) - A new Jupyter notebook has been added for prototyping a notebook code explainer. The notebook includes data analysis and notebook explanation. Additionally, llama3.2 has been added to ollama_model_names.txt, and the llamabot version has been updated from 0.6.3 to 0.7.0 in pixi.lock. (533027e, Eric Ma)
Bug Fixes
There are no bug fixes in this release.
Deprecations
There are no deprecations in this release.
v0.7.0
Version 0.7.0
This release includes several enhancements to the LlamaBot CLI, caching, and model names.
New Features
- Better caching: Improved caching functionality for better performance (Merged pull request #96 from ericmjl/better-caching) (8df15b0) (Eric Ma)
- Updated Git CLI documentation: Revised and structured Git CLI documentation, including a tutorial, getting started section, commands overview, examples, and conclusion (0ced3a0) (Eric Ma)
- Enhanced release notes generation: Added a console status indicator during release notes generation and changed the stream target from 'stdout' to 'none' (b6465e8) (Eric Ma)
- Refactored git command handling and error reporting: Replaced Typer with typer, added start_date and end_date parameters for report generation, and updated compose_git_activity_report to accept time period description (047e696) (Eric Ma)
- Added clipboard support for report output: Enabled copying report content to the clipboard and added user feedback messages (ff13a5c) (Eric Ma)
- Enhanced llamabot with new model names and reporting features: Added new model names, implemented a new git subcommand to generate reports based on recent activity, and updated llamabot version to 0.6.3 (00052ef) (Eric Ma)
- Added new model names to ollama_model_names.txt: Included qwen2.5-coder, solar-pro, nemotron-mini, qwen2.5, bespoke-minicheck, and mistral-small to the model list (11d77f0) (Eric Ma)
- 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 (9b7f339) (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 (786fcea) (Eric Ma)
Bug Fixes
No bug fixes were included in this release.
Deprecations
No deprecations were included in this release.
v0.6.3
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
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
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 anext_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 usingPath
for reading external prime number source code and updating docstrings inis_prime
andnext_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 iffrom_scratch
is true. (e78b3f1) (Eric Ma)
Deprecations
- No deprecations in this release.
Other Changes
- Refactored the
llamabot
bot and documentation handling. This includes changing thetask_message
return type toHumanMessage
inStructuredBot
, substitutingDocumentationOutOfDate
withModelValidatorWrapper
, addingood_checker_bot
anddocwriter_bot
functions for bot instance creation, updating thewrite
function to use new bot functions and handle doc updates, and fixing class name typos in test cases toDocsDoNotCoverIntendedMaterial
. (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 thelinked_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 inpyproject.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
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 thellamabot 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.