在这份全面的指南中,我们将逐步介绍如何使用Streamlit和Ollama构建你自己的AI聊天机器人。该项目结合了大型语言模型(LLMs)的强大功能与用户友好的界面,让你能够创建一个定制化且交互式的AI助手。无论你是经验丰富的开发者还是刚刚入门,本教程都将为你提供所需的知识和技能,将你的AI聊天机器人愿景变为现实。准备好深入代码,释放AI的潜力吧!
关键点
- 设置Streamlit开发环境
- 从GitHub克隆启动项目模板
- 理解项目的代码结构
- 通过配置自定义聊天机器人行为
- 实现状态管理以提供流畅的用户体验
- 利用Ollama进行大型语言模型集成
- 使用Streamlit创建用户界面
- 使用Streamlit和Ollama构建AI聊天机器人
开始你的AI聊天机器人项目
设置开发环境
在深入代码之前,确保你已经正确设置了开发环境。我们将使用Python以及Streamlit和Ollama库。确保你的系统上已安装Python。建议使用venv
或conda
等虚拟环境管理器来隔离项目依赖。安装conda后,为此项目创建一个新环境:
conda create -n streamlit_env python=3.9
conda activate streamlit_env
这将创建一个名为streamlit_env
的隔离环境,并安装Python 3.9。激活环境后,确保项目运行顺畅。

为确保Streamlit安装,运行以下代码:
pip install streamlit
运行以下命令确认安装是否正确:
streamlit hello
Streamlit库已安装,接下来需要配置Ollama以使用大型语言模型。在项目开始前,请确保正确配置计算机设置,你可以在我的YouTube教程中查看相关内容。
从GitHub克隆启动项目
为了简化流程并提供构建基础,我在GitHub上创建了一个启动项目模板。

该模板包括基本的项目结构、必要的配置文件和一些初始代码,帮助你快速上手。要克隆启动项目,请在终端中使用以下命令:
git clone --single-branch --branch starter_project https://github.com/DevTechBytes/Streamlit-Ollama-Chatbot.git
此命令从GitHub仓库克隆starter_project
分支。--single-branch
标志确保仅下载指定分支,节省时间和磁盘空间。你可以在文章的描述框中找到项目链接。克隆后,导航到项目目录:
cd Streamlit-Ollama-Chatbot
我会将文件夹重命名为“starter”并放入下载文件夹中,这有助于代码和系统更快运行。
理解项目结构
在开始编码之前,让我们花点时间探索项目的结构,并理解每个文件和文件夹的用途。启动项目通常包括以下关键组件:
helpers/
:包含辅助函数和实用模块。config.py
:定义聊天机器人的配置设置,如页面标题和语言模型选择。ollama_chatbot.py
:运行Streamlit应用程序和聊天机器人逻辑的主脚本。requirements.txt
:列出项目的所有Python依赖项。

熟悉此结构有助于你高效地导航项目。我们将克隆项目并用vscode打开。
代码实现与解释
使用Streamlit配置应用程序标题
克隆项目并导入vscode后,第一步是配置项目。

该文件很重要,因为它可以在未来使用。对于基本配置,我们可以使用Streamlit。Streamlit提供了一种便捷的方式来设置浏览器标签中显示的页面标题。在ollama_chatbot.py
文件中,你会找到以下代码:
st.set_page_config(page_title=config.PAGE_TITLE, initial_sidebar_state="expanded")
st.title(config.PAGE_TITLE)
st.set_page_config
函数通过使用config.py
文件中的PAGE_TITLE
常量来配置页面标题,避免硬编码。这确保了聊天机器人的标题在整个应用程序中保持一致,并在用户界面中显示,便于理解。
创建和使用Streamlit侧边栏
使用Streamlit,可以通过调用函数轻松创建侧边栏。以下是主py文件中的代码:
with st.sidebar:
st.markdown("# Chat Options")
通过with
代码可以调用streamlit
函数创建侧边栏,帮助编辑和添加内容到侧边栏。例如,代码显示我们可以使用markdown来编辑侧边栏中的内容。
理解Streamlit文档
为了确保每个人都理解Streamlit,我将向你展示如何查看文档。如果你想查看Streamlit页面的文档,请访问:

这将帮助你更清楚地理解如何运行代码。
如何设置Streamlit和Ollama聊天机器人
步骤1:克隆启动项目并打开Vscode
使用以下命令克隆启动项目:
git clone --single-branch --branch starter_project https://github.com/DevTechBytes/Streamlit-Ollama-Chatbot.git
此命令从GitHub仓库克隆starter_project
分支。--single-branch
标志确保仅下载指定分支,节省时间和磁盘空间。克隆后,导航到项目目录并打开你的代码。
步骤2:设置Conda并安装Streamlit
通过以下命令检查Conda:
conda -v
启动环境:
conda create -n streamlit_env python=3.9
conda activate streamlit_env
设置完成后,安装Streamlit,然后通过以下命令检查Streamlit:
streamlit hello
步骤3:设置配置和Streamlit
输入以下命令运行Streamlit:
streamlit run ollama_chatbot.py
运行后,你可以编辑网页标题。
常见问题
什么是Streamlit?
Streamlit是一个开源的Python库,可以轻松创建和分享用于机器学习和数据科学的精美自定义Web应用程序。只需几行代码,你就可以将数据脚本转换为可共享的Web应用程序。
什么是Ollama?
Ollama是一个工具,可以轻松在本地设置和运行大型语言模型。它将模型与依赖项打包,便于分发。Ollama支持macOS、Linux和Windows(预览版)。
如何运行Streamlit应用程序?
安装依赖项后,导航到项目目录并在终端中运行以下命令:
streamlit run ollama_chatbot.py
这将启动Streamlit服务器,你的应用程序将在默认的Web浏览器中打开一个新标签页。
相关问题
如何为我的聊天机器人选择合适的模型?
选择合适的模型取决于你的具体需求和可用资源。考虑模型大小、准确性、速度和内存要求等因素。例如,codellama:7b
是一个较小的模型,适合资源受限的环境,而codellama:13b
提供更好的准确性,但内存使用量更高。