Spaces:
Paused
Paused
| from langchain.llms import OpenAI | |
| from pydantic import BaseModel | |
| from langchain.llms.base import BaseLLM | |
| from typing import Type, Callable | |
| class ReasoningConfig(BaseModel): | |
| """ | |
| A configuration class for the reasoning strategy. | |
| Attributes: | |
| temperature (float): The temperature parameter for the language model. | |
| max_tokens (int): The maximum number of tokens to generate. | |
| llm_class (Type[BaseLLM]): The language model class to use for reasoning. | |
| usage (str): String describing when it is appropriate to use this reasoning strategy. | |
| """ | |
| temperature: float = 0.7 | |
| max_tokens: int = 1500 | |
| llm_class: Type[BaseLLM] = OpenAI | |
| usage: str | |
| class ReasoningStrategy: | |
| """Base class for Reasoning Strategies""" | |
| def __init__(self, config: ReasoningConfig, display: Callable): | |
| self.llm = config.llm_class(temperature=config.temperature, max_tokens=config.max_tokens) # ign | |
| self.display = display | |
| self.usage = config.usage | |
| def run(self, question): | |
| raise NotImplementedError() | |
| def get_reasoning_config(temperature: float = 0.7) -> ReasoningConfig: | |
| usage = "This is the default reasoning model that should only be used as a last resort" | |
| return ReasoningConfig(usage=usage) |