mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-21 04:39:06 +00:00
* 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
66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
from unittest.mock import patch
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.fixture(scope="function", autouse=True)
|
|
@pytest.mark.asyncio
|
|
async def setup_database():
|
|
from reflector.settings import settings
|
|
from tempfile import NamedTemporaryFile
|
|
|
|
with NamedTemporaryFile() as f:
|
|
settings.DATABASE_URL = f"sqlite:///{f.name}"
|
|
from reflector.db import engine, metadata
|
|
|
|
metadata.create_all(bind=engine)
|
|
|
|
yield
|
|
|
|
|
|
@pytest.fixture
|
|
def dummy_processors():
|
|
with patch(
|
|
"reflector.processors.transcript_topic_detector.TranscriptTopicDetectorProcessor.get_topic"
|
|
) as mock_topic, patch(
|
|
"reflector.processors.transcript_final_title.TranscriptFinalTitleProcessor.get_title"
|
|
) as mock_title, patch(
|
|
"reflector.processors.transcript_final_long_summary.TranscriptFinalLongSummaryProcessor.get_long_summary"
|
|
) as mock_long_summary, patch(
|
|
"reflector.processors.transcript_final_short_summary.TranscriptFinalShortSummaryProcessor.get_short_summary"
|
|
) as mock_short_summary:
|
|
mock_topic.return_value = {"title": "LLM TITLE", "summary": "LLM SUMMARY"}
|
|
mock_title.return_value = {"title": "LLM FINAL TITLE"}
|
|
mock_long_summary.return_value = "LLM LONG SUMMARY"
|
|
mock_short_summary.return_value = {"short_summary": "LLM SHORT SUMMARY"}
|
|
|
|
yield mock_topic, mock_title, mock_long_summary, mock_short_summary
|
|
|
|
|
|
@pytest.fixture
|
|
async def dummy_llm():
|
|
from reflector.llm.base import LLM
|
|
|
|
class TestLLM(LLM):
|
|
def __init__(self):
|
|
self.model_name = "DUMMY MODEL"
|
|
self.llm_tokenizer = "DUMMY TOKENIZER"
|
|
|
|
with patch("reflector.llm.base.LLM.get_instance") as mock_llm:
|
|
mock_llm.return_value = TestLLM()
|
|
yield
|
|
|
|
|
|
@pytest.fixture
|
|
def nltk():
|
|
with patch("reflector.llm.base.LLM.ensure_nltk") as mock_nltk:
|
|
mock_nltk.return_value = "NLTK PACKAGE"
|
|
yield
|
|
|
|
|
|
@pytest.fixture
|
|
def ensure_casing():
|
|
with patch("reflector.llm.base.LLM.ensure_casing") as mock_casing:
|
|
mock_casing.return_value = "LLM TITLE"
|
|
yield
|