mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-17 10:15:27 -04:00
Stop auto-adding Ollama endpoints
This commit is contained in:
@@ -926,65 +926,6 @@ async def startup_event():
|
|||||||
logger.warning(f"Nightly skill audit failed: {e}")
|
logger.warning(f"Nightly skill audit failed: {e}")
|
||||||
|
|
||||||
_startup_tasks.append(asyncio.create_task(_skill_audit_nightly_loop()))
|
_startup_tasks.append(asyncio.create_task(_skill_audit_nightly_loop()))
|
||||||
# Auto-detect Ollama — run in background to avoid blocking startup. In Docker,
|
|
||||||
# localhost is the container, so also try host.docker.internal.
|
|
||||||
async def _detect_ollama():
|
|
||||||
try:
|
|
||||||
import httpx
|
|
||||||
raw_candidates = [
|
|
||||||
os.getenv("OLLAMA_BASE_URL", ""),
|
|
||||||
os.getenv("OLLAMA_URL", ""),
|
|
||||||
"http://localhost:11434/v1",
|
|
||||||
"http://host.docker.internal:11434/v1",
|
|
||||||
]
|
|
||||||
candidates = []
|
|
||||||
for raw in raw_candidates:
|
|
||||||
base = (raw or "").strip().rstrip("/")
|
|
||||||
if not base:
|
|
||||||
continue
|
|
||||||
if base.endswith("/api"):
|
|
||||||
base = base[:-4].rstrip("/")
|
|
||||||
if not base.endswith("/v1"):
|
|
||||||
base = base + "/v1"
|
|
||||||
if base not in candidates:
|
|
||||||
candidates.append(base)
|
|
||||||
|
|
||||||
found_base = ""
|
|
||||||
async with httpx.AsyncClient() as client:
|
|
||||||
for base in candidates:
|
|
||||||
try:
|
|
||||||
r = await client.get(base + "/models", timeout=2)
|
|
||||||
if r.status_code == 200:
|
|
||||||
found_base = base
|
|
||||||
break
|
|
||||||
except Exception:
|
|
||||||
continue
|
|
||||||
if not found_base:
|
|
||||||
return
|
|
||||||
from core.database import SessionLocal, ModelEndpoint
|
|
||||||
db = SessionLocal()
|
|
||||||
try:
|
|
||||||
existing = None
|
|
||||||
for base in candidates:
|
|
||||||
existing = db.query(ModelEndpoint).filter(ModelEndpoint.base_url == base).first()
|
|
||||||
if existing:
|
|
||||||
break
|
|
||||||
if not existing:
|
|
||||||
host = found_base.replace("http://", "").replace("https://", "").split("/")[0]
|
|
||||||
ep = ModelEndpoint(
|
|
||||||
id=str(uuid.uuid4())[:8],
|
|
||||||
name="Ollama" if host.startswith("localhost") else f"Ollama ({host})",
|
|
||||||
base_url=found_base,
|
|
||||||
is_enabled=True,
|
|
||||||
)
|
|
||||||
db.add(ep)
|
|
||||||
db.commit()
|
|
||||||
logger.info(f"Auto-added Ollama endpoint ({found_base})")
|
|
||||||
finally:
|
|
||||||
db.close()
|
|
||||||
except Exception as e:
|
|
||||||
logger.debug(f"Ollama auto-detect: {e}")
|
|
||||||
_startup_tasks.append(asyncio.create_task(_detect_ollama()))
|
|
||||||
logger.info("Application startup complete")
|
logger.info("Application startup complete")
|
||||||
|
|
||||||
@app.on_event("shutdown")
|
@app.on_event("shutdown")
|
||||||
|
|||||||
Reference in New Issue
Block a user