About
Standards¶
In an effort to minimize xkcd 927, only abstractions that provide clear value or represent shared semantics across providers are made, proxying or extending native packages whenever available.
For example, the Options class for ollama models shall only apply to itself:
import ollama
from delusion.chat.option.ollamax import Ollama
from delusion.chat.option.openai import OpenAI
local = Ollama(model="gemma4:e2b")
cloud = OpenAI(model="gpt-whatever")
isinstance(local.options, ollama.Options) # True
isinstance(cloud.options, ollama.Options) # False
Although both support .temperature = 0.0, the intended use is:
# Individual settings
if os.getenv("PRODUCTION", None):
chat = OpenAI(model=...)
chat.options.temperature = 0.0
else:
chat = Ollama(model=...)
chat.options.temperature = 0.0
# Shared interface
chat.send(...)
chat.generate(schema=...)
Same for models: rather than over-abstracting capabilities, quantization, names, variants, and other provider-specific details, some code duplication is natural to keep it minimal and decoupled.
Conversely, Message[T] is abstracted because it represents a common semantic across providers.