拥抱AI大模型之美,帮你探索ChatGPT大语言模型的能力(基础实战篇)

探索OpenAI 大语言模型的能力(基础篇)

说明:本文主要是通过一些小的案例,让你体验一下OpenAI提供的一些API,如果你连ChatGPT和OpenAI是什么都不知道,那么这篇文章可能不适合你,你可以划走了.

环境准备:

01.准备账号和APIKey

首先要注册一个ChatGPT账号,账号注册完成之后,打开地址:

https://platform.openai.com/account/api-keys.

然后点击 “API Keys”,就会进入一个管理 API Keys 的页面,继续点击你点击下面的 “+Create new secret key” 可以创建一个新的 API Key。

image-20230510134651453

输入key的名称,随便起个名字,然后点击create key

image-20230510135206301

生成API key 并保存

image-20230510135641871

02.保证你的账户有充足的余额

登录你的ChatGPT账号,打开地址查看:https://platform.openai.com/account/usage

image-20230510140116617

默认新注册的用户赠送5美金,没有余额的自己要想办法啦

03.开发环境搭建

你需要有一台可以访问ChatGPT的服务器,或者可以科学的上网并且成功访问到ChatGPT的工具.

具备这些条件之后,我们开始安装conda

介绍:Conda是一个开源的包管理工具和虚拟环境管理工具,可以在不同的平台上(如Windows、Linux和macOS)安装和管理不同版本的软件包和Python环境。Conda可以创建、导出、共享、修改和删除不同的环境,每个环境都可以安装不同版本的软件包和Python解释器。这使得在同一系统上同时使用不同版本的软件和Python环境变得容易,可以避免因不同版本的依赖冲突而导致的问题。

安装Conda:

首先去官网地址下载:https://docs.conda.io/en/latest/miniconda.html

选择你自己的平台下载

image-20230510150843458

具体安装教程省略,可以参考我之前写的如下:

linux 安装教程地址:https://blog.csdn.net/weixin_44621343/article/details/126005530

Windows安装教程:https://blog.csdn.net/weixin_44621343/article/details/120168347

04.创建虚拟环境和安装OpenAI包

安装好以后创建一个虚拟环境

conda create --name py310 python=3.10 

激活虚拟环境

conda activate py310

安装 openai 包

conda install -c conda-forge openai

一.测试体验OpenAI的API

尝试运行下面的代码,将api_key替换为你的

import openai
import os
api_key='你的api_key'
openai.api_key = api_key

COMPLETION_MODEL = "text-davinci-003" # text-davinci-003 是 OpenAI GPT-3 语言模型的一个变体,它是目前最先进的自然语言处理模型之一。它可以用于生成文本、回答问题、翻译语言、摘要提取和对话生成等任务,具有非常高的语言理解和生成能力。

prompt = """
思考问题 : 外响mp3学生随身听纯色运动插卡播放器带无屏内存卡全套批发礼品

1.在 20 个单词以内撰写淘宝上使用的人类阅读产品标题。
2.为淘宝上的产品写下5个卖点。
3.评估此产品在中国的价格范围

以 json 格式输出结果,其中包含三个属性,分别称为title、selling_points 和 price_range ,
"""

def get_response(prompt):
    """
    """
    try:
        # 调用了openai.Completion.create方法来请求OpenAI的API生成一个文本提示的响应
        completions = openai.Completion.create (
        engine=COMPLETION_MODEL, # 用于生成响应的OpenAI模型的名称或ID
        prompt=prompt,           # 请求生成响应的文本提示
        max_tokens=512,          # 请求生成的响应最大令牌数
        n=1,                     # 请求生成的响应数
        stop=None,               # 响应中的停止标记。当生成的响应中包含此字符串时,响应将被截断
        temperature=0.8,         # 控制生成的响应的创造性和多样性的值。  
    )
        message = completions.choices[0].text
    except Exception as e:
        print(e)
        message ="出错了,请求频率过高,API-Key无效,网络出现问题或者余额不足!"
    return message
response = get_response(prompt)
print(response)

如果没有问题的话运行处的结果如下:

{ 
    "title":"外响MP3学生随身听无屏内存播放器全套礼品", 
    "selling_points":["轻薄纯色设计","支持MP3音频播放","运动时无线自由插卡","内置大容量内存卡","支持多种文件格式"], 
    "price_range":"40-80元"
}

到这里,你已经学会调用OpenAI的API了

在上面的例子中,你有没有发现,你并没有指定输出中文,但是它根据的语意输出了中文,这是因为它能理解你的语义去生成文本

根据我们的要求把我们想要的结果,通过一个 JSON 结构化地返回给我们,还把卖点放在一个列表里面,非常的贴心

我们再来一个例子,

prompt = """
Tengger adaptation of the wings of angels, Zhang Fei think it is very good to hear

请将上面这句话的人名提取出来,并用json的方式展示出来
"""
response = get_response(prompt)
print(response)

输入结果为:

