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

如何优化提示词并实现OpenAI GPT-4单次API请求

优化多提示词API请求为单次请求的方案

核心思路

将原本分散的多个查询需求合并为一个结构化提示词,让GPT-4一次性返回所有需要的结果,同时指定返回JSON格式,后续直接解析结果映射到模型字段,从而将多次API请求压缩为单次。

优化后的提示词设计

整合所有需求,明确要求返回与OpenAIModel字段对应的结构化JSON:

基于以下JSON数据,完成所有分析并返回严格符合要求的JSON结果:
{jsonData}

需返回的字段及要求:
- Profit: 总利润的概述
- NetIncome: 总销售成本的概述
- Overheads: 管理成本的详细概述(包含每一项参数)
- Expenses: 总运营成本的概述
- Revenue: 总收入的概述

请仅返回JSON内容,不要添加任何解释性文字或额外格式。

优化后的C#代码实现

替换原循环调用逻辑,改为单次请求后解析JSON:

using System.Text.Json;

static async Task ProcessAndStorePrompts(IConfiguration configuration, string jsonData, string tenantId, Database databaseHandler)
{
    // 构造合并后的提示词
    var combinedPrompt = $@"基于以下JSON数据,完成所有分析并返回严格符合要求的JSON结果:
{jsonData}

需返回的字段及要求:
- Profit: 总利润的概述
- NetIncome: 总销售成本的概述
- Overheads: 管理成本的详细概述(包含每一项参数)
- Expenses: 总运营成本的概述
- Revenue: 总收入的概述

请仅返回JSON内容,不要添加任何解释性文字或额外格式。";

    // 发起单次API请求
    string jsonAnswer = await AskQuestionAboutJsonAsync(configuration, combinedPrompt, jsonData);
    
    if (!string.IsNullOrEmpty(jsonAnswer))
    {
        try
        {
            // 解析JSON到模型
            var aiModel = JsonSerializer.Deserialize<OpenAIModel>(jsonAnswer);
            if (aiModel != null)
            {
                aiModel.Tenant = tenantId;
                aiModel.Month = DateTime.Now;
                // 存储到数据库
                databaseHandler.JsontoAI(aiModel);
            }
        }
        catch (JsonException ex)
        {
            // 处理JSON解析失败的异常
            Console.WriteLine($"解析GPT返回结果失败: {ex.Message}");
        }
    }
}

// 确保模型类支持JSON序列化
public class OpenAIModel
{
    public string Tenant { get; set; }
    public DateTime Month { get; set; }
    public string Profit { get; set; }
    public string NetIncome { get; set; }
    public string Overheads { get; set; }
    public string Expenses { get; set; }
    public string Revenue { get; set; }
}

关键注意事项

  • 格式约束:必须在提示词中明确要求仅返回指定结构的JSON,避免GPT返回解释性文字导致解析失败。
  • 序列化匹配:确保OpenAIModel的属性名称与提示词中指定的字段名完全一致,若需大小写或命名匹配,可使用[JsonPropertyName]特性调整。
  • 异常处理:添加JSON解析的异常捕获逻辑,应对GPT返回格式不符合预期的情况,保证程序稳定性。

内容的提问来源于stack exchange,提问作者Abhinav Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:08:14