提示词工程实践(一) #110
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#110
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
什么是提示词工程?
提示词工程(Prompt Engineering)是指在自然语言处理(NLP)和生成式模型(如GPT等大语言模型)中,通过设计、调整和优化输入的“提示词”(prompt),以获得所需输出的一种技术和实践方法。
核心概念
大语言模型通过接收一段输入文本(提示词),然后基于该输入生成或完成文本。提示词工程的目标是设计出能够引导模型产生准确、相关、符合预期输出的提示词。由于大语言模型的强大泛化能力,输入的提示词对模型的行为影响很大,因此如何编写和优化提示词成为了一个重要的实践领域。
提示词工程的技巧
主要应用场景
这里我们接国产大模型的API,以text2SQL为场景,使用提示词来进行引导,观察测试结果。
API-KEY准备
这里使用智普ai的GLM4模型(General Language Model 4,通用语言模型第四代)来进行测试。
智普 AI:智普AI官网
申请完毕后,可以对环境变量进行设置:export ZHIPUAI_API_KEY=xxx_xxx
调用大模型进行测试
环境变量设置
注意在平台中调用API需要使用互联网,在这里需要设置如下环境变量:
1.
**HF_HOME**
:指定 Hugging Face 的缓存目录路径。export HF_HOME=/code/huggingface-cache/
这意味着 Hugging Face 下载的模型、数据集等缓存文件会存储在
/code/huggingface-cache/
路径下。这样可以确保模型文件和其他资源不会重复下载,节省存储和带宽。2.
**HF_ENDPOINT**
:设置 Hugging Face 的镜像站点。export HF_ENDPOINT=https://hf-mirror.com
这个环境变量用于指定 Hugging Face 的 API 访问地址。你使用了一个镜像站点(
https://hf-mirror.com
),可能是为了加速模型和数据集的下载,尤其是在国内或特定网络环境下。3.
**http_proxy**
** 和 ****https_proxy**
:配置 HTTP 和 HTTPS 请求的代理服务器。export http_proxy=http://10.10.9.50:3000
export https_proxy=http://10.10.9.50:3000
这些设置告诉系统在进行 HTTP 和 HTTPS 请求时,使用位于
10.10.9.50:3000
的代理服务器。它们通常用于绕过防火墙、加快网络连接或在受限网络环境下访问外部资源。4.
**no_proxy**
:设置不使用代理的地址列表。``export no_proxy=localhost,127.0.0.1
这个变量指定了不通过代理访问的地址。这里的
localhost
和127.0.0.1
表示本地访问不走代理,这是为了避免代理干扰本地服务或开发环境的通信。调用GLM4
观察讲义中的代码的prompt部分,可以看到我们在提示词中进行了:
1.任务描述:
You are a powerful text-to-SQL model.
Your job is to answer questions about a database.
2.规定了任务的规则和目标
You are given a question and context regarding one or more tables.
You must output the SQL query that answers the question.
3.示例输入
Which Class has a Frequency MHz larger than 91.5, and a City of license of hyannis, nebraska?
4.上下文
CREATE TABLE table_name_12 (class VARCHAR, frequency_mhz VARCHAR, city_of_license VARCHAR)
上下文信息的作用是提供表结构,让模型能够根据字段名称和类型正确构建 SQL 查询。
找到文件所在的目录:
进入该目录,并运行代码:
发现生成的结果正确,完成国内大模型API调用结合提示词工程测试。
1.1提示词工程实践(一)to 提示词工程实践(一)