[
  {
    "name": "Tengger"
  },
  {
    "name": "Zhang Fei"
  }
]

可以看到,它能够准确的识别到人名,是不是有点激动,这里我们用到了机器学习的命名体识别

二.20 行代码帮你做情感分析

通过大语言模型来进行情感分析,官方提供了Embedding 这个 API。这个 API 可以把任何你指定的一段文本,变成一个大语言模型下的向量,也就是用一组固定长度的参数来代表任何一段文本。

这里我们以顾客的好评和差评为例,在这个方法分析一下两条在淘宝上购买了 MacBook Pro 用户的评论

image-20230510232940741

image-20230510233142467

首先试着运行下面的代码

import openai
from openai.embeddings_utils import cosine_similarity, get_embedding
OPENAI_API_KEY = '你的APIKey'
openai.api_key = OPENAI_API_KEY
EMBEDDING_MODEL = "text-embedding-ada-002"

positive_review = get_embedding("好评")
negative_review = get_embedding("差评")

positive_example = get_embedding("音质超级棒??操作丝滑,真是神仙笔记本")
negative_example = get_embedding("电脑性能:感觉不是原装,第一天刚到手就坏掉了,想要靠谱还是要正规店买,这个真的不行,应该是假货,或者组装货,视频为证,各种按操作都不好用,太坑了")

def get_score(sample_embedding):
  return cosine_similarity(sample_embedding, positive_review) - cosine_similarity(sample_embedding, negative_review)

positive_score = get_score(positive_example)
negative_score = get_score(negative_example)

print("好评例子的评分 : %f" % (positive_score))
print("差评例子的评分 : %f" % (negative_score))

在上述代码中,我们需要提前计算“好评”和“差评”这两个字的 Embedding向量。而对于任何一段文本评论,我们也都可以通过 API 拿到它的 Embedding。那么,我们把这段文本的 Embedding 和“好评”以及“差评”通过余弦距离(Cosine Similarity)计算出它的相似度。然后我们拿这个 Embedding 和“好评”之间的相似度,去减去和“差评”之间的相似度,就会得到一个分数。如果这个分数大于 0,那么说明我们的评论和“好评”的距离更近,我们就可以判断它为好评。如果这个分数小于 0,那么就是离差评更近,我们就可以判断它为差评。

ChatGPT 代码解释

这段代码使用了 OpenAI 的 API 来计算两个文本之间的语义相似度。首先,它使用了 openai.embeddings_utils 模块中的 cosine_similarity() 函数来计算两个嵌入向量之间的余弦相似度,其中 get_embedding() 函数用于获取输入文本的嵌入向量。然后,get_score() 函数使用正面评论和负面评论之间的余弦相似度差来计算文本的情感得分。最后,使用几个示例评论来演示代码的用法,并输出情感得分。

具体来说,这段代码做了以下事情:

  1. 导入必要的模块:openai 用于连接 OpenAI API
  2. 设置 OpenAI API 的密钥和嵌入模型,这里设置模型为。
  3. 使用 get_embedding() 函数获取正面和负面评论的嵌入向量。
  4. 使用 get_score() 函数计算示例评论的情感得分。
  5. 输出示例评论的情感得分。

通过这种方式,我们可以使用 OpenAI API 计算文本之间的相似度和评分,以帮助我们判断它们的情感和意义。

这里只是举个小例子,更多情感分析案例请自行探索。

三.巧用提示语

ChatGPT 上线至今,已经快 5 个月了,但是不少人还没真正掌握它的使用技巧。

其实,ChatGPT 的难点,在于 Prompt(提示词)的编写,OpenAI 创始人在今年 2 月时,在 Twitter 上说:能够出色编写 Prompt 跟聊天机器人对话,是一项能令人惊艳的高杠杆技能

因为从 ChatGPT 发布之后,如何写好 Prompt 已经成为了一个分水岭。熟练掌握 Prompt 编写的人,能够很快让 ChatGPT 理解需求,并很好的执行任务。

目前你在网上看到的所有 AI 助理、智能翻译、角色扮演,本质上还是通过编写 Prompt 来实现。

只要你的 Prompt 写的足够好,ChatGPT 可以帮你快速完成很多工作,包括写爬虫脚本、金融数据分析、文案润色与翻译等等,并且这些工作还做的比一般人出色。

为了帮助大家能更好的掌握 Prompt 工程,DeepLearning.ai 创始人吴恩达与 OpenAI 开发者 Iza Fulford 联手推出了一门面向开发者的技术教程:《ChatGPT 提示工程》。

banner

版权声明:
作者:淘小欣
链接:https://blog.taoxiaoxin.club/236.html
来源:淘小欣的博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
拥抱AI大模型之美,帮你探索ChatGPT大语言模型的能力(基础实战篇)
探索OpenAI 大语言模型的能力(基础篇) 说明:本文主要是通过一些小的案例,让你体验一下OpenAI提供的一些API,如果你连ChatGPT和OpenAI是什么都不知道,那么这篇文……
<<上一篇
下一篇>>