Spaces:
Running on Zero
Running on Zero
| """Space-side client for the Modal 8B text service. | |
| Used by core.inference.text_generate when BB_INFERENCE=modal. The Modal app | |
| (modal_app.py, deployed separately) runs MiniCPM4.1-8B in its own transformers | |
| env on a warm GPU. Auth comes from MODAL_TOKEN_ID / MODAL_TOKEN_SECRET in the | |
| environment (set as Space secrets). | |
| """ | |
| from __future__ import annotations | |
| MODAL_APP = "budgetbuddy-8b" | |
| MODAL_CLASS = "Engine" | |
| _engine = None | |
| def _engine_handle(): | |
| global _engine | |
| if _engine is None: | |
| import modal | |
| Engine = modal.Cls.from_name(MODAL_APP, MODAL_CLASS) | |
| _engine = Engine() | |
| return _engine | |
| def text_generate(messages, max_new_tokens: int = 512, enable_thinking: bool = False) -> str: | |
| return _engine_handle().generate.remote( | |
| messages=messages, max_new_tokens=max_new_tokens, enable_thinking=enable_thinking | |
| ) | |