File size: 946 Bytes
2d2af9d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import os
from dotenv import load_dotenv
from smolagents import OpenAIServerModel, LiteLLMModel
load_dotenv() # reads MODEL_PROVIDER and OPENAI_API_KEY from .env
# "openai" (cloud, needs OPENAI_API_KEY) or "ollama" (local, free)
MODEL_PROVIDER = os.getenv("MODEL_PROVIDER", "openai")
OPENAI_MODEL_ID = "gpt-4.1-mini" # any chat model your OpenAI account has access to
OLLAMA_MODEL_ID = "qwen2:7b" # any model listed by `ollama list`
def build_model():
if MODEL_PROVIDER == "openai":
return OpenAIServerModel(
model_id=OPENAI_MODEL_ID,
api_key=os.environ["OPENAI_API_KEY"],
)
if MODEL_PROVIDER == "ollama":
return LiteLLMModel(
model_id=f"ollama_chat/{OLLAMA_MODEL_ID}",
api_base="http://127.0.0.1:11434",
num_ctx=8192,
)
raise ValueError(f"Unknown MODEL_PROVIDER {MODEL_PROVIDER!r}, use 'openai' or 'ollama'")
model = build_model()
|