ali PaddleNLP docker
一、添加文件
nano /root/projects/paddlenlp_similarity_server.py
from flask import Flask, request, jsonify
import paddle
from paddlenlp import Taskflow
import json
import uuidapp = Flask(__name__)# 初始化文本相似度模型
similarity = Taskflow("text_similarity")@app.route('/')
def hello_world():return 'PaddleNLP Text Similarity API'@app.post('/similarity')
def calculate_similarity():# 获取请求数据data = request.get_json()if not data or 'text_pairs' not in data:return jsonify({"error": "Missing 'text_pairs' in request body"}), 400try:# 计算文本相似度results = similarity(data['text_pairs'])# 构造响应response = {"success": True,"results": results}return jsonify(response)except Exception as e:return jsonify({"error": str(e)}), 500if __name__ == '__main__':app.run(host='0.0.0.0', port=9001)
二、运行
docker run -d \--restart unless-stopped \-p 9001:9001 \-v ~/paddlenlp_models:/models \-v /root/projects:/app \-v /root/projects/paddlenlp:/root/.paddlenlp/taskflow/text_similarity \--name paddlenlp_similarity \registry.baidubce.com/paddlepaddle/paddle:2.6.0 \bash -c "pip install paddlenlp==2.6 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn && \python /app/paddlenlp_similarity_server.py"#常用操作
docker ps
docker stop 2f4f7e82ca01
docker rm 2f4f7e82ca01
docker logs 2f4f7e82ca01
curl --location --request POST 'http://localhost:9001/similarity' \
--header 'Content-Type: application/json' \
--data-raw '{"text_pairs": [["这个苹果很好吃", "这个香蕉很好吃"],["今天天气真好", "今天天气不错"]]
}'