代码实战带你入门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

相关推荐

  1. 手把手实现进程池~~

    2024-07-15 04:36:03       35 阅读
  2. ClickHouse入门篇:一文学习ClickHouse

    2024-07-15 04:36:03       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 04:36:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 04:36:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 04:36:03       58 阅读
  4. Python语言-面向对象

    2024-07-15 04:36:03       69 阅读

热门阅读

  1. 【学习笔记】Redis学习笔记——第11章 AOF持久化

    2024-07-15 04:36:03       23 阅读
  2. LeetCode 219. 存在重复元素 II

    2024-07-15 04:36:03       23 阅读
  3. 实验05 单元测试

    2024-07-15 04:36:03       23 阅读
  4. Hash表以及put方法源码的分析

    2024-07-15 04:36:03       21 阅读
  5. 対日開発(錬体境から金丹境まで)

    2024-07-15 04:36:03       17 阅读
  6. 用python实现反向输出链表

    2024-07-15 04:36:03       27 阅读
  7. 如何评价一个AI系统

    2024-07-15 04:36:03       21 阅读
  8. 查找运行中 sql中bind variable value 绑定变量值

    2024-07-15 04:36:03       22 阅读
  9. appium 实战问题 播放视频时无法定位到元素

    2024-07-15 04:36:03       28 阅读