Files
reflector/server/tests/test_processors_broadcast.py
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

47 lines
1.1 KiB
Python

import pytest
@pytest.mark.asyncio
async def test_processor_broadcast(nltk):
from reflector.processors.base import Processor, BroadcastProcessor, Pipeline
class TestProcessor(Processor):
INPUT_TYPE = str
OUTPUT_TYPE = str
def __init__(self, name, **kwargs):
super().__init__(**kwargs)
self.name = name
async def _push(self, data):
data = data + f":{self.name}"
await self.emit(data)
processors = [
TestProcessor("A"),
BroadcastProcessor(
processors=[
TestProcessor("B"),
TestProcessor("C"),
],
),
]
events = []
async def on_event(event):
events.append(event)
pipeline = Pipeline(*processors)
pipeline.on(on_event)
await pipeline.push("test")
await pipeline.flush()
assert len(events) == 3
assert events[0].processor == "A"
assert events[0].data == "test:A"
assert events[1].processor == "B"
assert events[1].data == "test:A:B"
assert events[2].processor == "C"
assert events[2].data == "test:A:C"