01 进入AI大门,学会与其交谈

閱讀時間約 11 分鐘

不用问我都知道,你们一定是被ChatGPT的火热出圈导致的开始关注人工智能,也是由于此才看到我这篇文章。

放心,大家想要的我一定会给予,既然大家都想先认识ChatGPT,那么我们就从这个主题开始。

接下来,我们学学如何利用openAI的API来和其沟通。在整个使用过程中,我们都使用的是GPT-3.5的大预言模型。

在本课程中,我们将回答许多问题,例如,OpenAI 的 API 能够实现哪些神奇的事情?OpenAI 的产品被称为已经离通用人工智能(AGI)不远了,它们长什么样子?GPT-3 这样的模型与之前基于深度学习的自然语言处理解决方案有什么不同?我们将通过逐步解释这些问题,使您深入了解这个令人兴奋的领域。

无论您是否是一名程序员,您都可以从本课程中学习如何使用 AI 技术,尤其是大型语言模型,为您的项目和业务提供价值。

基础工作

创建帐号和API Key

了开始学习本课程,您需要先注册一个可以使用 OpenAI 的 API 的账号。您可以通过注册入口进行注册。目前,OpenAI 尚未向中国大陆和香港地区开放,因此您需要自己寻找适当的解决方案进行注册。如果您有更好的解决方案,也欢迎在评论区分享。

raw-image

注册账号后,您需要点击右上角的账号,然后进入 "View API Keys" 页面管理 API Keys。

raw-image

您可以点击下方的 "+Create new secret key" 来创建一个新的 API Key。

raw-image

您需要将此 API Key 存储在一个安全的位置,因为在后续的 OpenAI 接口调用中,需要使用此 API Key。

raw-image

储存API Key留用这方便,我使用的是1Password,开了家庭版,很好用。

已绑卡

raw-image

关于绑卡这个事,可以自己在网上搜索看,办法总比问题多。不要找我,虽然我有渠道,但是我的渠道很贵,到时候说我骗人钱我可说不清楚。

搭建环境

既然是开发API应用,那必然是需要开发环境的。如果你自己会,那就最好不过了,如果不是太熟悉,可以参考一下我这篇文章:

这篇文章详细的介绍了在Mac内如何搭建AI环境,包括Tensorflow的安装等。

基本上,我们现在需要的是3.10 的Python环境,还有Conda(我习惯用这个),然后在本地安装好Jupyter lab, 如下:

conda create --name gpt python=3.10
conda activate gpt
conda install -c conda-forge jupyterlab ipywidgets openai

这一段命令的意思是创建一个名为 gpt的python 3.10的开发环境,然后切换到这个环境里,再安装必要的包。

在后面的使用过程中,当然你可以选择jupyter notebook, 也可以和我一样,使用VSCode。

raw-image

当然,你也可以选择Colab,其实这也是一个Jupyterlab,如果你不想本地搭建环境,那就直接使用Colab吧,不过注意一点,需要科学上网。就算你本地有环境,我还是建议你有些事后使用Colab,能用到一些免费的GPU资源,我的M1没有好的显卡支持,很多时候还是需要上Colab。

raw-image

使用时候,记得要安装openAI的库,并且设置自己的API Key:

!pip install openai
%env OPENAI_API_KEY="这里输入你的API Key"

测试一下

让我们现在开始依次写完这段代码,虽然截图内已经有了,但是还是让我们一步步来执行起来,这一段代码,并不是出自我之手,而且直接借鉴的徐文浩的代码:

import openai
import json

# 设定API Key和模型
openai.api_key = "输入你自己的代码"
COMPLETION_MODEL = "text-davinci-003"

# 设定关键词和描述
prompt = """
Consideration proudct : 工厂现货PVC充气青蛙夜市地摊热卖充气玩具发光蛙儿童水上玩具

1. Compose human readale product title used on Amazon in english within 20 words.
2. Write 5 selling points for the products in Amazon.
3. Evaluate a price range for this product in U.S.

Output the result in json format with three properties called title, selling_points and price_range
"""

# 写一个调用方法
def get_response(prompt):
completions = openai.Completion.create (
engine=COMPLETION_MODEL,
prompt=prompt,
max_tokens=512,
n=1,
stop=None,
temperature=0.0,
)
message = completions.choices[0].text
return message

