我们已经在昨天了解了在线大模型的一些参数的意义, 接下来我们要真正开始写代码来调用了.
使用普通客户端
我们这边使用 Cherry Studio 来作为客户端
我们下载后进行安装, 如果出现了下面的提示, 我们点击 Yes/是

之后如果出现这个页面, 现勾选, 再点击红框


我们全程下一步, 安装
之后我们需要去申请一个 API Key
前往 链接地址, 点击创建, 之后在下方完成身份信息的验证

我们之后勾选安心体验, 之后再一键开通所有模型

之后我们再点击 Step 1, 点击右边的眼睛, 将这个 API Key 保存备用
我们打开 Cherry Studio, 点击左下角的设置, 选中模型服务, 在列表中找到火山引擎, 在框中填入这个 API 密钥
之后打开右上角的开源使其显示未绿色 (下图未开启)

之后我们回到主页, 在上方即可切换模型

之后我们尝试发送一条消息, 检查有没有回复

可能到这一步很多人都觉得会多此一举, 但是这可以为我们之后的操作打下基础
尝试使用 Python 代码调用
我们将使用 Python 语言来调用在线大模型, 现在的在线大模型都支持 openai 的接口, 这样我们就可以使用 openai 统一的接口来调用不同厂商的模型.
本文中存在很多较为困难的操作, 可以多多问一下 AI
安装 Python 和 Visual Studio Code
这边简单带着安装一下, 我们下载 这个安装包
打开后勾选如下图, 然后点击 Install Now

打开命令提示符 (cmd)
之后我们按下 win+r, 输入 cmd 后回车, 打命令提示符.

检查 Python 安装
首先我们检查一下 Python 是否安装成功. 输入 python 后回车
如果出现这样的版本信息证明已经安装成功

如果我们要退出的话可以按下 Ctrl + Z 后回车即可
换源
首先为了加速下载, 我们需要进行一次换源:
重新重新打开一个命令提示符 (cmd), 之后输入
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
安装 OpenAI Python SDK
打开命令提示符(cmd, win+r 输入 cmd 回车),输入以下命令:
接下来,我们需要安装 OpenAI 的 Python SDK,以便在代码中调用在线大模型。可以使用以下命令进行安装:
pip install openai
如果并没有出现红色或者黄色的报错即为安装成功
如果你的 VS Code 配置好了的话你可以在 VS Code 中编写代码, 当然也可以使用 Python 内置的一个代码编辑器 IDLE, 他会在回车后执行代码, 或者我们也可以在 命令提示符中属于 python 进入交互式终端
我们使用以上任意方式运行 from openai import OpenAI, 如果没有报错证明安装成功
加载在线模型
我们需要新建一个 Client, 首先你需要运行以下代码:
首先我们需要先运行 from openai import OpenAI 导入 OpenAI 相关库, 之后便需要创建一个调用客户端
client = OpenAI(
base_url="https://ark.cn-beijing.volces.com/api/v3", # 这个是默认的, 不更改
api_key="68c6d0af-7fb9-4e84-9134-d93f643aa343", # !!! 这里填写你之前记下来的 API Key !!!
)
注意替换!
我们拿到了这个
client后便可以对这个 client 进行调用了, 对于类似于对话的, 这种属于补全模型, 我们使用
response = client.chat.completions.create(
model="doubao-seed-1-6-250615", # 模型的编号
messages=[
{
"role": "system",
"content": [
{"type": "text", "text": "给用户打招呼"},
],
},
{
"role": "user",
"content": [
{"type": "text", "text": "你好"},
],
},
],
)
messages 下依葫芦画瓢即可, 例如我可以多加一条 AI 回复的消息:
response = client.chat.completions.create(
model="doubao-seed-1-6-250615", # 模型的编号
messages=[
{
"role": "system", # 系统提示词
"content": [
{"type": "text", "text": "给用户打招呼"},
],
},
{
"role": "user", # 普通用户输入
"content": [
{"type": "text", "text": "你好"},
],
},
{
"role": "assistant", # AI 回复
"content": [
{"type": "text", "text": "你好, 很高兴认识你"},
],
},
{
"role": "user", # 普通用户输入
"content": [
{"type": "text", "text": "你叫什么名字"},
],
},
],
)
稍等片刻后, 我们就可以继续输入内容了, 这个时候我们输入:
print(response.choices[0])

就可以看到 AI 的回复了
实践1: 封装成 REPL
REPL: Read Execute Print Loop, 循环交互式程序
我们现在想要做到用户输入内容, AI 回复并再次让用户输入内容进行回复
如果没有 Python 基础可以了解下 Python 基础
我们首先分析问题:
- 我们需要让 AI 补全对话串
- 我们需要记住之前说了什么
于是我们可以使用一个列表来存储对话内容, 每次用户输入后都将其添加到列表中, 然后再将列表传入 client.chat.completions.create 方法中
我们使用 while True 来实现一个死循环, 让用户可以不断输入
通过 input 来获取用户输入, 之后加入到消息列表后交给 AI 进行补全
补全后 AI 的回复我们打印出来, 并且也加入到消息列表中
from openai import OpenAI
client = OpenAI(
base_url="https://ark.cn-beijing.volces.com/api/v3", # 这个是默认的, 不更改
api_key="68c6d0af-7fb9-4e84-9134-d93f643aa343", # !!! 这里填写你之前记下来的 API Key !!!
)
messages = [] # 数组存储之前的对话
while True:
user_input = input("你: ") # 获取用户输入
messages.append({"role": "user", "content": [{"type": "text", "text": user_input}]}) # 添加用户消息
response = client.chat.completions.create(
model="doubao-seed-1-6-250615", # 模型的编号
messages=messages, # 使用之前的对话内容
)
ai_reply = response.choices[0].message.content # 获取 AI 回复
print(f"AI: {ai_reply}") # 打印 AI 回复
messages.append({"role": "assistant", "content": [{"type": "text", "text": ai_reply}]}) # 添加 AI 回复到对话中
我们可以将这里的内容保存到一个 a.py 文件, 之后使用 Python 运行
python a.py
注意路径, 这里有个小技巧, 如果你找到了你的 a.py 在哪里, 只需要编辑地址栏, 输入 cmd 回车即可自动跳转目录


当然你可以可以使用 AI 写一些更好用的代码, 此处仅做示例
原创:Kengwang 编辑:GoForth
练习
完成文章中的实践操作。