Skip to content

Releases: bakaburg1/minutemaker

v0.12.0

11 Oct 20:05
d44d409
Compare
Choose a tag to compare

Add Support for Local Whisper Models and Integrate llmR for Summarization

Enhancements

  • Support for Local Whisper Models: Added functions use_whisper_local_stt and use_mlx_whisper_local_stt to support local Whisper models via Python with reticulate, with the second being optimized for Mac OS with Apple Silicon (Commit: 69e4f5e).
  • Integration with llmR: Refactored the code to rely on the llmR package for LLM interactions, removing redundant LLM-related functions (Commit: 2331b46).
  • Enhanced Speech-to-Text Workflow: Updated perform_speech_to_text to use whisper_local as the default model and enhanced speech_to_summary_workflow to display the selected speech-to-text model (Commit: 69e4f5e).

Fixes

  • Dependency Management: Replaced custom dependency check function with rlang::check_installed for better package management (Commit: 3227b0d).

Documentation

  • Updated README: Revised README to describe the use of llmR for summarization and the addition of new local models for speech-to-text (Commit: 8bff883).

Summary

This pull request introduces significant enhancements to the minutemaker package by adding support for local Whisper models, integrating the llmR package for LLM interactions, and improving the speech-to-text workflow. Additionally, it fixes dependency management issues and updates the documentation to reflect these changes.

What's Changed

  • Add Support for Local Whisper Models and Integrate llmR for Summarization by @bakaburg1 in #23

Full Changelog: v0.10.0...v0.12.0

v0.10.0

29 May 15:24
1383da7
Compare
Choose a tag to compare

Enhancements

  • Change interrogate_llm to prompt_llm: Renamed the interrogate_llm function to prompt_llm to better reflect its purpose of generating prompts for language models (Commit: [2f9eedd]).
  • Model Logging for LLM Requests: Added a log_request parameter to use_openai_llm, use_azure_llm, and use_custom_llm functions to log the specific endpoint and model being used (Commit: [7e85f2f]).
  • Handling Long LLM Responses: Improved the handling of LLM responses that exceed the output token limit. Users are now prompted to decide how to proceed, and incomplete answers are saved to a file for reference (Commit: [18cfada]).
  • Model Parameter for Custom LLM APIs: Added a model parameter to LLM calls to allow specifying a model for custom APIs with multiple models (Commit: [cd4227b]).

Fixes

  • Restore Correct Speaker Extraction for Webex VTT: Fixed the parsing of Webex VTT files which was broken by the implementation of MS Teams VTT parsing (Commit: [d189980]).
  • Remove Newlines from JSON Output: Fixed an issue where some custom LLMs produced invalid JSON with newlines, causing errors during parsing (Commit: [e9e578a]).
  • Support JSON Mode for Custom LLMs: Ensured that most custom LLMs now support JSON mode by keeping the JSON mode option in the call (Commit: [f4df24c]).

Documentation

  • Improve Code Comments and Error Handling: Enhanced code comments and error handling for better clarity and maintenance (Commit: [4b689ff]).

Summary

This pull request introduces several enhancements to the LLM handling, including logging the model being used, better management of long responses, and support for specifying models in custom APIs. It also includes fixes for speaker extraction in Webex VTT files and handling of JSON outputs from custom LLMs. Additionally, code comments and error handling have been improved for better clarity.


In the land of code so bright,
LLMs now log their might.
Webex speakers found their way,
JSON errors kept at bay.
With models clear and prompts so neat,
Minutemaker's now complete!

Full Changelog: v0.9.0...v0.10.0

Improve agenda review and add custom LLM support

17 Apr 16:00
8fe8e60
Compare
Choose a tag to compare

Enhancements

  • Improve user interaction for agenda review: the speech_to_summary_workflow function now displays the generated agenda in the console, facilitating review and reducing the need to locate the agenda file separately. (Commit: 3bed1cc).
  • Add support for custom language model endpoints: replace use_local_llm() with use_custom_llm() to send requests to custom (local or remote) language model endpoints compatible with the OpenAI API specification, allowing to use also API Keys. (Commit: 0fdfe57).
  • Dynamic output_length parameter as default: dynamically set summarization_output_length in the workflow function based on whether a multipart summary is generated (shorter outputs) or not (longer outputs), optimizing the readability and relevance of summaries. (Commit: 2511287).

