亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用Google Vertex AI和Flask構建聊天機器人并利用緩存優化性能

在这个对话式人工智能的世界中,创建一个快速响应且功能强大的网络应用是一项复杂但令人满足的任务。本文将指导你构建一个简单的基于 Flask 的聊天机器人,该机器人能够与 Google Vertex AI 的语言模型交互,并利用缓存来提高性能和响应速度。

简介:

我们的聊天机器人程序由Google Vertex AIFlask以及Flask-Caching集成提供支持。这种配置非常适合诸如辅导或支持系统之类的用例,用户可以提问并获得详细且有帮助的回答。HTML格式确保回复条理清晰、易于阅读,而缓存则通过在内存中存储常用问题来优化性能。

条件

pip install google-cloud-vertexai flask flask-cors flask-caching langchain langchain-google-vertexai

创建 Flask 应用:使用 Vertex AI 平台和启用缓存

第一步:启动 Flask 应用程序

我们将从创建一个基本的Flask应用开始,这将是我们的聊天机器人的基础。

    # 导入所需的库
    from flask import Flask, request, jsonify  
    from flask_cors import CORS  
    from flask_caching import Cache  
    import os  
    import vertexai  
    from langchain.memory import ConversationBufferMemory  
    from langchain.prompts import PromptTemplate  
    from langchain.chains import LLMChain  
    from langchain_google_vertexai import ChatVertexAI  

    # 初始化Flask应用
    app = Flask(__name__)  
    # 启用跨域资源共享
    CORS(app)  
    # 配置缓存类型为简单缓存
    app.config['CACHE_TYPE'] = 'SimpleCache'  
    # 设置缓存默认超时时间为300秒
    app.config['CACHE_DEFAULT_TIMEOUT'] = 300  
    # 初始化缓存
    cache = Cache(app)

步骤2:配置Google Vertex AI:

     os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "your_credentials.json"  
    vertexai.init(project="your_project_id")

步骤3:设置语言模型。

定义了一个名为 llm 的变量,使用 ChatVertexAI 模型 "gemini-1.5-flash-001",并设置了温度参数为 0.2。

第4步:打造一个基于上下文的聊天机器人:

     def 创建基于上下文的聊天机器人函数():  
        会话记忆 = ConversationBufferMemory(memory_key="chat_history")  
        提示模板 = PromptTemplate.from_template(  
            """你是一位专注于数学、科学和历史等科目的辅导老师。  
            当前对话:  
            {chat_history}  
            用户:{input}  
            AI:"""  
        )  
        链 = LLMChain(llm=llm, prompt=提示模板, memory=会话记忆)  
        return 链

第五步:响应显示的HTML格式

     def 创建_html_formatter_chain():  
        html_prompt = PromptTemplate.from_template(  
            """你是一个HTML格式化器。请将以下响应:“{input_response}”,用HTML格式化它...  
            """  
        )  
        html_chain = LLMChain(llm=llm, prompt=html_prompt)  
        return html_chain

步骤 6:加入缓存

@app.route('/chat', methods=['POST'])
def chat():
    user_input = request.json.get('input')
    if not user_input:
        return jsonify({"error": "未提供任何输入"}), 400

    cached_response = cache.get(user_input)
    if cached_response:
        return jsonify({"response": cached_response})

    initial_response = chatbot.run(input=user_input)
    formatted_response = html_formatter_chain.run(输入响应=initial_response)
    cache.set(user_input, formatted_response)

    return jsonify({"response": formatted_response})

步骤7:启动应用

     if __name__ == '__main__':  
        app.run(debug=True, host='0.0.0.0', port=5000)

该代码段用于运行应用程序,开启调试模式,并监听所有网络接口的5000端口。

测试应用

    {  
        "input": "光合作为什么重要?"  
    }

显示

结论

使用 Google Vertex AI、Flask 和缓存,我们创建了一个聊天机器人,可以处理实时对话并将其格式化为 HTML,并优化频繁查询的响应速度。模型的响应不仅内容丰富,还具有良好的视觉呈现,从而改善用户体验。

更多精彩内容即将登场,敬请期待!

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消