赞
踩
本篇为一个基于调用商用大模型API的自用GPT部署教程
这里选择阿里云ECS,后续购买,配置等步骤,请自行baidu
进入控制台页面,找到自己的ECS服务器,进入安全组,放行防火墙端口,streamlit默认端口为8501
按顺序依次填写,最后保存即可
如有需要可自行选择安装包下载地址
# 获取Anaconda安装包
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh
# 解压安装
bash Anaconda3-2024.02-1-Linux-x86_64.sh
# 后面按照安装步骤一步一步安装即可
# 安装成功后,刷新环境配置
source ~/.bashrc
# llm为指定虚拟环境名字,3.10为指定python版本
conda create -n llm python=3.10
# 进入刚刚创建的环境
conda activate llm
pip install streamlit
pip install dotenv
pip install zhipuai
这里以智谱AI为例
点击开始使用,即可跳转到登陆or注册页面
这里选择基于SDK的调用,如有其他调用需求可自行查看文档
在当前页面往下翻,找到SSE调用
from zhipuai import ZhipuAI
client = ZhipuAI(api_key="") # 请填写您自己的APIKey
response = client.chat.completions.create(
model="glm-4", # 填写需要调用的模型名称
messages=[
{"role": "system", "content": "你是一个乐于解答各种问题的助手,你的任务是为用户提供专业、准确、有见地的建议。"},
{"role": "user", "content": "我对太阳系的行星非常感兴趣,特别是土星。请提供关于土星的基本信息,包括其大小、组成、环系统和任何独特的天文现象。"},
],
stream=True,
)
# 这是查看调用返回结果示例,后面会用到
for chunk in response:
print(chunk.choices[0].delta)
先创建一个名为.env的文件,然后在文件中写入下述内容
vim .env
# 智谱 API 访问密钥配置
ZHIPUAI_API_KEY = "请填写您自己的APIKey"
这里只对模型调用部分作简要说明,关于前端页面的搭建,可自行查看文档streamlit——Build a simple chatbot GUI with streaming
import os import streamlit as st # 导入前端框架streamlit from dotenv import load_dotenv, find_dotenv # 导入环境配置包 from zhipuai import ZhipuAI # 导入智谱AI包 _ = load_dotenv(find_dotenv()) # 加载环境变量 api_key = os.environ["ZHIPUAI_API_KEY"] # 读取调用API密匙 client = ZhipuAI(api_key=api_key) # 加载智谱AI模型 st.title("A Simple ChatGPT") def stream_data(stream_in): # 将列表转为流式数据 for word in stream_in: yield word.choices[0].delta.content + " " # 调用返回结果 if "messages" not in st.session_state: st.session_state.messages = [] for message in st.session_state.messages: with st.chat_message(message["role"]): st.markdown(message["content"]) if prompt := st.chat_input("What is up?"): st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.markdown(prompt) with st.chat_message("assistant"): stream = client.chat.completions.create( # SSE调用 model="glm-4", messages=[ {"role": m["role"], "content": m["content"]} for m in st.session_state.messages ], stream=True, ) response = st.write_stream(stream_data(stream)) # 以流式写入数据 st.session_state.messages.append({"role": "assistant", "content": response})
# nohup为当关闭终端时,仍保持进程运行
nohup streamlit run model.py
在浏览器输入 服务器的公网IP:8501 ,运行结果如图所示
1.动手学大模型开发应用——https://github.com/datawhalechina/llm-universe
2.智谱接口文档——https://open.bigmodel.cn/dev/api
3.dotenv文档——https://www.dotenv.org/docs/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。