Skip to content

Commit

Permalink
Add Support for Local Whisper Models and Integrate llmR for Summariza…
Browse files Browse the repository at this point in the history
…tion (#23)

* refactor: rely on the llmR package for LLM interaction

Removed the llm related functions since they will be provided by the llmR package

* chore: update R ver in renv snapshot

* feat(stt): add support for local Whisper models

- Added `use_whisper_local_stt` function to support local Whisper models via Python with reticulate.
- Added `use_mlx_whisper_local_stt` function for MLX Whisper models, optimized for Mac OS with Apple Silicon.
- Updated `perform_speech_to_text` to use `whisper_local` as the default model.
- Enhanced `speech_to_summary_workflow` to display the selected speech-to-text model.
- Updated documentation and NAMESPACE to export the new functions.
- Added `reticulate` to the Suggests field in DESCRIPTION for Python integration.

* fix: update to use llmR

* fix: use rlang to check and install suggested pkgs

* docs: update documentation

Update README to describe the use of llmR for summarisation and the addition of the new local models for stt.

* version bump

* chores

* docs: version bump
  • Loading branch information
bakaburg1 authored Oct 11, 2024
1 parent 1383da7 commit d44d409
Show file tree
Hide file tree
Showing 26 changed files with 429 additions and 871 deletions.
8 changes: 6 additions & 2 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: minutemaker
Title: GenAI-based meeting and conferences minutes generator
Version: 0.10.0
Version: 0.12.0
Authors@R:
person("Angelo", "D'Ambrosio", , "a.dambrosioMD@gmail.com", role = c("aut", "cre"),
comment = c(ORCID = "0000-0002-2045-5155"))
Expand All @@ -11,6 +11,7 @@ Imports:
dplyr (>= 1.1.4),
httr (>= 1.4.7),
jsonlite (>= 1.8.8),
llmR (>= 1.1.0),
lubridate (>= 1.9.3),
purrr (>= 1.0.2),
readr (>= 2.1.4),
Expand All @@ -19,14 +20,17 @@ Imports:
styler (>= 1.10.2),
tools (>= 4.3.2),
vctrs (>= 0.6.5)
Remotes:
github::bakaburg1/llmR
Config/testthat/edition: 3
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.3.1
RoxygenNote: 7.3.2
Suggests:
av (>= 0.9.0),
devtools (>= 2.4.5),
parallel (>= 4.3.2),
reticulate (>= 1.38.0),
testthat (>= 3.0.0),
text2vec (>= 0.6.4),
tictoc (>= 1.2),
Expand Down
4 changes: 2 additions & 2 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,15 @@ export(infer_agenda_from_transcript)
export(merge_transcripts)
export(parse_transcript_json)
export(perform_speech_to_text)
export(prompt_llm)
export(run_in_terminal)
export(set_prompts)
export(speech_to_summary_workflow)
export(split_audio)
export(summarise_full_meeting)
export(summarise_transcript)
export(use_mlx_whisper_local_stt)
export(use_whisper_local_stt)
export(validate_agenda)
import(dplyr)
importFrom(stats,setNames)
importFrom(utils,hasName)
importFrom(utils,tail)
16 changes: 16 additions & 0 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# minutemaker 0.12.0

#### 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](https://github.com/bakaburg1/minutemaker/commit/69e4f5e59518da51d7f757a5076511d4224c6d65)).
- **Integration with llmR**: Refactored the code to rely on the `llmR` package for LLM interactions, removing redundant LLM-related functions (Commit: [2331b46](https://github.com/bakaburg1/minutemaker/commit/2331b463e0606cd4ee49ecb353b89b163da06d9e)).
- **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](https://github.com/bakaburg1/minutemaker/commit/69e4f5e59518da51d7f757a5076511d4224c6d65)).

#### Fixes
- **Dependency Management**: Replaced custom dependency check function with `rlang::check_installed` for better package management (Commit: [3227b0d](https://github.com/bakaburg1/minutemaker/commit/3227b0d7dba8785949c1d66c83d232bb38438c08)).

#### 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](https://github.com/bakaburg1/minutemaker/commit/8bff88380c5dc977a52c2207f1ef380904784bf4)).

#### 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.

# minutemaker 0.10.0

#### Enhancements
Expand Down
Loading

0 comments on commit d44d409

Please # to comment.