【ChatGPT】一文教你怎么编写清晰有效的(Prompt)提示词~(三)

简介: 【ChatGPT】一文教你怎么编写清晰有效的(Prompt)提示词~(三)

4.4 写ChatGPT提示时应避免的常见错误

写有效的 ChatGPT Prompt 需要仔细考虑并注意细节。然而,很容易犯错误,这可能会妨碍你的提示的有效性和对话的整体质量。以下是制作ChatGPT提示时要避免的几个常见错误:

  1. 在提示中加入过多的信息 —— 为 ChatGPT 提供足够的信息以了解对话的背景和目的是很重要的,但是过多的信息会让人不知所措和困惑。一定要保持你的提示简洁和集中,避免包括不必要的细节或指示。
  2. 使用行话或模棱两可的语言 —— 使用清晰易懂的语言很重要,尤其是在与 ChatGPT 这样的机器学习模型交流时。避免使用行话或可能对 ChatGPT 不熟悉或有歧义的语言。
  3. 过于模糊或开放式 —— 尽管开放式问题对于鼓励更详细的回答很有帮助,但过于模糊或开放式的提示会让人困惑,并且让 ChatGPT 难以理解。要确保提供足够的背景和方向,以有意义的方式引导对话。
  4. 忽略了必要的指示或约束 —— 为 ChatGPT 提供任何必要的指示或约束是很重要的,这样才能使对话有效。例如,如果你想让ChatGPT扮演一个特定电影或书籍中的人物,你应该在提示中说明。

在制作 ChatGPT 提示时,重要的是要避免包含过多的信息或使用过于开放的问题,因为这些会让 ChatGPT 感到困惑和难以理解。以下是避免这些陷阱的一些策略:

  • 使用具体的、有针对性的问题,而不是开放式的问题 —— 不要问一个广泛的、开放式的问题,如 "你对这个话题有什么看法?",试着问一个更具体的问题,集中在话题的某一方面。例如,"这种方法的主要好处是什么?"或 "你认为这种方法有什么挑战?"
  • 简明扼要,切中要害 —— 避免在你的提示中包括不必要的细节或指示。坚持基本信息,避免漫无边际或偏离主要话题。
  • 使用清晰、简明的语言 —— 仔细选择你的词语,避免使用专业术语或模棱两可的语言。一定要使用容易让 ChatGPT 理解的语言。

遵循这些提示,你可以帮助确保您的 ChatGPT 提示清晰、简明、有效,并使对话顺利、自然。

5、来试试?

image.png
古语云:“纸上得来终觉浅,绝知此事要躬行”,上面花了几千字说得神乎其技,真的有用吗?于是乎,Let me have a try! 我用上面的技巧随便编写了一个简单的 chatGPT Prompt

我希望你充当一个资深的前端开发者,教我用TypeScript写一个基于axios的接口请求方法,这个方法必须要包含请求和相应拦截。

I want you to be an experienced front-end developer and teach me how to write an Axios-based interface request method in TypeScript, which must include request intercept and response intercept.

image.png
这是完整的答案,我将其翻译成了中文,以便阅读:

当然,这里有一个使用请求和响应拦截器在 TypeScript 中编写基于 Axios 的接口请求方法的示例:

