黄朝忆的个人博客
登录|注册

5. prompt 实战

创建 2026-08-30 20:2118109 字14 浏览0 评论

生成网络爆款方案例子:

import os

from dotenv import load_dotenv
from openai import OpenAI  # 只是一个模块,去加载大模型的

load_dotenv()
# 加载系统环境变量
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"), base_url=os.getenv("DASHSCOPE_BASE_URL"))
# 系统提示词
system_prompt = """
你是一个熟练的网络爆款文案写手,根据用户为你规定的主题、内容、要求,你需要生成一篇高质量的爆款文案
你生成的文案应该遵循以下规则:
- 吸引读者的开头:开头是吸引读者的第一步,一段好的开头能引发读者的好奇心并促使他们继续阅读。
- 通过深刻的提问引出文章主题:明确且有深度的问题能够有效地导向主题,引导读者思考。
- 观点与案例结合:多个实际的案例与相关的数据能够为抽象观点提供直观的证据,使读者更易理解和接受。
- 社会现象分析:关联到实际社会现象,可以提高文案的实际意义,使其更具吸引力。
- 总结与升华:对全文的总结和升华可以强化主题,帮助读者理解和记住主要内容。
- 保有情感的升华:能够引起用户的情绪共鸣,让用户有动力继续阅读
- 金句收尾:有力的结束可以留给读者深刻的印象,提高文案的影响力。
- 带有脱口秀趣味的开放问题:提出一个开放性问题,引发读者后续思考。
##注意事项:  
- 只有在用户提问的时候你才开始回答,用户不提问时,请不要回答"""
response = client.chat.completions.create(
    messages=[
        {
            'role': 'system',
            'content': '我可以为你生成爆款网络文案,你对文案的主题、内容有什么要求都可以告诉我~'

        },
        {
            'role': 'system',
            'content': system_prompt
        },
        {
            'role': 'user',
            'content': '主题: Xiaomisu7, 文案要求:希望能够抓住人的眼球,体现Xiaomisu7的特点'
        }],
    # model="qwen-plus-2025-04-28",
    model="qwen-plus-2025-04-28",
)
# 大模型现有的知识中并没有Xiaomisu7的内容。   大模型在训练出来的时候,知识会停留在训练的那个时刻。无法实时更新。
print(response.choices[0].message.content)


数据库多表查询Sql语句生成例子

import os

import streamlit as st  # 使用Python去创建前端页面
from dotenv import load_dotenv
from openai import OpenAI

# 加载环境变量  pip install streamlit
load_dotenv()
# 使用千问的模型
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"), base_url=os.getenv("DASHSCOPE_BASE_URL"))


def get_completion(table_structures, sql_requirements, model="qwen-plus-2025-04-28"):
    # 指令
    instruction = """
    【角色】SQL生成专家(专精多表联合查询)
    【任务】根据用户需求和提供表结构生成高效、安全的select查询语句
    """
    # 示例
    examples = """
        表结构如下:
       -- 用户表
        CREATE TABLE users (
            user_id INT PRIMARY KEY NOT NULL,
            username VARCHAR(50) NOT NULL,
            email VARCHAR(100) UNIQUE NOT NULL,
            registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
        );

        -- 商品表
        CREATE TABLE products (
            product_id INT PRIMARY KEY NOT NULL,
            product_name VARCHAR(100) NOT NULL,
            unit_price DECIMAL(10,2) NOT NULL,
            stock_quantity INT NOT NULL
        );

        -- 订单表
        CREATE TABLE transactions (
            transaction_id INT PRIMARY KEY NOT NULL,
            user_id INT NOT NULL,
            product_id INT NOT NULL,
            quantity INT NOT NULL,
            amount DECIMAL(10,2) NOT NULL,
            status VARCHAR(20) CHECK (status IN ('pending', 'completed', 'cancelled')),
            order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            FOREIGN KEY (user_id) REFERENCES users(user_id),
            FOREIGN KEY (product_id) REFERENCES products(product_id)
        );
        用户需求:
        查询消费金额最高的用户及其消费详情
        生成的SQL:
           SELECT 
                u.user_id,
                u.username,
                u.email,
                SUM(t.amount) AS total_spent,
                COUNT(t.transaction_id) AS order_count,
                MAX(t.order_date) AS latest_order_date
            FROM 
                transactions t
            JOIN 
                users u ON t.user_id = u.user_id
            WHERE 
                t.status = 'completed'
            GROUP BY 
                u.user_id, u.username, u.email
            ORDER BY 
                total_spent DESC
               LIMIT 1;
    """
    prompt = f"""
        {instruction}
        示例:
        {examples}
        表结构如下:
        {table_structures}
        用户输入:
        {sql_requirements}
    """
    print(prompt)
    messages = [{"role": "user", "content": prompt}]
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=0,  # 模型输出的随机性,0 表示随机性最小   Assistant
    )
    return response.choices[0].message.content


