本篇使用本地IDE调用火山引擎SDK,话不多说,直接开整!
(遇到解决不了的问题可以拉到文末看下总结和提示,其实现在就可以拉到文末去看。)
说明:作者是用anoconda(用python也可以)创建的本地虚拟环境,比较方便管理,www.anaconda.com/download 建议大家最好下载到D盘下的独立文件夹,不然默认下载各种软件一团乱麻。
环境创建
- 在开始菜单搜索并打开“Anoconda Prompt”命令行,输入
conda list查看当前环境,应该只有base。建议新创建一个环境,如下命令所示。其中的bytedanceAI是环境名称,可以自己取,python3.8版本比较稳定且兼容性大,所以用3.8版本。
conda create --name bytedanceAI python=3.8
- 激活环境,并查看环境中的包(由于我提前搞好了,所以有很多包)
conda activate bytedanceAI
conda list
环境配置
1. 安装SDK
pip install volcengine-python-sdk
可能会出现如下报错
竟然报错??
由火山引擎官网提供的指引可以看到源码下载地址(github可能加载不出来,需要刷新等待,否则只能使用VPN)
源码地址:github.com/volcengine/…
点击readme查看使用说明,根据说明需要对电脑进行修改:
- 按下 Win+R ,输入 regedit 打开注册表编辑器。
- 设置 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 路径下的变量 LongPathsEnabled 为 1 即可。
修改之后再执行安装命令显示成功安装
执行如下命令进一步安装(火山引擎官网给出的示例是直接执行如下安装命令,我没有试过) 【注意】:官网给的代码是单引号引用,我们安装时必须使用双引号!
pip install "volcengine-python-sdk[ark]"
2. 配置并验证API_KEY和LLM_MODELEND
执行如下命令,引号中内容替换你的火山引擎上对应的api和model。(也可以打开高级系统设置->环境变量,手动新增,这种方法比较靠谱)
set ARK_API_KEY="your_api_key"
set LLM_MODELEND="your_model_endpoint"
设置完成后,执行如下命令,如果返回值是你的API,说明已经成功添加到环境变量之中
echo %ARK_API_KEY%
或者执行如下代码并得到图示结果,也说明环境变量成功设置(如果还是不行试着重启一下电脑)
import os
import requests
import json
api_key = os.environ.get('ARK_API_KEY')
model = os.environ.get('LLM_MODELEND')
url = "https://ark.cn-beijing.volces.com/api/v3/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {api_key}"
}
data = {
"model": f"{model}",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Hello!"
}
]
}
response = requests.post(url, headers=headers, data=json.dumps(data))
if response.status_code == 200:
print("Response:", response.json())
else:
print("Error:", response.status_code, response.text)
3. 调用火山引擎的大模型,复现AI练中学奇点时刻!
话不多说,直接上代码!
import os
from volcenginesdkarkruntime import Ark
api_key = os.environ.get('ARK_API_KEY')
model = os.environ.get("LLM_MODELEND")
client = Ark(
base_url="https://ark.cn-beijing.volces.com/api/v3",
api_key=api_key
)
response = client.chat.completions.create(
model=model,
temperature=0.5,
max_tokens=400,
messages=[
{"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
{"role": "user", "content": "请帮我的花店取个名字"},
],
)
print(response.choices[0].message.content.strip<img src="())" alt="" width="30%" />
执行上述代码后。可能出现如下报错
又报错?
不要慌,这意味着我们的 Python 环境中缺少名为 cryptography 的模块,这个模块通常用于处理加密和安全相关的功能。我们在Anoconda Prompt中(或者Pycharm终端中)输入命令安装即可。
pip install cryptography
再次执行代码,成功啦!
小结与提示
- 豆包AI、gpt问起来!但是,如果大模型都能解决的话,那我这篇文章不是白写了?我是不是人啊?我到底是不是人啊?!
- 遇到不会的问题可以先查看官方网站,找到自己需要的文档或者页面,跟着指示一步步操作,有必要的话进一步点击页面中的链接(比如给出了源码下载地址,可以先点进去查看readme文档);
- 安装环境和执行代码时,可以同时打开Anoconda prompt命令行和Pycharm,方便查看和修复环境中的问题;
- 如有解决不了的问题,可以自己尝试
pip uninstall 包名先移除包然后重新install。或者python -m pip install --upgrade pip,pip install --upgrade pip更新pip,然后再进行安装; - 实在解决不了的,移除环境,从头开始!两横一竖就是干!
- 问一问gpt或者豆包等,大部分时候挺管用的,但是像本文一开始需要修改系统设置才能安装成功火山引擎的问题,大模型能做的可能也只是引导你去查看官方文档。
- 配置完环境、环境变量后发现还是报错,可能需要重启电脑、让环境重新加载一下。
后续:在本地IDE使用langchain调用火山大模型
我今天搞了大半天,一是没找到调用的代码框架,二是我的langchain包出问题了,不知道还能不能有后续了(我打算试试调用文心一言、智谱等大模型,因为我调不了OpenAI的)。在这里集思广益一下,大家有没有什么方法?