import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
interface ApiResponse<T> {
  success: boolean;
  data: T;
  message: string;
}
class ApiService {
  private axiosInstance: AxiosInstance;
  constructor(baseURL: string, headers: Record<string, string>) {
    this.axiosInstance = axios.create({
      baseURL,
      headers,
    });
    // Add a request interceptor
    this.axiosInstance.interceptors.request.use(
      (config: AxiosRequestConfig) => {
        // Do something before request is sent
        console.log(`Request sent to ${config.url}`);
        return config;
      },
      (error) => {
        // Do something with request error
        return Promise.reject(error);
      }
    );
    // Add a response interceptor
    this.axiosInstance.interceptors.response.use(
      (response: AxiosResponse<ApiResponse<any>>) => {
        // Do something with response data
        console.log(`Response received from ${response.config.url}`);
        if (!response.data.success) {
          throw new Error(response.data.message);
        }
        return response.data.data;
      },
      (error) => {
        // Do something with response error
        console.error(`Error occurred while receiving response: ${error.message}`);
        return Promise.reject(error);
      }
    );
  }
  public async get<T>(url: string, config?: AxiosRequestConfig): Promise<T> {
    const response = await this.axiosInstance.get<ApiResponse<T>>(url, config);
    return response;
  }
  public async post<T>(url: string, data: any, config?: AxiosRequestConfig): Promise<T> {
    const response = await this.axiosInstance.post<ApiResponse<T>>(url, data, config);
    return response;
  }
  public async put<T>(url: string, data: any, config?: AxiosRequestConfig): Promise<T> {
    const response = await this.axiosInstance.put<ApiResponse<T>>(url, data, config);
    return response;
  }
  public async delete<T>(url: string, config?: AxiosRequestConfig): Promise<T> {
    const response = await this.axiosInstance.delete<ApiResponse<T>>(url, config);
    return response;
  }
}
export default ApiService;

让我们逐步分析代码:

  1. 首先,我们导入 Axios 及其类型,以及将用作 API 请求的响应类型的 ApiResponse 接口。
  2. 接下来,我们定义一个名为“ApiService”的类,它将负责向我们的 API 发出请求。构造函数采用两个参数:API 的“baseURL”和应随每个请求发送的“headers”
  3. 在构造函数中,我们使用传入的 baseURLheaders 创建了一个 Axios 实例。我们还定义了两个拦截器:一个用于请求,一个用于响应。
  4. 请求拦截器使用 axiosInstance.interceptors.request.use 定义。它需要一个函数,该函数将在发送每个请求之前调用,并且可以修改请求配置对象。在此示例中,我们只是将请求的 URL 记录到控制台。
  5. 响应拦截器使用 axiosInstance.interceptors.response.use 定义。它有两个功能:一个用于成功响应,一个用于错误。成功的响应函数以响应对象为参数,必要时可以修改响应数据或抛出错误。在此示例中,我们将响应的 URL 记录到控制台,并使用 ApiResponse 接口的 success 属性检查响应是否成功。如果不成功,我们会使用 ApiResponsemessage 属性抛出错误。如果请求失败,将调用错误函数,我们只需将错误记录到控制台即可。
  6. 接下来,我们定义四种发出请求的方法:getpostputdelete。每个方法都接受一个 URL、可选数据和可选配置对象,并返回一个包含响应数据的 Promise。 Promise 使用“T”类型参数进行类型化,该参数用作“ApiResponse”的“数据”属性的类型。
  7. 最后,我们导出 ApiService 类,以便它可以在我们应用程序的其他部分使用。

要使用 ApiService,您首先要使用要使用的 baseURLheaders 创建一个实例,如下所示:

const apiService = new ApiService('https://example.com/api', {
  Authorization: 'Bearer YOUR_TOKEN_HERE',
});

然后,您可以在 apiService 实例上调用 getpostputdelete 方法来向您的 API 发出请求:

// GET request example
const data = await apiService.get<User[]>('/users');
console.log(data);
// POST request example
const newUser = { name: 'John Doe', email: 'john.doe@example.com' };
const createdUser = await apiService.post<User>('/users', newUser);
console.log(createdUser);
// PUT request example
const updatedUser = { id: 1, name: 'Jane Doe', email: 'jane.doe@example.com' };
const savedUser = await apiService.put<User>('/users/1', updatedUser);
console.log(savedUser);
// DELETE request example
const deletedUser = await apiService.delete<User>('/users/1');
console.log(deletedUser);

我希望这个例子能帮助你理解如何使用请求和响应拦截器在 TypeScript 中编写基于 Axios 的接口请求方法!

