timeagent / code /OpenTSLM /src /opentslm /model /llm /TimeSeriesLLM.py
roh8exe's picture
Upload folder using huggingface_hub
60b21d3 verified
Raw
History Blame Contribute Delete
1.29 kB
from typing import List, Dict, Any
# SPDX-FileCopyrightText: 2025 Stanford University, ETH Zurich, and the project authors (see CONTRIBUTORS.md)
# SPDX-FileCopyrightText: 2025 This source file is part of the OpenTSLM open-source project.
#
# SPDX-License-Identifier: MIT
import torch
import torch.nn as nn
from opentslm.prompt.full_prompt import FullPrompt
class TimeSeriesLLM(nn.Module):
def __init__(
self,
device,
):
super().__init__()
self.device = device
def generate(
self, batch: List[Dict[str, Any]], max_new_tokens: int = 50, **generate_kwargs
) -> List[str]:
raise NotImplementedError("Generate method should be implemented by the subclass")
def compute_loss(self, batch: List[Dict[str, Any]]) -> torch.Tensor:
"""
batch: same format as generate()
answers: List[str] of length B
"""
raise NotImplementedError("Compute loss method should be implemented by the subclass")
def get_eos_token(self) -> str:
raise NotImplementedError("Get eos token method should be implemented by the subclass")
def eval_prompt(self, prompt: FullPrompt) -> str:
raise NotImplementedError("Eval prompt method should be implemented by the subclass")