Spaces:
Paused
Paused
Download multipurpose_chatbot/engines/debug_engine.py from SeaLLMs/SeaLLM-Chat: direct link, hf CLI and curl.
- Browser
- Download file 1.6 kB
-
https://huggingface.co/spaces/SeaLLMs/SeaLLM-Chat/resolve/main/multipurpose_chatbot/engines/debug_engine.py
- Command line
-
hf download hf://spaces/SeaLLMs/SeaLLM-Chat/multipurpose_chatbot/engines/debug_engine.py
-
curl -L -o debug_engine.py https://huggingface.co/spaces/SeaLLMs/SeaLLM-Chat/resolve/main/multipurpose_chatbot/engines/debug_engine.py
1.6 kB
| import os | |
| import numpy as np | |
| from huggingface_hub import snapshot_download | |
| from transformers import AutoConfig, AutoTokenizer, PreTrainedTokenizer | |
| from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Union | |
| import time | |
| from .base_engine import BaseEngine | |
| from ..configs import ( | |
| MODEL_PATH, | |
| ) | |
| FAKE_MODEL_PATH = os.environ.get("FAKE_MODEL_PATH", MODEL_PATH) | |
| FAKE_RESPONSE = "Wow that's very very cool, please try again." | |
| class DebugEngine(BaseEngine): | |
| """ | |
| It will always yield FAKE_RESPONSE | |
| """ | |
| def __init__(self, **kwargs) -> None: | |
| super().__init__(**kwargs) | |
| self._model = None | |
| self._tokenizer = None | |
| def tokenizer(self) -> PreTrainedTokenizer: | |
| if self._tokenizer is None: | |
| self._tokenizer = AutoTokenizer.from_pretrained(FAKE_MODEL_PATH, trust_remote_code=True) | |
| return self._tokenizer | |
| def load_model(self): | |
| print(f"Load fake model with tokenizer: {self.tokenizer}") | |
| def generate_yield_string(self, prompt, temperature, max_tokens, stop_strings: Optional[Tuple[str]] = None, **kwargs): | |
| num_tokens = len(self.tokenizer.encode(prompt)) | |
| response = FAKE_RESPONSE | |
| for i in range(len(response)): | |
| time.sleep(0.01) | |
| yield response[:i], num_tokens | |
| num_tokens = len(self.tokenizer.encode(prompt + response)) | |
| yield response, num_tokens | |
| def batch_generate(self, prompts, temperature, max_tokens, stop_strings: Optional[Tuple[str]] = None, **kwargs): | |
| return [p + " -- Test" for p in prompts] | |