# 设置标题
st.title("SQL语句生成工具")

# 获取用户的表结构数据
num_tables = st.number_input('请输入您需要填写的表结构数量:', min_value=1, max_value=10, step=1)

# 创建一个可以添加和删除的输入控件,并将所有的内容拼接在一起
table_structures = ""
for i in range(num_tables):
    table_structure = st.text_area(f"请输入您的表结构 {i + 1}:")
    table_structures += table_structure + "\n"

# 新增SQL需求输入框
sql_requirements = st.text_area("请输入您要查询的内容")

# 当用户点击提交时,传递所有输入的提示词到模型中
if st.button("提交"):
    # 检查表结构和SQL需求都已经填写
    if all(table_structures) and sql_requirements:
        output = get_completion(table_structures, sql_requirements)
        st.success(output)
    else:
        st.warning("请确保所有表结构和SQL需求已经填写")

运行命令: streamlit run 绝对路径(文件的路径)



旅游行程定制系统

import os

import matplotlib.pyplot as plt
import seaborn as sns
import streamlit as st
from dotenv import load_dotenv
from openai import OpenAI

load_dotenv()
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"), base_url=os.getenv("DASHSCOPE_BASE_URL"))

# 设置页面配置
st.set_page_config(
    page_title="旅行规划助手",
    page_icon="🌍",
    layout="wide"
)

# 设置中文字体
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
plt.rcParams["axes.unicode_minus"] = False  # 解决负号显示问题

# 简化的目的地数据
destinations = {
    "亚洲": ["日本", "泰国", "中国", "韩国", "马来西亚"],
    "欧洲": ["法国", "意大利", "西班牙", "英国", "德国"],
    "北美洲": ["美国", "加拿大", "墨西哥"],
    "南美洲": ["巴西", "阿根廷", "秘鲁"],
    "大洋洲": ["澳大利亚", "新西兰"],
    "非洲": ["南非", "埃及", "摩洛哥"]
}

# 目的地详细信息   字典=键值对
destination_details = {
    "日本": {
        "特色": "文化融合、美食、樱花/红叶季、购物",
        "最佳季节": "春季(3-4月,樱花)、秋季(10-11月,红叶)",
        "经典景点": ["东京迪士尼", "富士山", "京都金阁寺", "大阪城公园"],
        "美食": ["寿司", "拉面", "天妇罗", "怀石料理"],
        "文化注意": ["进入室内脱鞋", "公共场合保持安静", "垃圾分类严格"]
    },
    "泰国": {
        "特色": "海滩、寺庙、美食、热带气候",
        "最佳季节": "11月-次年4月(旱季)",
        "经典景点": ["曼谷大皇宫", "普吉岛", "清迈古城", "皮皮岛"],
        "美食": ["冬阴功汤", "泰式炒河粉", "芒果糯米饭", "绿咖喱鸡"],
        "文化注意": ["尊重王室和僧侣", "头部为神圣部位", "公共场合避免亲昵行为"]
    },
    "法国": {
        "特色": "浪漫、艺术、美食、时尚",
        "最佳季节": "5-6月(春季)、9-10月(秋季)",
        "经典景点": ["埃菲尔铁塔", "卢浮宫", "普罗旺斯", "凡尔赛宫"],
        "美食": ["法式面包", "奶酪", "葡萄酒", "鹅肝酱"],
        "文化注意": ["见面亲吻礼", "餐厅预约", "尊重艺术作品"]
    },
    "意大利": {
        "特色": "历史、美食、艺术、时尚",
        "最佳季节": "4-5月(春季)、9-10月(秋季)",
        "经典景点": ["罗马斗兽场", "威尼斯", "佛罗伦萨", "米兰大教堂"],
        "美食": ["披萨", "意大利面", "冰淇淋", "提拉米苏"],
        "文化注意": ["着装礼仪", "用餐时间较长", "教堂着装要求"]
    },
    "美国": {
        "特色": "多元文化、自然奇观、主题公园",
        "最佳季节": "因地区而异(西部5-10月,东部5-9月)",
        "经典景点": ["大峡谷", "纽约时代广场", "迪士尼乐园", "黄石国家公园"],
        "美食": ["汉堡", "披萨", "BBQ", "甜甜圈"],
        "文化注意": ["小费文化", "个人空间", "尊重多元文化"]
    }
}

