OfflineLangchainChaiAi-CustomData Dataset
收藏OfflineLangchainChaiAi-CustomData
OfflineLangchainChaiAi-CustomData 是一个自定义构建的聊天机器人,旨在使用预定义数据集响应用户输入。该聊天机器人利用机器学习技术,特别是 TF-IDF 向量化和余弦相似度,提供智能且上下文相关的响应。该项目使用 Python 和 Streamlit 实现了一个基于 Web 的界面。
功能
- 自定义数据集:使用包含用户消息和相应模型响应的 JSONL 文件。
- 预处理:利用词形还原进行增强的输入预处理。
- 问候检测:识别并响应常见的问候消息。
- 改述检测:识别并响应基于与先前消息相似度的用户查询。
- Streamlit 集成:提供一个简单且交互式的 Web 界面用于聊天机器人。
安装
先决条件
- Python 3.x
- Streamlit
- scikit-learn
- NLTK
步骤
-
克隆仓库:
bash git clone https://github.com/your-username/flexpert-chatbot.git cd flexpert-chatbot
-
安装所需包:
bash pip install -r requirements.txt
-
下载 NLTK 数据:
python import nltk nltk.download(wordnet) nltk.download(omw-1.4)
使用
-
准备数据集:确保有一个包含用户消息和相应模型响应的 JSONL 文件 (
dataset.jsonl)。结构应如下:json {"messages": [{"role": "user", "content": "User message here"}, {"role": "model", "content": "Model response here"}]}
-
运行 Streamlit 应用程序:
bash streamlit run app.py
-
与聊天机器人交互:在 Web 浏览器中打开 Streamlit 应用程序,并开始与聊天机器人交互。聊天机器人将根据数据集中的消息和响应进行响应。
代码概览
app.py
该文件包含 Streamlit 应用程序代码。它初始化对话历史记录,显示聊天消息,接受用户输入,并从聊天机器人获取响应。
chatbot.py
该文件包含聊天机器人的核心逻辑。它包括加载数据集、预处理用户输入、检测问候消息以及使用余弦相似度查找最相关响应的函数。
关键函数
load_jsonl(file_path):从 JSONL 文件加载数据集。preprocess_input(user_input):通过分词和词形还原预处理用户输入。is_greeting(message):检测消息是否为问候。get_response(user_input):基于余弦相似度获取用户输入的最相关响应。




