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 

四、效果

相关推荐
zandy101111 小时前
指标管理 + AI:衡石科技如何让业务指标“自动洞察、主动预警”
人工智能·科技
viperrrrrrrrrr711 小时前
开源模型如何盈利
人工智能·开源·deepseek-v4
一瞬祈望11 小时前
⭐ 深度学习入门体系(第 19 篇): 过拟合,它是什么?为什么会发生?又该如何解决?
人工智能·深度学习
jiayong2311 小时前
model.onnx 深度分析报告(系列汇总)
人工智能·机器学习·自动化
CV-杨帆11 小时前
论文阅读:arxiv 2026 Extracting books from production language models
论文阅读·人工智能
斯文by累11 小时前
AI产品推荐:NoteBookLM
人工智能
week_泽11 小时前
第2课:深度剖析AI Agent核心模块 - 学习笔记_2
人工智能·笔记·学习·ai agent
沙漠的浪人11 小时前
Deep Research 怎么才算 "Deep"
人工智能·agent
Oflycomm11 小时前
高通推出新一代机器人全栈技术,加速家用与人形机器人物理 AI 落地
人工智能·高通·wifi7模块·ces2026·qogrisys·欧飞信
沙漠的浪人11 小时前
多Agent系统中的用户干预(Human-in-the-Loop)设计
人工智能·agent