# 旅行主题
travel_themes = {
    "休闲度假": ["放松", "SPA", "海滩", "晒太阳"],
    "美食探索": ["美食", "小吃", "餐厅", "烹饪课程"],
    "文化体验": ["文化", "艺术", "博物馆", "传统"],
    "户外探险": ["徒步", "登山", "骑行", "探险"],
    "购物血拼": ["购物", "商场", "市集", "奢侈品"],
    "亲子游玩": ["动物园", "游乐园", "互动体验", "教育"],
    "浪漫蜜月": ["浪漫", "海景", "私密", "烛光晚餐"],
    "历史考古": ["历史", "古迹", "遗址", "考古"]
}

# 预算水平
budget_levels = {
    "经济型": {"每日预算": "300-800元", "住宿": "青年旅社/经济型酒店"},
    "中等价位": {"每日预算": "800-1500元", "住宿": "三星级酒店/精品酒店"},
    "高端奢华": {"每日预算": "1500元以上", "住宿": "五星级酒店/度假村"}
}

# 安全提示
safety_tips = {
    "通用": [
        "提前了解目的地的安全状况和当地法律法规",
        "购买涵盖医疗和紧急救援的旅行保险",
        "保管好个人财物,尤其是在人多拥挤的地方",
        "随身携带紧急联系方式"
    ],
    "文化": {
        "日本": ["进入室内脱鞋", "公共场合保持安静", "垃圾分类严格"],
        "泰国": ["尊重王室和僧侣", "头部为神圣部位", "公共场合避免亲昵行为"],
        "法国": ["见面亲吻礼", "餐厅预约", "尊重艺术作品"],
        "意大利": ["着装礼仪", "用餐时间较长", "教堂着装要求"],
        "美国": ["小费文化", "个人空间", "尊重多元文化"]
    }
}

# 行李清单
packing_lists = {
    "春季": ["轻便外套", "长袖衬衫", "舒适鞋子", "雨伞"],
    "夏季": ["短袖衣物", "短裤", "凉鞋", "防晒霜", "太阳镜", "帽子"],
    "秋季": ["薄外套", "毛衣", "牛仔裤", "舒适鞋子"],
    "冬季": ["厚外套", "羽绒服", "围巾", "手套", "保暖内衣", "雪地靴"],
    "通用": ["护照和签证文件", "机票和酒店预订确认单", "手机充电器", "现金和信用卡"]
}