# 调用方法并打印最终结果
print(get_response(prompt))

然后我们就可以看到返回了:

{
"title": "Glow-in-the-Dark Inflatable PVC Frog Night Market Hot Selling Water Toy for Kids",
"selling_points": [
"Made of durable PVC material",
"Glow-in-the-dark design for night play",
"Inflatable design for easy storage and transport",
"Perfect for water play and outdoor activities",
"Great gift for kids"
],
"price_range": "$10 - $20"
}

这段代码里面,我们调用了 OpenAI 的 Completion 接口,然后向它提了一个需求,也就是为一个我在 1688 上找到的中文商品名称做三件事情。

  1. 为这个商品写一个适合在亚马逊上使用的英文标题。
  2. 给这个商品写 5 个卖点。
  3. 估计一下,这个商品在美国卖多少钱比较合适。

同时,我们告诉 OpenAI,我们希望返回的结果是 JSON 格式的,并且上面的三个事情用 title、selling_points 和 price_range 三个字段返回。

神奇的是,OpenAI 真的理解了我们的需求,返回了一个符合我们要求的 JSON 字符串给我们。在这个过程中,它完成了好几件不同的事情。

第一个是翻译,我们给的商品名称是中文的,返回的内容是英文的。

第二个是理解你的语义去生成文本,我们这里希望它写一个在亚马逊电商平台上适合人读的标题,所以在返回的英文结果里面,AI 没有保留原文里有的“工厂现货”的含义,因为那个明显不适合在亚马逊这样的平台上作为标题。下面 5 条描述也没有包含“工厂现货”这样的信息。而且,其中的第三条卖点 “Inflatable design for easy storage and transport”,也就是作为一个充气的产品易于存放和运输,这一点其实是从“充气”这个信息 AI 推理出来的,原来的中文标题里并没有这样的信息。

第三个是利用 AI 自己有的知识给商品定价,这里它为这个商品定的价格是在 10~20 美元之间。而我用 “Glow-in-the-Dark frog” 在亚马逊里搜索,搜索结果的第一行里,就有一个 16 美元发光的青蛙。

最后是根据我们的要求把我们想要的结果,通过一个 JSON 结构化地返回给我们。而且,尽管我们没有提出要求,但是 AI 还是很贴心地把 5 个卖点放在了一个数组里,方便你后续只选取其中的几个来用。返回的结果是 JSON,这样方便了我们进一步利用返回结果。比如,我们就可以把这个结果解析之后存储到数据库里,然后展现给商品运营人员。

接下来,我们再看一个其他的例子:

prompt = """
Man Utd must win trophies, says Ten Hag ahead of League Cup final

请将上面这句话的人名提取出来,并用json的方式展示出来
"""

print(get_response(prompt))

得到输出结果:

{
"names": ["Ten Hag"]
}

看出AI干了什么吗?其实从中文中你能知道我需要AI做什么,而他完完全全输出了我想要的。

我们这里的两个例子,其实对应着很多不同的问题,其中就包括机器翻译、文本生成、知识推理、命名实体识别等等。在传统的机器学习领域,对于其中任何一个问题,都可能需要一个独立的机器学习模型。就算把这些模型都免费提供给你,把这些独立的机器学习模型组合到一起实现上面的效果,还需要海量的工程研发工作。没有一个数十人的团队,工作量根本看不到头。然而,OpenAI 通过一个包含 1750 亿参数的大语言模型,就能理解自然的语言输入,直接完成各种不同的问题。而这个让人惊艳的表现,也是让很多人惊呼“通用人工智能(AGI)要来了”的原因。

这两个例子虽然简单,但是咱们暂时先到此为止,记得课后好好练习。

  1. 请将今天课程中提供的示例代码,在你搭建的开发环境中运行一下。
  2. 你可以去看一下 OpenAI 提供的示例,找几个你感兴趣的用途,在上面的开发环境里运行体验一下,你也可以脑洞大开,尝试一些你想用 AI 解决的问题,看看 AI 能不能给出你想要的结果。

推荐阅读

