fix: build_llm + fallback на JOURNAL_TOKEN (без fake api key)
This commit is contained in:
@@ -19,6 +19,9 @@ from web_tools import get_page_content, web_search
|
||||
|
||||
load_dotenv()
|
||||
|
||||
BROJS_INFERENCE_URL = "https://platform.brojs.ru/jrnl-bh/api/inference/v1"
|
||||
DEFAULT_MODEL = "openai/gpt-oss-20b:free"
|
||||
|
||||
SYSTEM_PROMPT = """\
|
||||
Ты исследовательский deep-агент (стиль deep agents from scratch).
|
||||
|
||||
@@ -37,6 +40,36 @@ SYSTEM_PROMPT = """\
|
||||
"""
|
||||
|
||||
|
||||
def _api_key() -> str:
|
||||
return (
|
||||
os.getenv("OPENAI_API_KEY")
|
||||
or os.getenv("JOURNAL_MCP_PAT")
|
||||
or os.getenv("JOURNAL_TOKEN")
|
||||
or ""
|
||||
)
|
||||
|
||||
|
||||
def _base_url() -> str:
|
||||
if os.getenv("OPENAI_BASE_URL"):
|
||||
return os.environ["OPENAI_BASE_URL"]
|
||||
if os.getenv("OPENAI_API_KEY"):
|
||||
return os.getenv("OPENROUTER_BASE_URL", "https://openrouter.ai/api/v1")
|
||||
return BROJS_INFERENCE_URL
|
||||
|
||||
|
||||
def _model() -> str:
|
||||
return os.getenv("OPENAI_MODEL") or os.getenv("OPENROUTER_MODEL") or DEFAULT_MODEL
|
||||
|
||||
|
||||
def build_llm() -> ChatOpenAI:
|
||||
return ChatOpenAI(
|
||||
model=_model(),
|
||||
base_url=_base_url(),
|
||||
api_key=_api_key(),
|
||||
temperature=0.2,
|
||||
)
|
||||
|
||||
|
||||
def build_agent():
|
||||
WORKSPACE_DIR.mkdir(parents=True, exist_ok=True)
|
||||
backend = LocalShellBackend(
|
||||
@@ -44,12 +77,7 @@ def build_agent():
|
||||
virtual_mode=True,
|
||||
inherit_env=True,
|
||||
)
|
||||
llm = ChatOpenAI(
|
||||
model=os.getenv("OPENAI_MODEL", "openai/gpt-oss-20b:free"),
|
||||
base_url=os.getenv("OPENAI_BASE_URL", "https://openrouter.ai/api/v1"),
|
||||
api_key=os.getenv("OPENAI_API_KEY", "fake"),
|
||||
temperature=0.2,
|
||||
)
|
||||
llm = build_llm()
|
||||
return create_deep_agent(
|
||||
model=llm,
|
||||
tools=[web_search, get_page_content, export_virtual_files],
|
||||
|
||||
Reference in New Issue
Block a user