使用 Flask 接入阿里云通义 AI 大模型 API 实现简单的 AI 聊天 Web 项目

随着人工智能技术的飞速发展,越来越多的开发者开始关注 AI 聊天应用的开发。在本文中,我们将介绍如何使用 Flask 框架接入阿里云的通义 AI 大模型 API,构建一个简单的 AI 聊天 Web 项目。该项目支持流式传输、多轮对话、会话记录以及代码高亮展示。

1. 环境准备

首先,你需要在你的计算机上安装 Python 和 Flask。可以通过以下命令安装 Flask:

pip install Flask

此外,我们还需要 requests 库与前端代码高亮支持库 highlight.js。用以下命令安装 requests

pip install requests

2. 创建 Flask 项目

接下来,创建一个新的 Flask 项目结构:

my_chatbot/
│
├── app.py
└── templates/
    └── index.html

2.1 app.py

app.py 文件中,我们配置 Flask 和与阿里云通义 AI 大模型 API 的连接。

from flask import Flask, render_template, request, jsonify
import requests

app = Flask(__name__)

# 阿里云通义AI大模型 API 配置
API_URL = "https://api.aliyun.com/tongyi/ai/chat"  # 请根据实际 API 地址替换
API_KEY = "your_api_key"  # 你的 API 密钥

session_history = []

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/chat', methods=['POST'])
def chat():
    user_message = request.json['message']
    session_history.append({"role": "user", "content": user_message})

    # 发送消息到阿里云通义 AI 应用程序
    response = requests.post(API_URL, json={
        "messages": [{"role": "user", "content": user_message}],
        "session_history": session_history  # 保持会话记录
    }, headers={"Authorization": f"Bearer {API_KEY}"})

    if response.status_code == 200:
        ai_message = response.json()['data']['content']
        session_history.append({"role": "ai", "content": ai_message})
        return jsonify({"message": ai_message})
    else:
        return jsonify({"error": "Response error"}), 500

if __name__ == '__main__':
    app.run(debug=True)

2.2 index.html

templates/index.html 文件中,我们创建前端界面。用户可以输入消息,并接收 AI 的回复。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AI 聊天机器人</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.4.0/styles/default.min.css">
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.4.0/highlight.min.js"></script>
    <style>
        body { font-family: Arial, sans-serif; }
        #chat { border: 1px solid #ccc; padding: 10px; height: 300px; overflow-y: scroll; }
        .message { margin: 5px 0; }
        .message.user { color: blue; }
        .message.ai { color: green; }
    </style>
</head>
<body>

<h1>AI 聊天机器人</h1>
<div id="chat"></div>
<input type="text" id="user-input" placeholder="输入你的消息...">
<button id="send-button">发送</button>

<script>
$(document).ready(function() {
    $('#send-button').click(function() {
        const message = $('#user-input').val();
        $('#chat').append(`<div class="message user">用户: ${message}</div>`);
        $('#user-input').val('');

        $.post('/chat', JSON.stringify({ message: message }), function(data) {
            $('#chat').append(`<div class="message ai">AI: ${data.message}</div>`);
            // 调用代码高亮
            hljs.highlightAll();
        }, 'json')
        .fail(function() {
            alert('出现错误!请重试。');
        });
    });
});
</script>

</body>
</html>

3. 启动项目

在项目目录中,使用以下命令启动 Flask 应用:

python app.py

访问 http://127.0.0.1:5000/,你将看到一个简单的用户界面。在输入框中输入消息,点击发送后,AI 将会回复你。

4. 总结

通过本文的介绍,我们实现了一个使用 Flask 框架接入阿里云通义 AI 大模型 API 的简单聊天项目。这个项目支持多轮对话和会话记录,同时利用代码高亮库提升展示效果。你可以根据需要继续扩展功能,比如添加用户身份验证、改进界面设计等。希望这能为你的 AI 项目开发提供一个良好的基础!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部