代码实战带你入门Prompt与防护

一、引言

在人工智能的浪潮中,ChatGPT以其卓越的语言处理能力,成为引领变革的先锋。大语言模型(LLM)的快速发展,正逐步重塑我们的工作与生活方式。尽管AI无法取代人类的独特性,学会与AI和谐共存,已成为我们每个人必须面对的课题。

二、提示工程是什么

为了更高效地与大语言模型沟通,**提示工程(Prompt Engineering)**应运而生。它是一门艺术,也是一种科学,旨在指导我们如何精心设计问题,以激发AI的潜能。通过精通提示工程,我们可以将大语言模型转化为强大的通用工具,无论是自然语言处理、智能决策支持,还是其他领域,都能发挥其巨大的潜力,提升效率,降低成本,推动AI技术的广泛应用。

三、如何得到一个好的提示?

设想大模型是一个知识渊博却涉世未深的孩子,我们如何提问,才能获得满意的答案?首先,清晰、明确地表达问题是关键。大语言模型并不擅长处理人类的双关语或模糊表达,这也是为什么它们在面对谜语、笑话或网络梗时,常常显得无能为力。例如,ChatGPT讲的笑话可能并不好笑:

ChatGPT的冷笑话

每个模型本质上都是一个黑盒子,输入决定输出。我们可以明确地告诉大语言模型输入的内容和格式,并使用特定的标识符(如括号、引号等)来界定输入信息,这样可以帮助模型更准确地理解我们的意图。

对于输出,我们同样可以指定所需的内容格式,如编程中常见的JSON、HTML、XML等。这不仅提高了大语言模型的可编程性,也为我们将其集成到其他IT系统中提供了极大的便利。

// 示例:从一句话中提取信息并生成JSON格式的输出
{
   
  "input": "3月24日的深圳天气晴朗",
  "output": {
   "city": "深圳", "date": "0324"}
}

有时,直接给出样例比指定格式更能提高效果,尤其是在处理日期等数据时:

JSON格式输出

四、代码实战

我们选择的是国内领先的大模型——阿里的通义千问,它在综合评测中名列前茅,价格也不贵。

qwen-turbo,输入(input)价格:0.002元/1,000 tokens;输出(output)价格:0.006元/1,000 tokens。

4.1 官方demo

https://help.aliyun.com/zh/model-studio/developer-reference/tongyi-qianwen-quick-start

from http import HTTPStatus
import dashscope


def call_with_messages():
    messages = [{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': '请介绍一下通义千问'}]

    response = dashscope.Generation.call(
        dashscope.Generation.Models.qwen_turbo,
        messages=messages,
        result_format='message',  # 将返回结果格式设置为 message
    )
    if response.status_code == HTTPStatus.OK:
        print(response)
    else:
        print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
            response.request_id, response.status_code,
            response.code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程点滴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值