百度大模型开源
本地启动手册
安装依赖:
python -m pip install paddlepaddle-gpu==3.1.0 -i https://www.paddlepaddle.org.cn/packages/stable/cu126/
python -m pip install fastdeploy-gpu -i https://www.paddlepaddle.org.cn/packages/stable/fastdeploy-gpu-80_90/ --extra-index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
apt install libgomp1
启动 API
python -m fastdeploy.entrypoints.openai.api_server \
--model baidu/ERNIE-4.5-0.3B-Paddle \
--port 8180 \
--metrics-port 8181 \
--engine-worker-queue-port 8182 \
--max-model-len 32768 \
--max-num-seqs 32
大概等待10分钟左右
测试 Python 代码
import requests
import json
url = "http://127.0.0.1:8180/v1/chat/completions"
headers = {"Content-Type": "application/json"}
data = {
"model": "baidu/ERNIE-4.5-0.3B-PT",
"messages": [
{"role": "user", "content": "我是仕宇2050,你帮我写一个Python函数判断字符串是否为回文串"}
],
"temperature": 0.7
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json()["choices"][0]["message"]["content"])
模型开源地址:https://ai.gitcode.com/theme/1939325484087291906
视频演示: 全网同名 #JavaPub #仕宇2050
循环对话的python代码
import requests
import json
def chat():
url = "http://127.0.0.1:8180/v1/chat/completions"
headers = {
"Content-Type": "application/json"
}
model = "baidu/ERNIE-4.5-0.3B-PT"
# 保存对话历史
messages = []
print("开始对话吧!(输入 'exit' 或 'quit' 退出)")
while True:
user_input = input("\n你:")
if user_input.lower() in {"exit", "quit"}:
print("结束对话。")
break
# 添加用户消息到对话历史
messages.append({"role": "user", "content": user_input})
# 构建请求体
data = {
"model": model,
"messages": messages
}
try:
response = requests.post(url, headers=headers, data=json.dumps(data))
response.raise_for_status()
result = response.json()
if "choices" in result and len(result["choices"]) > 0:
ai_message = result["choices"][0]["message"]["content"]
print("AI:", ai_message)
# 将AI的回复加入对话历史
messages.append({"role": "assistant", "content": ai_message})
else:
print("AI 没有返回内容。")
except requests.exceptions.RequestException as e:
print(f"请求错误: {e}")
except json.JSONDecodeError:
print(f"JSON解析错误,响应内容: {response.text}")
except Exception as e:
print(f"发生错误: {e}")
if __name__ == "__main__":
chat()