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 uuid

app = 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"}), 400
    
    try:
        # 计算文本相似度
        results = similarity(data['text_pairs'])
        
        # 构造响应
        response = {
            "success": True,
            "results": results
        }
        
        return jsonify(response)
    
    except Exception as e:
        return jsonify({"error": str(e)}), 500

if __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": [
        ["这个苹果很好吃", "这个香蕉很好吃"],
        ["今天天气真好", "今天天气不错"]
    ]
}'

ali PaddleNLP docker_第1张图片

你可能感兴趣的:(AI大模型,docker,容器,运维)