|
@@ -1,33 +0,0 @@
|
|
|
-from typing import List, Optional
|
|
|
-
|
|
|
-from ..schemas.speech import ChatMessage, ChatResponse, Usage
|
|
|
-
|
|
|
-
|
|
|
-class MockProvider:
|
|
|
- """A simple echo-like provider for local testing.
|
|
|
-
|
|
|
- It takes the last user message and returns a prefixed reply.
|
|
|
- """
|
|
|
-
|
|
|
- def chat(
|
|
|
- self,
|
|
|
- messages: List[ChatMessage],
|
|
|
- *,
|
|
|
- model: Optional[str] = None,
|
|
|
- temperature: Optional[float] = None,
|
|
|
- max_tokens: Optional[int] = None,
|
|
|
- ) -> ChatResponse:
|
|
|
- last_user = next((m.content for m in reversed(messages) if m.role == "user"), "")
|
|
|
- content = f"[mock] You said: {last_user}"
|
|
|
-
|
|
|
- # Very rough word-count "tokens" approximation for demo purposes only
|
|
|
- prompt_tokens = sum(len(m.content.split()) for m in messages)
|
|
|
- completion_tokens = len(content.split())
|
|
|
- usage = Usage(
|
|
|
- prompt_tokens=prompt_tokens,
|
|
|
- completion_tokens=completion_tokens,
|
|
|
- total_tokens=prompt_tokens + completion_tokens,
|
|
|
- )
|
|
|
-
|
|
|
- return ChatResponse(content=content, model=model or "mock-echo-001", usage=usage)
|
|
|
-
|