Igor Monadical
1473fd82dc
feat: daily.co support as alternative to whereby ( #691 )
...
* llm instructions
* vibe dailyco
* vibe dailyco
* doc update (vibe)
* dont show recording ui on call
* stub processor (vibe)
* stub processor (vibe) self-review
* stub processor (vibe) self-review
* chore(main): release 0.14.0 (#670 )
* Add multitrack pipeline
* Mixdown audio tracks
* Mixdown with pyav filter graph
* Trigger multitrack processing for daily recordings
* apply platform from envs in priority: non-dry
* Use explicit track keys for processing
* Align tracks of a multitrack recording
* Generate waveforms for the mixed audio
* Emit multriack pipeline events
* Fix multitrack pipeline track alignment
* dailico docs
* Enable multitrack reprocessing
* modal temp files uniform names, cleanup. remove llm temporary docs
* docs cleanup
* dont proceed with raw recordings if any of the downloads fail
* dry transcription pipelines
* remove is_miltitrack
* comments
* explicit dailyco room name
* docs
* remove stub data/method
* frontend daily/whereby code self-review (no-mistake)
* frontend daily/whereby code self-review (no-mistakes)
* frontend daily/whereby code self-review (no-mistakes)
* consent cleanup for multitrack (no-mistakes)
* llm fun
* remove extra comments
* fix tests
* merge migrations
* Store participant names
* Get participants by meeting session id
* pop back main branch migration
* s3 paddington (no-mistakes)
* comment
* pr comments
* pr comments
* pr comments
* platform / meeting cleanup
* Use participant names in summary generation
* platform assignment to meeting at controller level
* pr comment
* room playform properly default none
* room playform properly default none
* restore migration lost
* streaming WIP
* extract storage / use common storage / proper env vars for storage
* fix mocks tests
* remove fall back
* streaming for multifile
* cenrtal storage abstraction (no-mistakes)
* remove dead code / vars
* Set participant user id for authenticated users
* whereby recording name parsing fix
* whereby recording name parsing fix
* more file stream
* storage dry + tests
* remove homemade boto3 streaming and use proper boto
* update migration guide
* webhook creation script - print uuid
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
Co-authored-by: Mathieu Virbel <mat@meltingrocks.com >
Co-authored-by: Sergey Mankovsky <sergey@monadical.com >
2025-11-12 21:21:16 -05:00
Igor Monadical
1dee255fed
parakeet endpoint doc ( #679 )
...
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-10-07 10:41:01 -04:00
dc177af3ff
feat: implement service-specific Modal API keys with auto processor pattern ( #528 )
...
* fix: refactor modal API key configuration for better separation of concerns
- Split generic MODAL_API_KEY into service-specific keys:
- TRANSCRIPT_API_KEY for transcription service
- DIARIZATION_API_KEY for diarization service
- TRANSLATE_API_KEY for translation service
- Remove deprecated *_MODAL_API_KEY settings
- Add proper validation to ensure URLs are set when using modal processors
- Update README with new configuration format
BREAKING CHANGE: Configuration keys have changed. Update your .env file:
- TRANSCRIPT_MODAL_API_KEY → TRANSCRIPT_API_KEY
- LLM_MODAL_API_KEY → (removed, use TRANSCRIPT_API_KEY)
- Add DIARIZATION_API_KEY and TRANSLATE_API_KEY if using those services
* fix: update Modal backend configuration to use service-specific API keys
- Changed from generic MODAL_API_KEY to service-specific keys:
- TRANSCRIPT_MODAL_API_KEY for transcription
- DIARIZATION_MODAL_API_KEY for diarization
- TRANSLATION_MODAL_API_KEY for translation
- Updated audio_transcript_modal.py and audio_diarization_modal.py to use modal_api_key parameter
- Updated documentation in README.md, CLAUDE.md, and env.example
* feat: implement auto/modal pattern for translation processor
- Created TranscriptTranslatorAutoProcessor following the same pattern as transcript/diarization
- Created TranscriptTranslatorModalProcessor with TRANSLATION_MODAL_API_KEY support
- Added TRANSLATION_BACKEND setting (defaults to "modal")
- Updated all imports to use TranscriptTranslatorAutoProcessor instead of TranscriptTranslatorProcessor
- Updated env.example with TRANSLATION_BACKEND and TRANSLATION_MODAL_API_KEY
- Updated test to expect TranscriptTranslatorModalProcessor name
- All tests passing
* refactor: simplify transcript_translator base class to match other processors
- Moved all implementation from base class to modal processor
- Base class now only defines abstract _translate method
- Follows the same minimal pattern as audio_diarization and audio_transcript base classes
- Updated test mock to use _translate instead of get_translation
- All tests passing
* chore: clean up settings and improve type annotations
- Remove deprecated generic API key variables from settings
- Add comments to group Modal-specific settings
- Improve type annotations for modal_api_key parameters
* fix: typing
* fix: passing key to openai
* test: fix rtc test failing due to change on transcript
It also correctly setup database from sqlite, in case our configuration
is setup to postgres.
* ci: deactivate translation backend by default
* test: fix modal->mock
* refactor: implementing igor review, mock to passthrough
2025-08-04 12:07:30 -06:00
28ac031ff6
feat: use llamaindex everywhere ( #525 )
...
* feat: use llamaindex for transcript final title too
* refactor: removed llm backend, replaced with one single class+llamaindex
* refactor: self-review
* fix: typing
* fix: tests
* refactor: extract clean_title and add tests
* test: fix
* test: remove ensure_casing/nltk
* fix: tiny mistake
2025-08-01 12:13:00 -06:00
ad56165b54
fix: remove unused settings and utils files ( #522 )
...
* fix: remove unused settings and utils files
* fix: remove migration done
* fix: remove outdated scripts
* fix: removing deployment of hermes, not used anymore
* fix: partially remove secret, still have to understand frontend.
2025-07-31 17:45:48 -06:00
406164033d
feat: new summary using phi-4 and llama-index ( #519 )
...
* feat: add litellm backend implementation
* refactor: improve generate/completion methods for base LLM
* refactor: remove tokenizer logic
* style: apply code formatting
* fix: remove hallucinations from LLM responses
* refactor: comprehensive LLM and summarization rework
* chore: remove debug code
* feat: add structured output support to LiteLLM
* refactor: apply self-review improvements
* docs: add model structured output comments
* docs: update model structured output comments
* style: apply linting and formatting fixes
* fix: resolve type logic bug
* refactor: apply PR review feedback
* refactor: apply additional PR review feedback
* refactor: apply final PR review feedback
* fix: improve schema passing for LLMs without structured output
* feat: add PR comments and logger improvements
* docs: update README and add HTTP logging
* feat: improve HTTP logging
* feat: add summary chunking functionality
* fix: resolve title generation runtime issues
* refactor: apply self-review improvements
* style: apply linting and formatting
* feat: implement LiteLLM class structure
* style: apply linting and formatting fixes
* docs: env template model name fix
* chore: remove older litellm class
* chore: format
* refactor: simplify OpenAILLM
* refactor: OpenAILLM tokenizer
* refactor: self-review
* refactor: self-review
* refactor: self-review
* chore: format
* chore: remove LLM_USE_STRUCTURED_OUTPUT from envs
* chore: roll back migration lint changes
* chore: roll back migration lint changes
* fix: make summary llm configuration optional for the tests
* fix: missing f-string
* fix: tweak the prompt for summary title
* feat: try llamaindex for summarization
* fix: complete refactor of summary builder using llamaindex and structured output when possible
* fix: separate prompt as constant
* fix: typings
* fix: enhance prompt to prevent mentioning others subject while summarize one
* fix: various changes after self-review
* fix: from igor review
---------
Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com >
2025-07-31 15:29:29 -06:00
2a2af5fff2
fix: remove fief out of the source code ( #502 )
...
* fix: remove fief out of the source code
* fix: remove corresponding test about migration
2025-07-21 21:09:05 -06:00
Sara
a4077005b2
Setup instuctions
2024-08-12 12:22:21 +02:00
4dbcb80228
server: remove reference to banana.dev
2023-11-15 19:49:32 +01:00
projects-g
628c69f81c
Separate out transcription and translation into own Modal deployments ( #268 )
...
* abstract transcript/translate into separate GPU apps
* update app names
* update transformers library version
* update env.example file
2023-10-13 22:01:21 +05:30
projects-g
9fe261406c
Feature additions ( #210 )
...
* initial
* add LLM features
* update LLM logic
* update llm functions: change control flow
* add generation config
* update return types
* update processors and tests
* update rtc_offer
* revert new title processor change
* fix unit tests
* add comments and fix HTTP 500
* adjust prompt
* test with reflector app
* revert new event for final title
* update
* move onus onto processors
* move onus onto processors
* stash
* add provision for gen config
* dynamically pack the LLM input using context length
* tune final summary params
* update consolidated class structures
* update consolidated class structures
* update precommit
* add broadcast processors
* working baseline
* Organize LLMParams
* minor fixes
* minor fixes
* minor fixes
* fix unit tests
* fix unit tests
* fix unit tests
* update tests
* update tests
* edit pipeline response events
* update summary return types
* configure tests
* alembic db migration
* change LLM response flow
* edit main llm functions
* edit main llm functions
* change llm name and gen cf
* Update transcript_topic_detector.py
* PR review comments
* checkpoint before db event migration
* update DB migration of past events
* update DB migration of past events
* edit LLM classes
* Delete unwanted file
* remove List typing
* remove List typing
* update oobabooga API call
* topic enhancements
* update UI event handling
* move ensure_casing to llm base
* update tests
* update tests
2023-09-13 11:26:08 +05:30
2339be4172
server: add PUBLIC_MODE settings to allow listing for anonymous user
2023-08-18 12:45:59 +02:00
f26b6d4621
Merge branch 'main' into feat-user-auth-fief
2023-08-18 10:20:44 +02:00
Gokul Mohanarangan
a98a9853be
PR review comments
2023-08-17 14:42:45 +05:30
e12f9afe7b
server: implement user authentication (none by default)
2023-08-16 17:24:05 +02:00
290b552479
server: update documentation
2023-08-15 17:40:26 +02:00
Mathieu Virbel
93acea4ad9
server: add env.example
...
Closes #95
2023-08-15 09:13:17 +02:00