
Grok 2 和 Grok 3 使用教程:教你如何獲得Grok3的訪問權限
我先把在 xxx里寫的python腳本改下,由關鍵詞檢索改成sql檢索。
from flask import Flask, request, jsonify
import pymysql
app = Flask(__name__)
# 數據庫配置
DATABASE_CONFIG = {
'host': '', # 自己的數據庫地址
'user': '', # 自己數據庫的賬戶
'password': '', #自己數據庫的密碼
'db': 'demo', # 自己數據庫的庫名
'charset': 'utf8mb4',
'cursorclass': pymysql.cursors.DictCursor
}
@app.route('/query', methods=['POST'])
def query_database():
print("接收到請求")
# 獲取查詢sql
querySql = request.json.get('querySql')
print("querySql為:"+querySql)
# 去除 Markdown 標識和不必要的字符
if querySql:
# 去除開頭的 ```sql
querySql = querySql.replace('```sql\n', '')
# 去除結尾的 `<EOF>
`
querySql = querySql.replace('\n<<EOF>>', '')
# 去除多余的空格和換行符
querySql = querySql.strip()
# 將換行符替換為空格(如果需要保持多行,可以省略這一步)
querySql = querySql.replace('\n', ' ')
querySql = querySql.replace('```', ' ')
# 去除多余的空格
querySql = ' '.join(querySql.split())
ifnot querySql:
return jsonify({"error": "querySql is required"}), 400
try:
# 建立數據庫連接
connection = pymysql.connect(**DATABASE_CONFIG)
with connection.cursor() as cursor:
# 執行查詢
cursor.execute(querySql)
result = cursor.fetchall()
connection.commit()
connection.close()
ifnot result:
return"未查詢到有效數據", 400
# 生成 Markdown 表格
markdown_table = generate_markdown_table(result)
return markdown_table, 200
except Exception as e:
return str(e), 500
def generate_markdown_table(results):
""" 生成 Markdown 表格 """
ifnot results:
return""
# 獲取列名
columns = results[0].keys()
# 表頭
table_md = "| " + " | ".join([col for col in columns]) + " |\n"
# 分隔線
table_md += "| " + " --- |" * len(columns) + "\n"
# 表格內容
for row in results:
table_md += "| " + " | ".join([str(cell) for cell in row.values()]) + " |\n"
return table_md
if __name__ == '__main__':
app.run(host='10.1.0.65', port=8000)
執行命令python .\server2.py
,啟動服務
我把庫表結構從數據庫里導出一份表結構,導出到相同的文件里,建立一個知識庫。要求數據庫表必須有完整的注釋。
我們可以看到導出的表結構我們可以用DROP TABLE IF EXISTS
分割文本。
將導出的表結構,上傳到知識庫。
按照DROP TABLE IF EXISTS
分割文本,將2
設置為4000,預覽下分段,效果還行,把最大分段長度
調大,防止同一個表結構被分到不同的段落。
我們使用混合檢索,Score
的閾值不要調太大,一般0.3即可,別看圖。
回到工作室,我們復制一個工作流出來。
改下名稱。
添加一個知識檢索節點,把開始節點的用戶輸入context
作為查詢變量,添加剛才添加的數據庫知識庫。
我們把LLM節點調整下,修改下2
的名稱,上線文2
改成知識檢索的結果.調整下提示詞讓它根據知識和用戶需求生成查詢sql。
調整下HTTP請求中的查詢字段,我改成了querySql
,根據自己的代碼來。
結束節點直接把HTTP的body返回。
最后整體流程。
寫sql的能力忽高忽低,得找個代碼模型。
0.3
就可以了文章轉載自: DeepSeek+dify 工作流應用,自然語言查詢數據庫信息并展示