You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改OpenAI提示词生成函数适配自定义英文-N1QL查询CSV数据集

解决方案

要利用你的queries.csv数据集构建适配的提示词,核心是通过少样本学习让模型从数据集中的示例掌握英文查询与N1QL语句的对应逻辑。以下是具体修改步骤和完整代码:

1. 读取CSV数据集

先用Python内置的csv模块读取queries.csv中的示例对,将其转化为提示词可直接使用的格式。

2. 重构generate_prompt函数

把CSV中的多组英文查询-N1QL对应示例拼接进提示词模板,最后引导模型针对用户输入生成对应的N1QL语句。

完整修改后的代码

import openai
import csv
import config  # 假设你的API_KEY存储在该配置文件中

def load_csv_examples(csv_path):
    # 读取CSV中的英文查询与N1QL对应示例
    examples = []
    with open(csv_path, 'r', encoding='utf-8') as f:
        reader = csv.reader(f)
        next(reader)  # 跳过CSV表头(若无表头则注释此行)
        for english_query, n1ql_query in reader:
            examples.append(f"English Query: {english_query}\nN1QL Query: {n1ql_query}")
    return "\n\n".join(examples)

def generate_prompt(english_query, csv_examples):
    # 构建提示词:先给出示例,再引导模型生成目标N1QL
    prompt_template = """Convert the following English natural language queries into N1QL queries following the examples below:

{}

English Query: {}
N1QL Query:"""
    return prompt_template.format(csv_examples, english_query)

def query_openai_api(english_query):
    openai.api_key = config.OPENAI_API_KEY
    # 加载CSV中的示例数据
    csv_examples = load_csv_examples("queries.csv")
    response = openai.Completion.create(
        model="text-davinci-003",
        prompt=generate_prompt(english_query, csv_examples),
        temperature=0.1,  # 调低温度保证结构化查询的精准性
        max_tokens=200,  # 根据实际N1QL语句长度调整
        stop=["\n"]  # 避免模型生成多余内容
    )
    # 清理并输出结果
    n1ql_result = response.choices[0].text.strip()
    print(n1ql_result)
    return n1ql_result

# 测试调用
query_openai_api("你的英文查询示例")

关键说明

  • load_csv_examples函数:负责将CSV每行的查询对转化为统一格式的字符串,方便直接拼接进提示词。如果你的CSV没有表头,记得注释掉next(reader)。
  • 提示词逻辑:先明确任务目标,再给出多组示例让模型学习对应规则,最后输入用户查询并引导输出N1QL。
  • 参数优化:temperature调低到0.1是因为结构化查询需要精准输出,避免模型生成发散内容;max_tokens和stop参数可根据实际场景调整。

内容的提问来源于stack exchange,提问作者Aadhi Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:33:11