因为我们使用阿里云不能进行外部访问,所以我们换了一个其他的付费服务器。
我们在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中模拟前端请求进行测试:
测试连通成功!!!