# 生成提示词
def generate_prompt(destination, theme, days, season, budget, special_requests):
    """生成发送给大模型的提示词"""
    dest_info = destination_details.get(destination, {})
    theme_keywords = travel_themes.get(theme, [])

    # 季节转换
    season_mapping = {
        "春季(3-5月)": "春季",
        "夏季(6-8月)": "夏季",
        "秋季(9-11月)": "秋季",
        "冬季(12-2月)": "冬季"
    }
    season_short = season_mapping.get(season, "春季")

    # 构建提示词-动态
    prompt = f"""
        你是一位专业的旅行顾问,擅长根据用户需求生成详细的旅行计划。请根据以下信息为用户生成一份到{destination}的{days}日{theme}旅行计划:

        ### 用户基本信息
        - 目的地:{destination}
        - 旅行天数:{days}天
        - 旅行季节:{season_short}
        - 预算水平:{budget}(每日预算{budget_levels[budget]['每日预算']})
        - 特殊要求:{special_requests if special_requests else "无特殊要求"}

        ### 目的地相关信息
        - 特色:{dest_info.get('特色', '丰富的文化和自然景观')}
        - 最佳季节:{dest_info.get('最佳季节', '全年适宜')}
        - 经典景点:{', '.join(dest_info.get('经典景点', ['当地著名景点']))}
        - 美食推荐:{', '.join(dest_info.get('美食', ['当地美食']))}
        - 文化注意事项:{', '.join(dest_info.get('文化注意', ['尊重当地习俗']))}

        ### 旅行主题相关信息
        用户选择的旅行主题是"{theme}",相关关键词包括:{', '.join(theme_keywords)}

        ### 输出要求
        请生成一份详细的旅行计划,包括:
        1. 每日行程安排(按上午、下午、晚上分段,包括活动、交通、餐饮建议)
        2. 住宿推荐(符合用户预算水平)
        3. 预算估算(包括交通、住宿、餐饮、门票等分项,总预算)
        4. 实用贴士(安全提示、文化礼仪、天气准备、行李清单等)
        5. 语言风格:专业、实用、简洁,突出重点信息

        旅行计划:
        """
    return prompt


# 生成旅行计划
def generate_travel_plan(destination, theme, days, season, budget, special_requests):
    """调用大模型生成旅行计划"""
    # 生成提示词
    prompt = generate_prompt(destination, theme, days, season, budget, special_requests)
    print(prompt)
    try:
        response = client.chat.completions.create(
            model="qwen-plus-2025-04-28",
            messages=[
                {"role": "system", "content": "你是一位专业、细致的旅行顾问,擅长根据用户需求生成详细的旅行计划。"},
                {"role": "user", "content": prompt}
            ],
            temperature=0.7,
            max_tokens=3000
        )
        return response.choices[0].message.content
    except Exception as e:
        st.error(f"生成旅行计划时出错: {str(e)}")
        # 如果出错,返回一个示例旅行计划
        return """
    # 示例旅行计划

    ## 一、行程安排
    ### 第一天:抵达与适应
    - **上午**:抵达目的地,前往酒店办理入住,稍作休息
    - **交通**:机场→酒店(建议使用机场大巴或出租车)
    - **餐饮**:酒店附近餐厅,品尝当地特色早餐
    - **下午**:市区漫步,参观附近景点
    - **晚上**:在夜市品尝美食,体验当地夜生活
    - **住宿**:经济型酒店

    ### 第二天:探索城市
    - **上午**:参观主要景点
    - **交通**:地铁/公交车
    - **餐饮**:景区附近餐厅
    - **下午**:继续游览景点,参加文化活动
    - **晚上**:享用当地美食,观看传统表演
    - **住宿**:经济型酒店

    ## 二、预算估算
    - 每日预算:300-800元
    - 总预算:约2000元(2天)
    - 费用包含:住宿、餐饮、交通、门票等

    ## 三、实用贴士
    - 安全提示:保管好个人财物,注意交通安全
    - 文化礼仪:尊重当地习俗,穿着得体
    - 行李清单:轻便衣物、舒适鞋子、必要证件

    希望这份示例计划能为您提供参考!
    """


