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 

四、效果

相关推荐
Geek-Chow7 小时前
实验:用 Claude Code 一句提示词生成 three.js 3D V8 发动机剖视动画(附 GIF/MP4 导出)
人工智能
阿里云大数据AI技术8 小时前
云栖实录|从数据闭环到模型闭环,阿里云全栈方案助力多模态AI走向生产
人工智能·agent
“AI国潮设计-小江”8 小时前
【AIGC实战】Python+SDXL批量生成「潮汕英歌舞冰淇淋蛋糕&红桃粿咖啡」IP,固定角色形象批量出甜品商业效果图
开发语言·人工智能·python·prompt·aigc
Leo.yuan8 小时前
企业级AI分析平台技术选型:FineBI(AI原生版)的NL2BI架构与业务适配能力
大数据·人工智能
疯狂奔跑华丽跌倒8 小时前
医药行业数据治理工具选型,需匹配业务与AI落地需求
大数据·人工智能·经验分享
飞哥数智坊8 小时前
我用 WorkBuddy 复刻了 Claude 的 Vibe Video,效果不错
人工智能
small_wh1te_coder8 小时前
AI技术总监级拆解大模型|第21讲:大模型微调工程——什么时候用 LoRA?深度拆解 PEFT 低秩分解、QLoRA 与成本账本
人工智能
紧跟先前的步伐8 小时前
Go AI Agent 实战 02|大语言模型(LLM)到底是怎么工作的
人工智能·语言模型·golang
七牛云行业应用8 小时前
Codex接MCP完整教程:从官方文档服务器到HTTP、STDIO与OAuth配置(2026年10月)
人工智能·ai·agent·ai编程
4SAPI8 小时前
企业Agent落地选型:大模型API接入方案迁移实践与稳定性评估
人工智能·python·php