使用Amazon Bedrock和Spring AI將自然語言查詢轉換為 SQL 查詢。
提示模板
Given the DDL in the DDL section, write an SQL query to answer the question in the QUESTION section. |
應用程式建立了兩個資料庫表 hogwarts_houses 和 wizards,並透過 Flyway 遷移指令碼在啟動時插入測試資料。
在 PromptTemplateConfiguration 類中建立了一個 PromptTemplate Bean,並在提示中新增了 DDL 模式。該 Bean 被注入到 SqlGenerator 中,SqlGenerator 會用透過 API 提交的自然語言查詢動態替換問題佔位符,並呼叫 LLM 生成相應的 SQL 查詢。
編寫的提示僅用於生成 SELECT SQL 查詢,並檢測 SQL 注入和 DoS 嘗試。為進一步保護資料庫不被修改,應配置具有隻讀許可權的 MySQL 使用者。
模型 ID anthropic.claude-3-haiku-20240307-v1:0 和其他配置屬性在 application.yaml 檔案中配置。
例子
可以使用httpie透過以下命令呼叫唯一的 API:
http POST :8080/api/v1/query question=<font>"" |
本地設定
可以使用 Docker 透過以下命令在本地設定該應用程式:
sudo docker-compose build
sudo AWS_ACCESS_KEY=value AWS_REGION=value AWS_SECRET_KEY=value docker-compose up -d