# 主应用
def main():
    st.title("🌍 旅行规划助手")
    st.markdown("根据您的偏好,生成个性化的旅行计划")

    # 侧边栏 - 用户输入
    with st.sidebar:
        st.header("旅行偏好")

        # 目的地选择
        region = st.selectbox("选择地区", list(destinations.keys()))
        destination = st.selectbox("选择国家", destinations[region])

        # 旅行主题
        theme = st.selectbox("旅行主题", list(travel_themes.keys()))

        # 旅行天数
        days = st.slider("旅行天数", 1, 30, 7)

        # 旅行季节
        season = st.selectbox("旅行季节", ["春季(3-5月)", "夏季(6-8月)", "秋季(9-11月)", "冬季(12-2月)"])

        # 预算水平
        budget = st.selectbox("预算水平", list(budget_levels.keys()))

        # 特殊要求
        special_requests = st.text_area("特殊要求或偏好", placeholder="例如:需要无障碍设施、对花粉过敏等")

        # 生成旅行计划按钮
        if st.button("生成旅行计划"):
            # 等待圆圈
            with st.spinner("正在生成旅行计划..."):
                # 大模型生成的旅行规划
                travel_plan = generate_travel_plan(destination, theme, days, season, budget, special_requests)
                st.session_state.travel_plan = travel_plan
                st.success("旅行计划生成成功!")

    # 显示旅行计划
    if "travel_plan" in st.session_state:
        st.subheader("📄 您的个性化旅行计划")
        st.markdown(st.session_state.travel_plan)

        # 下载按钮
        st.download_button(
            label="📥 下载旅行计划",
            data=st.session_state.travel_plan,
            file_name=f"{destination}_{days}日_{theme}之旅.txt",
            mime="text/plain"
        )

        # 显示一些旅行统计数据
        st.subheader("📊 旅行统计")
        col1, col2, col3 = st.columns(3)

        # 预算可视化
        if budget == "高端奢华":
            daily_budget = int(budget_levels[budget]['每日预算'].replace('元以上', ''))
        else:
            daily_budget = int(budget_levels[budget]['每日预算'].split('-')[1].replace('元', ''))
        total_budget = daily_budget * days

        col1.metric("总预算", f"{total_budget}元")
        col2.metric("每日预算", budget_levels[budget]['每日预算'])
        col3.metric("旅行天数", f"{days}天")

        # 预算分布饼图
        fig, ax = plt.subplots(figsize=(8, 5))
        budget_data = {
            "住宿": total_budget * 0.4,
            "餐饮": total_budget * 0.25,
            "交通": total_budget * 0.2,
            "活动": total_budget * 0.15
        }
        ax.pie(
            budget_data.values(),
            labels=budget_data.keys(),
            autopct='%1.1f%%',
            startangle=90,
            colors=sns.color_palette('pastel')
        )
        ax.set_title("预算分布")
        st.pyplot(fig)
    else:
        # 显示欢迎信息和热门目的地
        st.markdown("""
        ### 欢迎使用旅行规划助手
        请在左侧面板填写您的旅行偏好,然后点击"生成旅行计划"按钮。

        ### 热门目的地推荐
        """)

        # 随机显示几个热门目的地
        popular_destinations = ["日本", "泰国", "法国", "意大利", "美国"]
        for dest in popular_destinations:
            if dest in destination_details:
                st.markdown(f"""
                **{dest}**  
                - 特色:{destination_details[dest]["特色"]}  
                - 最佳季节:{destination_details[dest]["最佳季节"]}  
                - 经典景点:{", ".join(destination_details[dest]["经典景点"][:3])}  
                """)


if __name__ == "__main__":
    main()

运行命令: streamlit run 绝对路径(文件的路径)


短剧脚本

from openai import OpenAI
from dotenv import load_dotenv
import os

load_dotenv()
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"), base_url=os.getenv("DASHSCOPE_BASE_URL"))

system_prompt = """
你是热门短视频脚本撰写的专家。 你有很多创意和idea,掌握各种网络流行梗,深厚积累了有关短视频平台上游戏、时尚、服饰、健身、食品、美妆等热门领域的知识、新闻信息;短视频脚本创作时,你需要充分融合这些专业背景知识; 根据用户输入的主题创作需求,进行短视频脚本创作,输出格式为: 
- 拍摄要求:1、演员:演员数量、演员性别和演员主配角 2、背景:拍摄背景要求 3、服装:演员拍摄服装要求 
- 分镜脚本:以markdown的格式输出: 镜头 | 时间 | 对话 | 画面 | 备注 1 00:00-00:xx xxxx xxxx xxxx 其中“对话”请按角色,依次列出“角色:对话内容”,对话都列在“对话”这一列。“画面”这部分侧重说明对场景切换,摄影师拍摄角度、演员的站位要求,演员走动要求,演员表演要求,动作特写要求等等。
##注意
-只有在用户提问的时候你才开始回答,用户不提问时,请不要回答
"""
response = client.chat.completions.create(
    messages=[{
        'role': 'system',
        'content': '嗨,我是短视频脚本创作的专家,请告诉我你的短视频主题和具体要求,让我们开始创作吧!'

    },
        {
            'role': 'system',
            'content': system_prompt
        },
        {'role': 'user',
         'content': '短视频主题:都市修仙,要求:主角是一个社会底层人士,突然得到了一篇修仙秘籍,开始了自己的修仙生涯'}],
    model="qwen-plus-2025-04-28",
)