Fixes

  • Fix output_length usage: output_length was not being considered in the summarization process. (Commit: 08e95d1).
  • Fix agenda file validation: update the validation logic for the 'agenda' argument in the speech_to_summary_workflow function to handle character type inputs correctly and provide clearer error messages. (Commit: d200a55).
  • Fix agenda validation: add checks for empty agenda elements and missing required items, improve error messages for invalid time formats, and update tests. (Commit: 6d870ee).

Documentation

  • Fix messages typos: correct typos in messages. (Commit: 0fdfe57).

Summary

This pull request focuses on improving the user experience and adding support for custom language model endpoints. It enhances the agenda review process, ensures dynamic output length adjustment, fixes agenda validation, and adds documentation typo corrections.

🐇✨
In the land of code and script,
A rabbit hopped and tweaks it flipped.
Errors tamed and features new,
Paths to explore, in R we drew.
Hop along, the changes gleam,
In the coder's crafted dream. 🌟📜

What's Changed

  • Improve agenda review and add custom LLM support by @bakaburg1 in #21

Full Changelog: v0.8.0...v0.9.0

v0.8.0: Enhanced Agenda Management and Utilization

16 Apr 10:19
5fd6494
Compare
Choose a tag to compare

Enhancements:

  • Added a new multipart_summary argument in speech_to_summary_workflow() to allow users to choose between summarizing each agenda item separately (the previous approach, now the default) or as a single summary just using the agenda to focus the model, offering greater flexibility in the summarization process (Commit: 99168d4).
  • Introduced format_agenda() function to convert machine-readable agendas into human-readable text, improving the usability of agenda-driven summarization (Commit: 0d27980).
  • Added validate_agenda() function to ensure the validity of agenda structures before summarization, enhancing the reliability of the summarization process (Commit: 5e943af).
  • Added the ability for users to proceed with the summarization workflow after agenda generation without re-running the entire workflow function, streamlining the user experience (Commit: 8056ed6).
  • Changed the summarization workflow logic to not ask whether the user wants to overwrite the summarization output if overwrite_formatted_output is FALSE (Commit: 99168d4).
  • Implemented global configuration for the language model (LLM) provider via getOption("minutemaker_llm_provider"), allowing for more flexible and centralized LLM provider management (Commit: 159335d).
  • Updated interrogate_llm() to retrieve the LLM provider setting from global options, providing a more dynamic and user-friendly approach to specifying the LLM provider (Commit: 15723d6).

Fixes:

  • Addressed an issue where the summarization process could fail due to invalid agendas by implementing the validate_agenda() function (Commit: 6bdabad).

🐰🌟
In the fields of code, where logic plays,
A rabbit hopped, through the minutemaker maze.
With each soft paw, new paths were laid,
Agendas checked, and plans well made.
Hop, skip, jump, the updates shine,
In every line, a leap in time! 🕒🚀
🐰🌟

What's Changed

  • Enhanced Agenda Management and Utilization by @bakaburg1 in #20

Full Changelog: v0.7.0...v0.8.0

v0.7.0: Manage events without agendas in the summarisation workflow

11 Apr 13:05
5311889
Compare
Choose a tag to compare

This pull request includes a series of enhancements and fixes that improve the transcript summarization workflow, add new functionality for entity extraction, and ensure better support for various transcript formats. The changes also address code quality and documentation to provide a more robust and user-friendly experience.

Breaking:

  • Replaced event_audience with audience as argument name for consistency across the framework. Before, some functions used the first and some the second term (Commit: 644fb29).

Enhancements:

  • Workflow Enhancement: Added support for summarizing meetings without an agenda in the workflow. Before, the full workflow function was designed to only work with long meetings organized in sub-talks described by an agenda. (Commit: 644fb29).
  • Entity Extraction Functionality: Introduced the entity_extractor function to identify and extract entities such as people, acronyms, organizations, and concepts from a text, which can be particularly useful for building vocabularies for LLMs from event descriptions or transcripts (Commit: ae4fc3c).
  • Agenda Management: Added the ability to manage deviations from the expected agenda, allowing the LLM to add talks not described in the expected agenda, enhancing the flexibility of the summarization process (Commit: 40f7620).
  • Support for MS Teams VTT Files: Implemented support for importing transcripts from MS Teams VTT files, which do not follow the standard VTT specification (Commit: cfa9673).
  • Output Quality Improvements: Utilized the styler package to enhance the readability of generated agendas and unformatted summary outputs, contributing to better readability and user experience (Commit: 194b8c8).

