大模型API与Flask项目示例
一、输入问题交给后台处理
获取表单GET,通过模版表单将问题提交给后台POST
模版文件apis.html
如下:
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='initinal-scale=1.0'>
<title> API➕Flask</title>
</head>
<body>
<h1>API➕Flask项目示例</h1>
<form action='/apis' method='POST'>
<label for='question'>请输入问题:</label>
<input type='text' name='question' id='question' required>
<button type='submit'>提交</button>
</form>
{% if response %}
<h1>Assistant's answer:</h1>
{{ response }}
{% endif %}
</body>
</html>
二、后台接入API获得回答
从前端表单的提交request获取问题question
带问题接入大模型API获得回答
LLMapi.py
代码如下:
from zhipuai import ZhipuAI
def get_response_from_model(question):
client = ZhipuAI(api_key='xx')
response = client.chat.completions.create(
model = 'glm-4-plus',
messages = [{'role': 'user', 'content': question}],
)
return response.choices[0].message.content
三、将回答渲染后返回页面
flask项目文件apis.py
如下:
from flask import Flask, request
from LLMapi import get_response_from_model
app=Flask(__name__)
@app.route('/apis', methods=['GET', 'POST'])
def apis():
response = None
if request.method == 'POST':
question = request.form['question']
response = get_response_from_model(question)
return render_template('apis.html', response=response)
return render_template('apis.html', response=response)
if __name__ == '__main__':
app.run(debug=False)
备注:flask项目文件结构,apis.py
和LLMapi.py
同属项目文件根目录下,apis.html
在项目文件的子文件夹templates
中。