推荐阅读如果你想知道 GPT 系列大模型到底是怎么回事儿,我推荐你去看一下李沐老师讲解 GPT 系列论文的视频 GPT、GPT-2、GPT-3 论文精读,这个视频深入浅出,能够让你理解为什么现在 GPT 那么火热。

9會員
62Content count
从基础开始,再到Python,然后是CV、BI、NLP等相关技术。从头到尾详细的教授一边人工智能。
留言0
查看全部
發表第一個留言支持創作者!
茶桁的沙龍 的其他內容
如果你想开始学习AI应用开发,那么在学习之前,有一些学前提醒需要注意。在当今AI爆发的时代,学习AI应用开发需要的学习方法和策略也发生了变化。本课程的目标是通过多尝试、多体验、多做头脑风暴的学习方法,帮助学生在短时间内掌握AI应用开发的基本技能。我们并不会传授过于深奥的数学和理论知识,而是会通过简单
整个系列课程内容虽然为自己所写,但是参考了bothub 创始人徐文浩的课程《AI 大模型之美》 人工智能是计算机科学领域中最具前瞻性和影响力的技术之一。它是一种智慧型算法,能够模拟人类的思维过程,处理大量的数据和信息,从而发现隐藏在其中的规律和趋势。人工智能的应用范围非常广泛,包括语音识别、图像识
如果你想开始学习AI应用开发,那么在学习之前,有一些学前提醒需要注意。在当今AI爆发的时代,学习AI应用开发需要的学习方法和策略也发生了变化。本课程的目标是通过多尝试、多体验、多做头脑风暴的学习方法,帮助学生在短时间内掌握AI应用开发的基本技能。我们并不会传授过于深奥的数学和理论知识,而是会通过简单
整个系列课程内容虽然为自己所写,但是参考了bothub 创始人徐文浩的课程《AI 大模型之美》 人工智能是计算机科学领域中最具前瞻性和影响力的技术之一。它是一种智慧型算法,能够模拟人类的思维过程,处理大量的数据和信息,从而发现隐藏在其中的规律和趋势。人工智能的应用范围非常广泛,包括语音识别、图像识
你可能也想看
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
當你獲得知名廣告代理商的錄取通知書,你真的做好準備了嗎?你知道將面臨的是什麼樣的世界嗎?
Thumbnail
如果讀聖經像開船,您最喜歡開到那一片海域? 讀聖經如果像開船一樣,可以開到大海裡去尋找寶藏,航行的旅途中最容易讓船隻擱淺繞不出來的前三名,利未記的海域應該算是其中之一。 假如,讀聖經如同用手機搜尋自己最想去的餐廳,預訂常去的餐廳名單中,利未記大概是較少人會去嚐鮮的餐廳。
Thumbnail
WEB3 雖然進入熊市還是有很多可以回顧,我個人嘗試了很多項目,比方說: 1.NFT、2.AI、3.遊戲,文末分享自己提供部分獎項的活動
Thumbnail
前言 記得本系列第一集就是從這個博物館開始,那時候談的是去世的英國女王。不過之後就有點將它擺在旁邊,專注在其他地方的故事。想不到一晃就已經發布三十集了,才不到四個月的時間,感到非常感謝大家的支持。 在加拿大有非常多的觀光景點推薦都是跟鐵路運輸有關。例如:散佈在不同地區的火車站、每年固定的秋季賞楓列
Thumbnail
前言 二零二二年九月份開始,因暑假旺季慢慢結束,身旁的事情也擺在一邊,於是兩人風塵僕僕駕駛租來的車,往魁北克省方向前進。 我事先安排好參觀行程,也準備相關休息時間及景點。不過人生就是如此,特地安排的不如突然的變化⋯⋯沒有專注在魁北克省其他城市,只為了早日到達終點站-魁北克市。 之前的文章,曾提到
Thumbnail
前言 從我們剛移民到現在,不只一次到過一棟奇怪形狀的大樓拍照,畢竟這座建築外觀非常突出及不一樣。 當時並沒有特別想要知道他的背景歷史,直到開始準備走進時空隧道系列後,不斷在自己過去攝影作品中,尋找一些靈感來源。 打從在2020年9月,在市中心附近上課時,不斷地可以在不同時段拍攝其外觀,從各個街道角度
Thumbnail
45歲這一年回顧前半生,才發現自己尋尋覓覓的原來只是一份平靜,如此簡單,如此難得。曾經多次嘗試親近佛法,屢敗。讀哲學、心理學、文學,想從中找到些許平靜,有些幫助,但依然海上飄搖,禁不起人間風雨。前年賣書捐書,送出去一本金剛經,此前翻閱過一陣子,卻總是讀不進,也不強求。
Thumbnail
我前陣子在 Linkedin 上看到一篇有趣的推文,表現軟體開發時,從企劃階段到實際成品的巨大落差。這是永遠無法解決的難題嗎?我分享過去做專案和產品的經驗,希望能帶給各位思考解法的參考。
Thumbnail
2021新年快樂!趁著幾天連假,我們回了台南一趟,享受著陽光、美食、當然還有孩兒最愛的夜市之旅。因為在北部,我們幾乎不帶孩兒們去夜市、但回台南總像度假,加上台南天天有夜市,我們怎能辜負這番美意呢。
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
當你獲得知名廣告代理商的錄取通知書,你真的做好準備了嗎?你知道將面臨的是什麼樣的世界嗎?
Thumbnail
如果讀聖經像開船,您最喜歡開到那一片海域? 讀聖經如果像開船一樣,可以開到大海裡去尋找寶藏,航行的旅途中最容易讓船隻擱淺繞不出來的前三名,利未記的海域應該算是其中之一。 假如,讀聖經如同用手機搜尋自己最想去的餐廳,預訂常去的餐廳名單中,利未記大概是較少人會去嚐鮮的餐廳。
Thumbnail
WEB3 雖然進入熊市還是有很多可以回顧,我個人嘗試了很多項目,比方說: 1.NFT、2.AI、3.遊戲,文末分享自己提供部分獎項的活動
Thumbnail
前言 記得本系列第一集就是從這個博物館開始,那時候談的是去世的英國女王。不過之後就有點將它擺在旁邊,專注在其他地方的故事。想不到一晃就已經發布三十集了,才不到四個月的時間,感到非常感謝大家的支持。 在加拿大有非常多的觀光景點推薦都是跟鐵路運輸有關。例如:散佈在不同地區的火車站、每年固定的秋季賞楓列
Thumbnail
前言 二零二二年九月份開始,因暑假旺季慢慢結束,身旁的事情也擺在一邊,於是兩人風塵僕僕駕駛租來的車,往魁北克省方向前進。 我事先安排好參觀行程,也準備相關休息時間及景點。不過人生就是如此,特地安排的不如突然的變化⋯⋯沒有專注在魁北克省其他城市,只為了早日到達終點站-魁北克市。 之前的文章,曾提到
Thumbnail
前言 從我們剛移民到現在,不只一次到過一棟奇怪形狀的大樓拍照,畢竟這座建築外觀非常突出及不一樣。 當時並沒有特別想要知道他的背景歷史,直到開始準備走進時空隧道系列後,不斷在自己過去攝影作品中,尋找一些靈感來源。 打從在2020年9月,在市中心附近上課時,不斷地可以在不同時段拍攝其外觀,從各個街道角度
Thumbnail
45歲這一年回顧前半生,才發現自己尋尋覓覓的原來只是一份平靜,如此簡單,如此難得。曾經多次嘗試親近佛法,屢敗。讀哲學、心理學、文學,想從中找到些許平靜,有些幫助,但依然海上飄搖,禁不起人間風雨。前年賣書捐書,送出去一本金剛經,此前翻閱過一陣子,卻總是讀不進,也不強求。
Thumbnail
我前陣子在 Linkedin 上看到一篇有趣的推文,表現軟體開發時,從企劃階段到實際成品的巨大落差。這是永遠無法解決的難題嗎?我分享過去做專案和產品的經驗,希望能帶給各位思考解法的參考。
Thumbnail
2021新年快樂!趁著幾天連假,我們回了台南一趟,享受著陽光、美食、當然還有孩兒最愛的夜市之旅。因為在北部,我們幾乎不帶孩兒們去夜市、但回台南總像度假,加上台南天天有夜市,我們怎能辜負這番美意呢。