揭开ChatGPT面纱(1):准备工作(搭建开发环境运行OpenAI Demo)
文章目录
- 序言:探索人工智能的新篇章
- 一、搭建开发环境
- 二、编写并运行demo
- 1.代码
- 2.解析
- .执行结果
本博客的gitlab仓库:地址,本博客对应01文件夹。
序言:探索人工智能的新篇章
随着人工智能技术的飞速发展,ChatGPT作为其中的佼佼者,已经逐渐从实验室走向了公众视野。它不仅仅是一个简单的聊天机器人,而是代表了自然语言处理(LP)领域的前沿技术。在ChatGPT的帮助下,我们能够实现更自然、更智能的人机交互,这无疑为开发者和普通用户带来了全新的体验和可能性。
然而,对于许多初学者和爱好者来说,如何开始接触和使用ChatGPT,可能是一个令人望而却步的问题。从注册账号到搭建开发环境,再到利用线上平台如Google Colab进行实践,每一步都充满了挑战。本系列博客文章的目的就是揭开ChatGPT的神秘面纱,带你一步步走进这个充满魔力的AI世界。
在《揭开ChatGPT面纱(一):准备工作》中,我将从最基础的步骤开始,包括如何搭建一个适合的开发环境,以及如何编写一个OpenAI的Demo来快速体验ChatGPT的强大功能。
- 获取OpenAI的API Key:
在国内想要注册OpenAI是比较困难的,有的网站声称可以提供海外虚拟信用卡和海外手机号,这是不靠谱的,后续注册好了也可能会在使用过程中被封号,因此我了第三方(TB)来获得API Key。总之,这个步骤请自行解决。
一、搭建开发环境
首先,确保你已经在电脑上安装了conda,以下命令均是使用的conda创建的虚拟环境。
- 创建虚拟环境:
conda create -n openaidemo python==.10
# 激活
conda activate openaidemo
- 安装所需依赖:
pip install openai==1.6.1
二、编写并运行demo
我编写了一个可以和gpt.5进行单词对话的demo,代码如下:
from openai import OpenAI
import httpx
import json
# 读取配置,在上传gitlab时配置文件ignore了
with open( ../config/openai.json ) as config_file:
config = json.load(config_file)
# 根据你自己的情况更改代理地址(如果你开了VP就不用配这个)和API key
client = OpenAI(
base_url=config[ base_url ],
api_key=config[ key ],
http_client=httpx.Client(
base_url=config[ base_url ],
follow_redirects=True,
),
)
def get_respe(input):
completion = client.chat.completi.create(
model=gpt-.5-turbo,
messages=[
{role: system, content: You are a helpful assistant.},
{role: user, content: input}
]
)
message = completion.choices[0].message.content
return message
if __name__ == __main__:
user_input = input(我:)
generated_text = get_respe(user_input)
print(fAI:{generated_text})
这段代码使用了openai
库和httpx
库,目的是创建一个客户端来与一个自定义的OpenAI API服务进行交互,并使用该服务生成文本。下面是逐行解析:
-
from openai import OpenAI
:从openai
库中导入OpenAI
类。 -
import httpx
:导入httpx
库,这个库用于发送HTTP请求。 -
client = OpenAI(...)
:创建一个OpenAI
类的实例,配置了自定义的API基础URL和API密钥。这个实例将用于与OpenAI API服务进行交互。 -
base_url=https://...
:设置API的基础URL,这个URL指向一个第三方服务(代理)。 -
api_key=sk-...
:设置用于认证的API密钥。 -
http_client=httpx.Client(...)
:在创建OpenAI
实例时,传递一个httpx.Client
实例作为http_client
参数。这个httpx.Client
实例也被设置了相同的基础URL,并配置为跟随HTTP重定向。 -
follow_redirects=True
:配置httpx.Client
实例在发送请求时跟随HTTP重定向。 -
def get_respe(input):
:定义一个函数get_respe
,它接受一个字符串参数input
,这个字符串将作为输入提示传递给模型。 -
completion = (...)
:调用client
的方法来生成文本。传递的参数包括模型名称和消息列表。
-
model=gpt-.5-turbo
:指定使用的模型是gpt-.5-turbo
。 -
messages=[...]
:定义一个消息列表,包含两个字典,分别代表系统消息和用户输入。 -
{role: system, content: You are a helpful assistant.}
:系统消息,告诉模型扮演一个有帮助的助手角。 -
{role: user, content: input}
:用户消息,内容是函数参数input
的值。 -
message = [0].
:从生成的完成结果中获取第一个选择的消息内容。 -
return message
:返回获取的消息内容。 -
user_input = input(我:)
:如果作为主程序运行,从标准输入读取用户输入。 -
generated_text = get_respe(user_input)
:使用用户输入调用get_respe
函数来生成文本。 -
print(fAI:{generated_text})
:打印出由AI生成的文本。
至此,demo就成功地运行起来了。
#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
推荐阅读
留言与评论(共有 19 条评论) |
本站网友 分页样式 | 30分钟前 发表 |
input}:用户消息,内容是函数参数input的值 | |
本站网友 郭子睿 | 8分钟前 发表 |
//...:设置API的基础URL,这个URL指向一个第三方服务(代理) | |
本站网友 口腔崩解片 | 15分钟前 发表 |
本站网友 徐汇区 | 28分钟前 发表 |
completion = (...):调用client的方法来生成文本 | |
本站网友 吃什么缓解痛经 | 29分钟前 发表 |
) def get_respe(input) | |
本站网友 人中有痣 | 1分钟前 发表 |
message = [0].:从生成的完成结果中获取第一个选择的消息内容 | |
本站网友 南宁小区 | 26分钟前 发表 |
下面是逐行解析: from openai import OpenAI:从openai库中导入OpenAI类 | |
本站网友 沈丹高铁 | 24分钟前 发表 |
更智能的人机交互,这无疑为开发者和普通用户带来了全新的体验和可能性 | |
本站网友 mp3修复 | 27分钟前 发表 |
user_input = input(我:):如果作为主程序运行,从标准输入读取用户输入 | |
本站网友 刘昭华 | 27分钟前 发表 |
def get_respe(input) | |
本站网友 补血食谱 | 18分钟前 发表 |
config = json.load(config_file) # 根据你自己的情况更改代理地址(如果你开了VP就不用配这个)和API key client = OpenAI( base_url=config[ base_url ] | |
本站网友 狮山租房 | 15分钟前 发表 |
在《揭开ChatGPT面纱(一):准备工作》中,我将从最基础的步骤开始,包括如何搭建一个适合的开发环境,以及如何编写一个OpenAI的Demo来快速体验ChatGPT的强大功能 | |
本站网友 栖霞二手房 | 0秒前 发表 |
//...:设置API的基础URL,这个URL指向一个第三方服务(代理) | |
本站网友 风凰 | 6分钟前 发表 |
下面是逐行解析: from openai import OpenAI:从openai库中导入OpenAI类 | |
本站网友 文军信息 | 5分钟前 发表 |
更智能的人机交互,这无疑为开发者和普通用户带来了全新的体验和可能性 | |
本站网友 长春长生疫苗事件 | 9分钟前 发表 |
{role | |
本站网友 北京口腔医院第二门诊部 | 26分钟前 发表 |
user_input = input(我:) generated_text = get_respe(user_input) print(fAI:{generated_text}) 2.解析 这段代码使用了openai库和httpx库,目的是创建一个客户端来与一个自定义的OpenAI API服务进行交互,并使用该服务生成文本 | |
本站网友 新药临床试验 | 30分钟前 发表 |
print(fAI:{generated_text}):打印出由AI生成的文本 |