Python + Langchain + Streamlit + DashScope 实现一个网页版聊天机器人

Python + Langchain + Streamlit + DashScope 实现一个网页版聊天机器人

零、前置条件

需要在阿里巴巴百炼平台创建一个api key,并写到.env文件

ini 复制代码
# 你的百炼平台key
DASHSCOPE_API_KEY=你的百炼平台key
# 百炼平台url
BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

一、安装依赖

shell 复制代码
pip install streamlit
pip install langchain_openai
pip install python-dotenv

二、完整Python代码

python 复制代码
# 导入streamlit     安装 pip install streamlit
import streamlit as st
# 导入langchain_openai  pip install langchain_openai
from langchain_openai import ChatOpenAI
# 导入 dotenv 读取 .env  pip install python-dotenv
from dotenv import load_dotenv

import os

# 加载 .env 文件
load_dotenv()

chatLLM = ChatOpenAI(
    openai_api_key=os.getenv("DASHSCOPE_API_KEY"),
    openai_api_base=os.getenv("BASE_URL"),
    model="qwen-plus"
)


def chat(prompt: str):
    response = chatLLM.invoke([{'role': 'user', 'content': prompt}])
    return response.content


# 保存聊天信息
if "messages" not in st.session_state:
    st.session_state['messages'] = []

# 标题
st.title("Python + Langchain + Streamlit + DashScope 实现一个网页版聊天机器人")

# 分隔符
st.divider()

# 请输入你的问题
prompt = st.chat_input("请输入你的问题")

if prompt:
    # role : user 、 assistant  ai human
    st.session_state['messages'].append({'role': 'user', 'content': prompt})
    for message in st.session_state['messages']:
        st.chat_message(message['role']).markdown(message['content'])

    with st.spinner("🤔思考中。。。。"):
        response = chat(prompt)
        st.session_state['messages'].append({'role': 'assistant', 'content': response})
        st.chat_message('assistant').markdown(response)

三、启动

shell 复制代码
streamlit run streamlit_langchain_dashscope.py 

四、效果

相关推荐
znhb993 分钟前
九九AI驱动脱硫脱硝及氨逃逸精准控制技术,实现环保、经济、运维三重升级
运维·人工智能
_Evan_Yao4 分钟前
当 if 成为性能判官:分支预测、流水线冲刷与 Java 中的“猜谜游戏”
人工智能·游戏
丝雨_xrc7 分钟前
CSDN 发布 AI 数字营销 OS,重新定义内容营销增长范式!
人工智能
清寒_11 分钟前
分层理解AI架构,降低对AI复杂度的恐惧
前端·人工智能·ai编程
珑哥说自养号采购13 分钟前
破解亚马逊风控:安全搭建买家号上评系统,提升店铺竞争力
人工智能·eclipse·github
金融小师妹24 分钟前
AI多模态宏观建模视角:超级央行周触发“政策—数据—预期”耦合重估框架
大数据·人工智能·逻辑回归·能源
FIN666827 分钟前
底部蓄力,静待花开——清越科技的韧性与曙光
大数据·人工智能·物联网
Gofarlic_OMS32 分钟前
UG/NX许可证管理高频技术问题解答汇编
java·大数据·运维·服务器·汇编·人工智能
一念杂记32 分钟前
SKILL到底应该怎么写?10 分钟快速掌握 AI 智能体技能开发核心技巧
人工智能·openai·ai编程
AI刀刀34 分钟前
手机AI怎么导出pdf
人工智能·ai·智能手机·pdf·deepseek·ds随心转