feat:dockerfile添加以及向量数据库支持配置为远程数据库

This commit is contained in:
雷雨
2025-09-25 10:32:01 +08:00
parent 7132d07921
commit 873a02ba1d
3 changed files with 23 additions and 6 deletions

10
.env
View File

@@ -1,13 +1,19 @@
IS_FIRST_LOAD=True
CHAT_MODEL_BASE_URL=https://api.siliconflow.cn
CHAT_MODEL_API_KEY=sk-cjiakyfpzamtxgxitcbxvwyvaulnygmyxqpykkgngsvfqhuy
CHAT_MODEL_API_KEY=sk-iyhiltycmrfnhrnbljsgqjrinhbztwdplyvuhfihcdlepole
CHAT_MODEL_NAME=Qwen/Qwen3-Next-80B-A3B-Instruct
EMBEDDING_MODEL_BASE_URL=https://api.siliconflow.cn
EMBEDDING_MODEL_API_KEY=sk-cjiakyfpzamtxgxitcbxvwyvaulnygmyxqpykkgngsvfqhuy
EMBEDDING_MODEL_API_KEY=sk-iyhiltycmrfnhrnbljsgqjrinhbztwdplyvuhfihcdlepole
EMBEDDING_MODEL_NAME=Qwen/Qwen3-Embedding-8B
#向量数据库
#type:memory/remote,如果设置为remote将IS_FIRST_LOAD 设置成false
QDRANT_TYPE=memory
QDRANT_DB_HOST=106.13.42.156
QDRANT_DB_PORT=16000
#mysql ,sqlite,pg等
DATA_SOURCE_TYPE=dameng
#数据库类型

9
Dockerfile Normal file
View File

@@ -0,0 +1,9 @@
FROM docker.m.daocloud.io/python:3.12-slim
WORKDIR /app
COPY . /app
ENV TZ=Asia/Shanghai \
LANG=C.UTF-8
RUN rm -rf logs .git .idea .venv && apt-get update && apt-get install -y vim curl && pip install -r requirement.txt -i https://mirrors.aliyun.com/pypi/simple/
RUN mkdir -p /app/logs && touch /app/logs/sqlbot.log && rm -rf *.whl
EXPOSE 8084
CMD ["python","main_service.py"]

View File

@@ -38,9 +38,11 @@ def load_train_data_ddl(vn: CustomVanna):
def create_vana():
print("----------------create---------")
logger.info("----------------create vana ---------")
q_client = QdrantClient(":memory:") if config('QDRANT_TYPE', default='memory') == 'memory' else QdrantClient(
url=config('QDRANT_DB_HOST', default=''), port=config('QDRANT_DB_PORT', default=6333))
vn = CustomVanna(
vector_store_config={"client": QdrantClient(":memory:")},
vector_store_config={"client": q_client},
llm_config={
"api_key": config('CHAT_MODEL_API_KEY', default=''),
"api_base": config('CHAT_MODEL_BASE_URL', default=''),
@@ -51,7 +53,7 @@ def create_vana():
def init_vn(vn):
print("--------------init vn-----connect----")
logger.info("--------------init vana-----connect to datasouce db----")
connect_database(vn)
load_ddl_doc.add_ddl(vn)
load_ddl_doc.add_documentation(vn)
@@ -100,7 +102,7 @@ def generate_sql_2():
data = vn.generate_sql_2(question=question)
data['id'] = id
sql = data["resp"]["sql"]
print("sql:", sql)
logger.info("generate sql is : "+ sql)
cache.set(id=id, field="question", value=question)
cache.set(id=id, field="sql", value=sql)
print("data---------------------------", data)