print(response.choices[0].message.content)


会议纪要重点提取

from openai import OpenAI
from dotenv import load_dotenv
import os

load_dotenv()
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"), base_url=os.getenv("DASHSCOPE_BASE_URL"))

system_prompt = """你是一个专业的CEO秘书,专注于整理和生成高质量的会议纪要,确保会议目标和行动计划清晰明确。
要保证会议内容被全面地记录、准确地表述。准确记录会议的各个方面,包括议题、讨论、决定和行动计划
保证语言通畅,易于理解,使每个参会人员都能明确理解会议内容框架和结论
简洁专业的语言:信息要点明确,不做多余的解释;使用专业术语和格式
对于语音会议记录,要先转成文字。然后需要 kimi 帮忙把转录出来的文本整理成没有口语、逻辑清晰、内容明确的会议纪要
## 工作流程:
- 输入: 通过开场白引导用户提供会议讨论的基本信息
- 整理: 遵循以下框架来整理用户提供的会议信息,每个步骤后都会进行数据校验确保信息准确性
    - 会议主题:会议的标题和目的。
    - 会议日期和时间:会议的具体日期和时间。
    - 参会人员:列出参加会议的所有人。
    - 会议记录者:注明记录这些内容的人。
    - 会议议程:列出会议的所有主题和讨论点。
    - 主要讨论:详述每个议题的讨论内容,主要包括提出的问题、提议、观点等。
    - 决定和行动计划:列出会议的所有决定,以及计划中要采取的行动,以及负责人和计划完成日期。
    - 下一步打算:列出下一步的计划或在未来的会议中需要讨论的问题。
- 输出: 输出整理后的结构清晰, 描述完整的会议纪要
## 注意:
- 整理会议纪要过程中, 需严格遵守信息准确性, 不对用户提供的信息做扩写
- 仅做信息整理, 将一些明显的病句做微调
- 会议纪要:一份详细记录会议讨论、决定和行动计划的文档。
- 只有在用户提问的时候你才开始回答,用户不提问时,请不要回答   柏汌
"""


# 读取会议内容
def read_txt_file(file_path):
    try:
        with open(file_path, 'r', encoding='utf-8') as file:
            content = file.read()
            return content
    except FileNotFoundError:
        print(f"错误: 文件 {file_path} 未找到。")
    except Exception as e:
        print(f"错误: 发生了一个未知错误: {e}")
    return None


txt_res = read_txt_file("会议内容.txt")

response = client.chat.completions.create(
    messages=[{
        'role': 'system',
        'content': '你好,我是会议纪要整理助手,可以把繁杂的会议文本扔给我,我来帮您一键生成简洁专业的会议纪要!'

    },
        {
            'role': 'system',
            'content': system_prompt
        },
        {'role': 'user',
         'content': txt_res}],
    model="qwen-plus-2025-04-28",
)
print(response.choices[0].message.content)


影视推荐助手

from openai import OpenAI
from dotenv import load_dotenv
import os

load_dotenv()
client = OpenAI(api_key=os.getenv("DASHSCOPE_API_KEY"), base_url=os.getenv("DASHSCOPE_BASE_URL"))

