提示词工程

基础概念:

Zero-shot(零样本提示):

定义: 不给任何例子,只告诉模型任务。

Few-shot(少样本提示):

定义: 在正式任务前,先给模型几个示例,让它模仿。

示例1:

评论:味道很好。

情感:积极

示例2:

评论:太难吃了。

情感:消极

示例3:

评论:一般般。

情感:中性

现在判断:

评论:环境不错,就是价格有点贵。

情感:

模型会按照前面的示例进行推理和输出。

提示词优化案例-文本摘要提取:

需要交给AI的示例数据准备:

python 复制代码
import json

from openai import OpenAI
import os

client = OpenAI(
# 如果没有配置环境变量,请用阿里云百炼API Key替换:api_key="sk-xxx"
    api_key=os.getenv("OPENAI_API_KEY"),
    base_url="https://ws-cadohhnjnxndgkxl.cn-beijing.maas.aliyuncs.com/compatible-mode/v1"
    # base_url="http://localhost:11434/v1"
)

schema = ['日期', '股票名称', '开盘价', '收盘价', '成交量']
# 示例数据
examples_data = [
    {
        "content": "2023-01-10,股市震荡。股票强大科技A股今日开盘价100人民币,一度飙升至105人民币,随后回落至98人民币,最终以102人民币收盘,成交量达到520000。",
        "answers": {
            "日期": "2023-01-10",
            "股票名称": "强大科技A股",
            "开盘价": "100人民币",
            "收盘价": "102人民币",
            "成交量": "520000"
        }
    },
    {
        "content": "2024-05-16,股市利好。股票英伟达美股今日开盘价105美元,一度飙升至109美元,随后回落至100美元,最终以116美元收盘,成交量达到3560000。",
        "answers": {
            "日期": "2024-05-16",
            "股票名称": "英伟达美股",
            "开盘价": "105美元",
            "收盘价": "116美元",
            "成交量": "3560000"
        }
    }
]

# 提问问题
questions = [
    "2025-06-16,股市利好。股票传智教育A股今日开盘价66人民币,一度飙升至70人民币,随后回落至65人民币,最终以68人民币收盘,成交量达到123000。",
    "2025-06-06,股市利好。股票黑马程序员A股今日开盘价200人民币,一度飙升至211人民币,随后回落至201人民币,最终以206人民币收盘。"
]

将消息传入messages中:

python 复制代码
messages = [
    {"role": "system", "content": "你是一个 helpful的助手,需要根据给定的示例数据,从给定的文本中抽取信息,并返回一个JSON对象,JSON对象的键值对由schema数组定义。"},
    {"role": "user", "content": "请根据示例数据,从给定的文本中抽取信息,并返回一个JSON对象,JSON对象的键值对由schema数组定义。"},
    {"role": "assistant", "content": "好的,请提供文本。"}
]

for example in examples_data:
    messages.append({"role": "user", "content": example["content"]})
    messages.append({"role": "assistant", "content": json.dumps(example["answers"])})

让大模型回答问题:

python 复制代码
for question in questions:
    response = client.chat.completions.create(
        model="qwen3.7-max",  # 您可以按需更换为其它深度思考模型
        messages=messages+[{"role": "user", "content": question}]
    )
    print(response.choices[0].message.content)