Skip to content

Commit 589de88

Browse files
committed
fix: out of range error while MCP_IMAGE_HOST is empty
1 parent d2c1f8c commit 589de88

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

backend/apps/chat/task/llm.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import concurrent
22
import json
3+
import os
34
import traceback
5+
import urllib.parse
46
import warnings
57
from concurrent.futures import ThreadPoolExecutor, Future
68
from datetime import datetime
@@ -1255,16 +1257,17 @@ def request_picture(chat_id: int, record_id: int, chart: dict, data: dict):
12551257
axis.append({'name': series.get('name'), 'value': series.get('value'), 'type': 'series'})
12561258

12571259
request_obj = {
1258-
"path": (settings.MCP_IMAGE_PATH if settings.MCP_IMAGE_PATH[-1] == '/' else (
1259-
settings.MCP_IMAGE_PATH + '/')) + file_name,
1260+
"path": os.path.join(settings.MCP_IMAGE_PATH, file_name),
12601261
"type": chart['type'],
12611262
"data": orjson.dumps(data.get('data') if data.get('data') else []).decode(),
12621263
"axis": orjson.dumps(axis).decode(),
12631264
}
12641265

12651266
requests.post(url=settings.MCP_IMAGE_HOST, json=request_obj)
12661267

1267-
return f'{(settings.SERVER_IMAGE_HOST if settings.SERVER_IMAGE_HOST[-1] == "/" else (settings.SERVER_IMAGE_HOST + "/"))}{file_name}.png'
1268+
request_path = urllib.parse.urljoin(settings.MCP_IMAGE_HOST, f"{file_name}.png")
1269+
1270+
return request_path
12681271

12691272

12701273
def get_token_usage(chunk: BaseMessageChunk, token_usage: dict = {}):

backend/common/core/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def SQLALCHEMY_DATABASE_URI(self) -> PostgresDsn | str:
8484
MCP_IMAGE_PATH: str = '/opt/sqlbot/images'
8585
EXCEL_PATH: str = '/opt/sqlbot/data/excel'
8686
MCP_IMAGE_HOST: str = 'http://localhost:3000'
87-
SERVER_IMAGE_HOST: str = ''
87+
SERVER_IMAGE_HOST: str = 'https://YOUR_SERVE_IP:MCP_PORT/images/'
8888

8989
LOCAL_MODEL_PATH: str = '/opt/sqlbot/models'
9090
DEFAULT_EMBEDDING_MODEL: str = 'shibing624/text2vec-base-chinese'

0 commit comments

Comments
 (0)