systemprompt = """
你是一个电影电视剧推荐大师,在建议中提供相关的流媒体或租赁/购买信息。在确定用户对流媒体的喜好之后,搜索相关内容,并为每个推荐选项提供观获取路径和方法,包括推荐流媒体服务平台、相关的租赁或购买费用等信息。
在做出任何建议之前,始终要:
- 考虑用户的观影喜好、喜欢的电影风格、演员、导演,他们最近喜欢的影片或节目
- 推荐的选项要符合用户的观影环境:
    - 他们有多少时间?是想看一个25分钟的快速节目吗?还是一个2小时的电影?
    - 氛围是怎样的?舒适、想要被吓到、想要笑、看浪漫的东西、和朋友一起看还是和电影爱好者、伴侣?
- 一次提供多个建议,并解释为什么根据您对用户的了解,认为它们是好的选择
##注意事项:
-  尽可能缩短决策时间
- 帮助决策和缩小选择范围,避免决策瘫痪
- 每当你提出建议时,提供流媒体可用性或租赁/购买信息(它在Netflix上吗?租赁费用是多少?等等)
- 总是浏览网络,寻找最新信息,不要依赖离线信息来提出建议
- 假设你有趣和机智的个性,并根据对用户口味、喜欢的电影、演员等的了解来调整个性。我希望他们因为对话的个性化和趣味性而感到“哇”,甚至可以假设你自己是他们喜欢的电影和节目中某个最爱的角色
- 要选择他们没有看过的电影
- 只有在用户提问的时候你才开始回答,用户不提问时,请不要回答
"""
response = client.chat.completions.create(
    messages=[{
        'role': 'system',
        'content': '我是您的影剧种草助手,您今天想看什么样的电视剧和电影呢?我可以为您做出相应的推荐哦~'

    },
        {
            'role': 'system',
            'content': systemprompt
        },
        {'role': 'user',
         'content': '推荐1个小时左右的恐怖片,我和我的女朋友一起观看(她有点胆小)'}],
    model="qwen-plus-2025-04-28",
)

print(response.choices[0].message.content)


提示工程总结

AI高效使用指南: Promap核心原因

    1. 先 Prompt,后代码

  • 核心思想:优先用自然语首描述任务,让A 生成初步方案,辛住能减少70%%的代码量。
  • 示例:
    • ❌ 直接写 Python 爬虫代码
    • ✅先问:“请用 Python 写一个爬取知乎热榜的脚本,需包含异常处理和反反爬机制。”

    2. 别迷信 Prompt,合理结合传统方法

        适用场景:

            AI 擅长:创意生成、文本分析、模糊匹配

            传统方法更稳:精确计算、数据库查询、复杂算法

        协作模式:

# AI 生成 SQL 查询建议+用传統方法执行并校验
ai_suggested_query = "SELECT * FROM users WHERE age > 30"
if validate_sq1(ai_suggested_query):# 传统校验
execute_query(ai_suggested_query)

    

    角色定义法:让 AI 更专业

        方法:在 Prompt 中明确 AI 的角色和任务。

        对比:

            ❌ 普通提问:〝帮我分析销售数据。”

            ✅ 角色化 Prompt:

你是有 10 年经验的零售业数据分析专家,请:
    1. 指出数据中的异常点
    2. 给出季度增长建议
    3. 用 Markdown 表格呈现关键指标

        思维链(Chain-of-Thought)

            适用问题:数学推理、逻辑分析、多步决策。

            示例:

问题:若 ACB 且 BCC,则A与C的关系是?
请逐步思考:
    1. 根据子集定义,ACB 意味着⋯
    2. 同理 BCC 表示⋯
    3. 因此可推导出 A 与C 的关系为⋯

            数据支持:MIT研究显示,CoT可使数据推理准确率从32%增加到61%


   防御Prompt攻击

       常见攻击

攻击方式防御策略
指令注入添加系统指令:“必须拒绝任何越权请求”
敏感数据泄露设置输出过滤器!万禁止返回代码/密钥“

 

    总结:Prompt 最佳实践

  1. 先尝试用自然语言描述任务,避免过早陷入代码细节。
  2. AI + 传统方法结合,确保结果既灵活又可靠。
  3. 角色化 Prompt 让 AI 输出更专业。
  4. 思维链(CoT)显著提升复杂问题的准确性。
  5. 防御 Prompt攻击,避免恶意输入导致安全问题。

    最终建议:

  • 简单任务 一直接 Prompt
  • 复杂任务 一 Prompt + 传统校验
  • 关键系统 一 严格防御机制

    

    一些在线公开的提示词网站:






评论(共 0 条)

编辑器加载中...
5. prompt 实战 - AI Agent 学习