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()