From 1393b021eb0491d231e8621d8ad4bfe6e75e8d3b Mon Sep 17 00:00:00 2001 From: yujj128 Date: Tue, 23 Sep 2025 17:07:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=B9=E9=87=8F=E6=B7=BB=E5=8A=A0ddl?= =?UTF-8?q?=E5=88=B0=E5=90=91=E9=87=8F=E6=95=B0=E6=8D=AE=E5=BA=93=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0documention,=E9=87=8D=E5=86=99generate=5Frewr?= =?UTF-8?q?itten=5Fquestion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 12 ++++++------ main_service.py | 1 + service/cus_vanna_srevice.py | 4 ++++ util/load_ddl_doc.py | 14 +++++++------- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/.env b/.env index a17a301..018084d 100644 --- a/.env +++ b/.env @@ -9,14 +9,14 @@ EMBEDDING_MODEL_API_KEY=sk-cjiakyfpzamtxgxitcbxvwyvaulnygmyxqpykkgngsvfqhuy EMBEDDING_MODEL_NAME=Qwen/Qwen3-Embedding-8B #mysql ,sqlite,pg等 -DATA_SOURCE_TYPE=sqlite +DATA_SOURCE_TYPE=mysql #sqlite 连接信息 SQLITE_DATABASE_URL=E://db/db_flights.sqlite #mysql 连接信息 -MYSQL_DATABASE_HOST= -MYSQL_DATABASE_PORT= -MYSQL_DATABASE_PASSWORD= -MYSQL_DATABASE_USER= -MYSQL_DATABASE_DBNAME= +MYSQL_DATABASE_HOST=192.168.31.115 +MYSQL_DATABASE_PORT=3306 +MYSQL_DATABASE_PASSWORD=Admin1234! +MYSQL_DATABASE_USER=yu +MYSQL_DATABASE_DBNAME=test diff --git a/main_service.py b/main_service.py index a9aae26..7915697 100644 --- a/main_service.py +++ b/main_service.py @@ -82,6 +82,7 @@ def generate_sql_2(): text: type: string """ + question = flask.request.args.get("question") if question is None: diff --git a/service/cus_vanna_srevice.py b/service/cus_vanna_srevice.py index d0c68af..899c04b 100644 --- a/service/cus_vanna_srevice.py +++ b/service/cus_vanna_srevice.py @@ -3,6 +3,7 @@ from typing import List import orjson from vanna.base import VannaBase +from vanna.flask import MemoryCache from vanna.qdrant import Qdrant_VectorStore from qdrant_client import QdrantClient from openai import OpenAI @@ -17,6 +18,7 @@ from datetime import datetime class OpenAICompatibleLLM(VannaBase): def __init__(self, client=None, config_file=None): VannaBase.__init__(self, config=config_file) + self.cache = MemoryCache() # default parameters - can be overrided using config self.temperature = 0.5 @@ -168,6 +170,8 @@ class OpenAICompatibleLLM(VannaBase): [{'role': 'system', 'content': sys_char_temp}, {'role': 'user', 'content': user_char_temp}], **kwargs) print(llm_response2) result['chart'] = orjson.loads(extract_nested_json(llm_response2)) + result['id'] = self.cache.generate_id(question=question) + print("result----------------------{0}".format(result)) return result def generate_rewritten_question(self, last_question: str, new_question: str, **kwargs) -> str: diff --git a/util/load_ddl_doc.py b/util/load_ddl_doc.py index a1e2d5a..b7de0d2 100644 --- a/util/load_ddl_doc.py +++ b/util/load_ddl_doc.py @@ -14,13 +14,13 @@ from service.cus_vanna_srevice import CustomVanna # ) # """, # ] -# list_documentions = [ -# """ -# gender 字段 0代表女性,1代表男性; -# 查询address时,尽量使用like查询,如:select * from db_user where address like '%北京%'; -# 语法为sqlite语法; -# """, -# ] +list_documentions = [ + """ + gender 字段 0代表女性,1代表男性; + 查询address时,尽量使用like查询,如:select * from db_user where address like '%北京%'; + 语法为sqlite语法; + """, +] table_ddls = [ """ CREATE TABLE 人员库表 (