refactor: switch from requests to urllib for custom endpoint model fetching
This commit is contained in:
@@ -449,8 +449,9 @@ def get_available_models() -> dict:
|
|||||||
if cfg_base_url:
|
if cfg_base_url:
|
||||||
auto_detected_models = [] # Store models fetched from endpoint
|
auto_detected_models = [] # Store models fetched from endpoint
|
||||||
try:
|
try:
|
||||||
import requests as _req
|
|
||||||
import ipaddress
|
import ipaddress
|
||||||
|
import urllib.request
|
||||||
|
import urllib.parse
|
||||||
|
|
||||||
# Normalize the base_url
|
# Normalize the base_url
|
||||||
base_url = cfg_base_url.strip()
|
base_url = cfg_base_url.strip()
|
||||||
@@ -500,11 +501,19 @@ def get_available_models() -> dict:
|
|||||||
headers['Authorization'] = f'Bearer {api_key}'
|
headers['Authorization'] = f'Bearer {api_key}'
|
||||||
break
|
break
|
||||||
|
|
||||||
# Make the request
|
# Make the request using urllib.request
|
||||||
try:
|
try:
|
||||||
resp = _req.get(endpoint_url, headers=headers, timeout=10)
|
# Build request URL
|
||||||
resp.raise_for_status()
|
url = endpoint_url
|
||||||
data = resp.json()
|
|
||||||
|
# Prepare request
|
||||||
|
req = urllib.request.Request(url, method='GET')
|
||||||
|
for key, value in headers.items():
|
||||||
|
req.add_header(key, value)
|
||||||
|
|
||||||
|
# Send request with timeout
|
||||||
|
with urllib.request.urlopen(req, timeout=10) as response:
|
||||||
|
data = json.loads(response.read().decode('utf-8'))
|
||||||
|
|
||||||
# Parse the response - handle both OpenAI-compatible and llama.cpp formats
|
# Parse the response - handle both OpenAI-compatible and llama.cpp formats
|
||||||
models_list = []
|
models_list = []
|
||||||
|
|||||||
Reference in New Issue
Block a user