Add imports
from typing import Annotated, get_orgin, get_args, Any, Callable, Union, Final
import requests
from typing import Annotated, get_orgin, get_args, Any, Callable, Union, Final
from dataclasses import dataclass, field
from rich.console import Console
import datetime
import getpass
@dataclass
class Agent:
system_prompt: str = "answer in french only"
model: str = "qwen/qwen3.5-9b"
base_url: str = "http://127.0.0.1:1234/v1"
api_key: str = field(default="NO_API_KEY", repr=False)
contexts: dict[str, Callable[[],str]] = field(default_factory=dict)
messages: list[dict[str,Any]] = field(default_factory=list)
def __post_init__(self) -> None:
self.base_url = self.base_url.rstrip('/')
def context(self, func : Callable[[],str]) -> Callable[[],str]:
self.contexts[func.__name__] = func
return func