AI大模型时代下,我们也要学点大模型知识了。 前面我们简单实现了将GPT接入微信公众号: 【超详细!】Python微信公众号开发(4)- 手把手教你接入GPT,算是已经用过一点AI的知识了,浅尝辄止。 这还不够,为了不掉队(蹭热度),跟上时代的步伐,趁着现在大模型如此火爆,我们还是需要学习一下如何利用大模型来提高我们的工作效率或实现我们的需求。
Flag
立个flag,看能不能实现,欢迎大家监督!完全从0开始学,也欢迎大家一起。
- 该系列文章,力争80%都是实战,从实战中学习。
- 希望能涵盖到大模型的方方面面,例如:Prompt工程、Function Calling、Agent、Fine-tune、多模态等
- 学习使用目前比较火热的框架,如LangChain等
- 学习目前比较火热的开源项目,如MetaGPT、AutoGPT、XAgent等
开发环境
- 一台电脑(平常的笔记本就可以)
- Python 3.11
- OpenAI API > 1.0
本系列代码开发过程不再需要租服务器,只是学习的话,在自己常用的本地机器就可以运行。
不会搭Python环境的,可以去扒一扒我之前的文章,有详细的教程。
今天,我们先来开个篇,经典的入门"Hello World",让自己有个感觉。AI大模型的背景就不介绍了,网上一搜一大堆。
以下内容与 【超详细!】Python微信公众号开发(4)- 手把手教你接入GPT 前半部分重复,已经看过的,可以跳过,不用再浪费时间了,这里只是与微信公众号剥离一下,作为此系列的开篇。
0. OpenAI 环境
接入OpenAI,是通过调用OpenAI API的方式。在这之前,你首先需要一个OpenAI的Key。
0.1 OpenAI Key的获取
由于众所周知的原因,OpenAI是不对国内用户正式开放的。所以如果你想使用ChatGPT或调用OpenAI的接口,要么搭梯子翻墙,要么使用国内代理。
0.1.1 原生OpenAI Key的获取
这种方式就是搭梯子翻墙,去OpenAI官方注册账号,申请Key。网上教程很多,也很详细,但是也很繁琐。尤其是注册账号需要国外的手机号、需要特定的邮箱,这两个限制就堵死了绝大多数人的路。如果你想通过此种方式获取,本文不作详细教程,你可以参考以下文章:
0.1.2 使用国内代理
做OpenAI国内代理的很多,我这里使用的是DevAGI。别问为什么,也是被别人推荐的,也没有过其它的...... DevAGI用起来比较简单,它提供给你一个虚拟的API key,支持原生OpenAI的API,用起来和原生的没区别。 (1)注册DevAGI账号
- 去DevAGI官网注册
(2)登录后,点击"获取key"
(3)应该能看到你的Key了,首次注册应该会赠送一定的免费次数,用多了之后可能就需要花钱了...... 没办法,毕竟人家代理服务器也需要成本(自己搭梯子也要花钱,还不稳定......)。如果你有更好的方式,欢迎私信或评论告诉我,我也很想知道有没有白嫖的方式,毕竟比较穷......
1. 你的第一个OpenAI程序
有了key,让我们来真正开始自己的第一个OpenAI程序! (1)确保你已经有了Python环境可用,并在本地创建一个项目文件夹,名称最好为英文,无特殊字符。
(2)打开VSCode ---> 打开刚才创建的"文件夹"
(3)在项目文件夹里,创建一个名为 .env 的文件
(4)在.env文件中输入下列信息:
-
如果你是原生的OpenAI API Key,有科学上网的方法,则在.env文件中写:
bashOPENAI_API_KEY="sk-xxx" # <-------- 你的原生 OpenAI API Key
-
如果你是用我上面说的DevAGI平台的虚拟API Key,则在.env文件中写:
bashOPENAI_API_KEY="sk-xxx" # <-------- 你的原生 OpenAI API Key OPENAI_BASE_URL="https://api.fe8.cn/v1" # 注意:一个字母都不要错
.env文件的作用就是配置一些Key或URL或一些环境变量,在程序运行时通过 load_dotenv 加载。这样也避免了将一些重要的信息暴露在代码中。
(5)安装OpenAI相关库
bash
pip install python-dotenv openai
注意我这里安装到的openai版本为1.6.1,openai的接口在<1.0和>1.0的版本中有很大变化。
(6)新建一个文件名为"openai_test.py",填入以下代码:
python
from openai import OpenAI
# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
client = OpenAI()
response = client.chat.completions.create(
model="gpt-3.5-turbo-1106",
messages=[
{
"role": "user",
"content": "你是谁?"
}
],
)
print(response.choices[0].message.content)
(7)运行程序,结果如下说明运行成功。
以上这段代码的意思就是调用OpenAI的接口,发送"你是谁?",然后收到回复"我是一个AI助手,能为您提供帮助和回答您的问题。有什么我可以帮到您的吗?"
如果你遇到下面的错误:
说明你的原生OpenAI Key没有科学上网,无法链接OpenAI网络。或者你的DevAGI的.env文件中的虚拟Key和Base没有配置对。请仔细检查。
从今天开始,持续学习,开始搞事情。踩坑不易,欢迎关注我,围观我!
有任何问题,欢迎+vx:jasper_8017,我也是个小白,期待与志同道合的朋友一起讨论,共同进步!