【项目实训】连接云服务器并与大模型交互

因为我们使用阿里云不能进行外部访问,所以我们换了一个其他的付费服务器。

我们在AutoDL算力云上租了一个服务器,并且在上面部署了我们的大模型

首先在网站上打开实例,在实例中启动大模型:

在本地使用SSH连接,并输入密码:

这样就已经连上了,这里用langchain chatchat的接口做一下测试:


 

首先接受前端的请求:

@app.route('/upload_file', methods=['POST'])
def upload_file():
    job = request.form.get('job')
    company = request.form.get('company')
    interview = request.form.get('interview')
    f = request.files.get('file')
    # 如果文件不存在
    if f is None or f.filename == '':
        return jsonify({'code': 400, 'message': 'No file part in the request'}), 400
    # 保存文件
    fname = secure_filename(f.filename)  # 使用secure_filename来避免安全问题
    file_path = fname  # 这不是一个完整的路径,只是一个文件名
    try:
        f.save(file_path)  # 使用f.save而不是手动打开和写入文件
    except Exception as e:
        return jsonify({'code': 500, 'message': f'Failed to save file: {str(e)}'}), 500
        # 项目经历
    text = pyMuPDF_fitz(file_path, './img_tmp')
    if interview == "技术面":
        prompt = f"这是我的简历{text},请提取出我的软件项目经历,字数不超过600字"
    else:
        prompt = f"这是我的简历{text},请提取出我的荣誉奖项,校园经历,个人评价,字数不超过600字"
    extracted = Turing2(prompt)
    question = f"你是{company}公司的面试官,我要面试{job}岗位,现在要进行{interview},这是我的简历相关信息{extracted},请你现在问5个面试问题,每个问题以问号结尾,确保每个问题一行"
    result = Turing(question)
    return jsonify({
        'code': 200,
        'result': result
    })

处理完前端传来的信息,构建好Prompt之后,在后端发出请求:

def Turing(text_words=""):
    # 准备请求体(JSON格式)
    payload = {
        "query": text_words,
        "knowledge_id": "tmpc1y1d30v",
        "top_k": 3,
        "score_threshold": 0.6,
        "history": [

        ],
        "stream": False,
        "model_name": "chatglm3-6b",
        "temperature": 0.7,
        "max_tokens": 0,
        "prompt_name": "default"
    }
    # 发送POST请求,并设置Content-Type为application/json
    headers = {'Content-Type': 'application/json'}
    response = requests.post(url, json=payload, headers=headers)

    # 检查响应状态码并打印响应内容
    if response.status_code == 200:
        json_str = response.text.split(': ', 1)[1]  # 使用split分割字符串,只取第二个部分(索引为1)
        try:
            # 解析JSON字符串
            data = json.loads(json_str)
            # 提取text字段的值
            text = data['answer']
            result = text.split('\n')
            # 输出分割后的数组(列表)
            print(result)
            return result
        except (json.JSONDecodeError, KeyError) as e:
            print('解析JSON或访问字段时出错:', e)
    else:
        print(f'请求失败,状态码:{response.status_code}')

在这里按照要求配置Request请求

配置不同的请求路径

 在postman中模拟前端请求进行测试:

测试连通成功!!!

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值