Fixes:

  • Agenda Generation Bug: Resolved an issue where the agenda generation was creating infinite unnamed speaker lists, exhausting the context window (Commit: bfc5597).

Dependencies:

  • Styler Package Addition: Added the styler package and its dependencies to the project, which is used to improve the formatting of the generated outputs (Commit: e88a6bd).

Haiku:
🐇✨
In the code's gentle weave, a change was made,
With careful paws, the paths were laid.
From VTT to summaries so bright,
A rabbit hopped through code, by night.
Celebrate each line, for through the maze,
We find our way, in the code's embrace.
🌟📜

What's Changed

  • v0.7.0: Manage events without agendas in the summarisation workflow by @bakaburg1 in #19

Full Changelog: v0.6.0...v0.7.0

v0.6.0

08 Mar 15:56
e997b75
Compare
Choose a tag to compare

Major Enhancements:

  • Introduced the infer_agenda_from_transcript function to automate the generation of an event agenda by analyzing a given transcript, aiming to identify and extract key segments and construct a structured overview of the event's proceedings. This enhancement significantly streamlines the workflow for summarizing meetings and conferences. (Commit: c458b0d)

Minor Improvements and Fixes:

  • Enhanced error handling for transcription processes, including managing empty transcription JSON files and transcription files with no speaker information. (Commits: 3c4e877, 41b823a)
  • Improved the summarization process by adding checks to handle cases where a transcript subset for a talk is empty and ensuring the final result tree is not empty. (Commit: b66b912)
  • Addressed various minor issues, including dependency installation, handling of integers as agenda times, and managing fatal Whisper API errors. (Commits: b1daf88, 4a2d159, b66b912)

Development and Maintenance:

  • Cleaned up unused code and improved the robustness of the LLM prompt function. (Commits: e9afb2d, 2e7abbc)
  • Started using renv for dev reproducibility. (Commit: 3b18519)

Full Changelog: v0.5.5...v0.6.0

HotFix 0.5.5: Multiple fixes

08 Feb 21:09
2531af9
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.5.4...v0.5.5

Hotfix 0.5.4 Fix exp ID generation and improve summarization log readability

06 Feb 10:21
1259ad2
Compare
Choose a tag to compare

This version includes two changes:

  1. fix: fix exp ID generation in summary tree check

  2. feat: improve summarization log readability

The first commit fixes the generation of experiment IDs in the summary tree check. It ensures that the IDs are correctly generated and consistent with the titles and sessions. The previous version was causing an error when session where not used in the agenda definition.

The second commit improves the readability of the summarization log. It separates different summarised talks in the log for better clarity.

These changes enhance the functionality and user experience of the software.

What's Changed

  • Hotfix: Fix exp ID generation and improve summarization log readability by @bakaburg1 in #13

Full Changelog: v0.5.3...v0.5.4

Fix file argument validation and add summary tree and agenda consistency checks

02 Feb 19:30
e38a23e
Compare
Choose a tag to compare

This release includes the following changes:

  • Fixed detection of valid file arguments for chat and transcripts merging

  • Added consistency checks for agenda and summary tree ids

Additional changes:

  • Reindentation of code

  • Moved validation functions to their own file

What's Changed

  • Fix file argument validation and add summary tree and agenda consistency checks by @bakaburg1 in #12

Full Changelog: v0.5.2...v0.5.3

v0.5.2

29 Jan 15:07
5f6fcef
Compare
Choose a tag to compare

Hot fix: Manage > 1 length vectors as inputs for output, summary structure and diarization instructions.

They are all collapsed before the prompt is built.

What's Changed

  • Refactor code by @bakaburg1 in #10
  • Hot fix: Manage > 1 length vectors as inputs for output, summary structure and diarization instructions by @bakaburg1 in #11

Full Changelog: v.0.5.0...v0.5.2