NB!image.png

相关文章
|
3月前
|
人工智能 自然语言处理 搜索推荐
揭秘ChatGPT的Prompt方法:原理与应用总结
揭秘ChatGPT的Prompt方法:原理与应用总结
92 0
|
3月前
|
自然语言处理
ChatGPT Prompt顶级思维框架:LangGPT
ChatGPT作为当前最先进的对话生成模型,能够满足各种文本生成需求。然而,要充分利用其强大的功能,合理而全面的指令设置(Prompt Engineering)是关键。 今天,我要与大家分享一种名为“LangGPT”的思维框架,它可以帮助你更有效地构建ChatGPT的提示词。
|
4天前
|
人工智能 分布式计算 自然语言处理
ChatGPT 等相关大模型问题之建设一个prompt平台来提升业务效率如何解决
ChatGPT 等相关大模型问题之建设一个prompt平台来提升业务效率如何解决
|
7天前
|
算法 搜索推荐 开发者
ChatGPT Prompt 的神秘巅峰:LangGPT 框架震撼登场,改变一切!
【8月更文挑战第13天】在数字化时代,ChatGPT 以卓越的语言处理能力成为焦点。通过掌握如 LangGPT 的有效思维框架,可显著提升与其交互的质量。关键在于明确问题、精确指令及详述期望输出。例如,撰写推广文案时具体说明产品特点与风格要求;寻求代码帮助时指定算法与语言。这些实践能最大化挖掘 ChatGPT 的潜力,为工作生活带来创新与便利。
20 2
|
1月前
ChatGPT提问提示指南PDF下载经典分享推荐书籍,让你做好prompt工程
**掌握ChatGPT提问艺术:本书提供有效互动策略,教你构造精准提示获取专业答案。适用于各层次用户,通过实例解析提示工程,驱动模型生成定制化文本。[PDF下载](https://zhangfeidezhu.com/?p=335)**
64 0
ChatGPT提问提示指南PDF下载经典分享推荐书籍,让你做好prompt工程
|
3月前
|
人工智能 搜索推荐 API
一个查看 ChatGPT 自身使用内置 Prompt 的小技巧
一个查看 ChatGPT 自身使用内置 Prompt 的小技巧
|
11月前
|
人工智能 自然语言处理
Prompt:让你的ChatGPT更聪明
通过以前的了解,我们知道,chatgpt是基于prompt(提示词)进行内容生成的,那么,什么是prompt,它又有什么样的作用,我们又该如何使用呢?今天的文章就带你来了解一下。
|
数据采集 机器学习/深度学习 数据挖掘
提升ChatGPT性能的实用指南:Prompt Engineering的艺术
一起探索 Prompt Engineering 的奥秘,并学习如何用它来让 ChatGPT 发挥出最大的潜力。 什么是提示工程? 提示工程是一门新兴学科,就像是为大语言模型(LLM)设计的"语言游戏"。通过这个"游戏",我们可以更有效地引导 LLM 来处理问题。只有熟悉了这个游戏的规则,我们才能更清楚地认识到 LLM 的能力和局限。 这个"游戏"不仅帮助我们理解 LLM,它也是提升 LLM 能力的途径。有效的提示工程可以提高大语言模型处理复杂问题的能力(比如一些数学推理问题),也可以提高大语言模型的扩展性(比如可以结合专业领域的知识和外部工具,来提升 LLM 的能力)。
291 0
提升ChatGPT性能的实用指南:Prompt Engineering的艺术
更好地提问ChatGPT_常用prompt表
更好地提问ChatGPT_常用prompt表
299 0
|
机器学习/深度学习 人工智能 自然语言处理
LLM 系列 | 09:吴恩达ChatGPT Prompt课程实践:以智能客服邮件为例
主要介绍如何用ChatGPT进行文本扩展,并以如何根据客户评价和情感撰写自定义电子邮件为例详细说明。