赞
踩
目录
吴恩达和openai团队共同开发了一款免费的课程,课程是教大家如何更有效地使用prompt来调用chatgpt,整个课程时长1个半小时,也提供了对应的环境和代码,大家可以去学习。
课程链接:ChatGPT Prompt Engineering for Developers - DeepLearning.AI
(小伙伴也可以在B站自行搜索,有搬运的视频)
推荐重点看下一、二和代码的demo,其他的是一些case,对我来说价值没那么大
步骤:
后面的几节课给出了如何使用prompt+chatgpt完成一些常见的NLP任务。基本实例如下,每节课根据目标不同,prompt也要做出相应的修改。
- import openai
- import os
-
- from dotenv import load_dotenv, find_dotenv
- _ = load_dotenv(find_dotenv()) # read local .env file
-
- openai.api_key = os.getenv('OPENAI_API_KEY')
-
-
- def get_completion(prompt, model="gpt-3.5-turbo", temperature=0):
- messages = [{"role": "user", "content": prompt}]
- response = openai.ChatCompletion.create(
- model=model,
- messages=messages,
- temperature=temperature,
- )
- return response.choices[0].message["content"]
-
-
- prompt = f"""
- Translate the following English text to Spanish: \
- ```Hi, I would like to order a blender```
- """
- response = get_completion(prompt)
- print(response)

给出的例子是让chatgpt总结用户的评论,
后续修改prompt,让它为物流、定价部门总结评论,那对应的结果也会不同
现在可以用chatgpt+prompt做一些文本分类的任务,并且效果还不错
- from redlines import Redlines
-
- diff = Redlines(text,response)
- display(Markdown(diff.output_markdown))
这里介绍了温度,一个模型参数,用以改变模型响应的多样性的。
温度越高,随机性越大。当需要构建一个可靠和可预测的系统时,温度应当为0。当需要更有创意的方式使用模型时,可以使用更高的温度。
调用方式也很简单,在之前的函数中传递temperature参数。
response = get_completion(prompt, temperature=0.7)
之前的任务中,都是单一消息,单一回复。而在对话机器人中,会有多轮对话,且有多个角色。
一般来说,会有以下三个角色:
system:提供了整体的指导方针,比如告诉chatgpt,它是一个助手。用以引导助手,用户感知不到它的存在。
assistant:在我们的感知中,就是chatgpt
user:就是使用者,提出问题,使用prompt的人
可以使用system message让助手扮演某种角色,比如教授小学生的老师。
调用代码:
- def get_completion_from_messages(messages, model="gpt-3.5-turbo", temperature=0):
- response = openai.ChatCompletion.create(
- model=model,
- messages=messages,
- temperature=temperature, # this is the degree of randomness of the model's output
- )
- # print(str(response.choices[0].message))
- return response.choices[0].message["content"]
-
-
- messages = [
- {'role':'system', 'content':'You are an assistant that speaks like Shakespeare.'},
- {'role':'user', 'content':'tell me a joke'},
- {'role':'assistant', 'content':'Why did the chicken cross the road'},
- {'role':'user', 'content':'I don\'t know'} ]
-
- response = get_completion_from_messages(messages, temperature=1)
- print(response)

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。