admin 管理员组文章数量: 887021
简介
Human Language to SQL Translator 是一个可以通过ChatGPT 可以生成 SQL 语句的网站。
开源地址: https://github/whoiskatrin/sql-translator
这里使用 python
对其进行了复现
代码
"""自然语言生成 SQL """
import openai
def sql_generation(query, table_schema):
"""
生成 sql
:param query: 用户输入的 query
:param table_schema: 数据库表的 schema
:return: sql 语句
"""
prompt = """
Translate this natural language query into SQL without changing the case of the entries given by me:
""" + query + """
Use this table schema:
""" + table_schema + """
SQL Query:"""
completion = openai.ChatCompletion.create(model="gpt-3.5-turbo",
# api_base="https://xxxxx.xxxxx/v1", 如果有域名代理可以使用
api_key="sk-xxxxxxxxxxxxxxxxxxx",
messages=[
{"role": "system", "content": prompt},
], max_tokens=500, temperature=0)
return completion.choices[0].message.content
if __name__ == '__main__':
query = "查询年龄大于23岁的男生"
print("query: " + query)
sql = sql_generation("查询年龄大于23岁的男生",
"CREATE TABLE USER(id int, age int, sex bool, name varchar, update_time date, create_time date)")
print("SQL: " + sql)
运行结果
总结
主要是通过 提示语让 ChatGPT 明白自己需要参考表结构将用户输入的文字转换为 SQL 语句
可以通过修改 PROMPT
来实现生成不同的数据库语句
版权声明:本文标题:如何使用 OpenAI API ChatGPT,通过自然语言生成 SQL 语句(简易版) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1724527631h756593.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论