autonomous-hr-chatbot 项目介绍
项目概述
autonomous-hr-chatbot
是一个企业级应用原型,它能够通过使用手头的工具自动回答人力资源相关的问题。该项目结合了 ChatGPT、LangChain、Pinecone 和 Streamlit 等技术,旨在创建一个智能化的 HR 助手。
技术实现
此聊天机器人依赖于 LangChain 的代理和工具模块。它使用 Pinecone 作为向量数据库,并由 ChatGPT 或 gpt-3.5-turbo 提供支持。前端开发则使用了 Streamlit 结合其专门的 streamlit_chat 组件。
工具介绍
- 考勤政策工具:这是一个由 ChatGPT 生成的样本 HR 政策文档。OpenAI 的
text-embedding-ada-002
模型被用来为该文档创建嵌入,并存储在 Pinecone 的索引中。 - 员工数据工具:一个包含伪造员工数据的 CSV 文件(例如姓名、主管、请假次数等)。这些数据被加载为 pandas dataframe,并通过 LangChain 的 PythonAstREPLTool 进行操作。
- 计算工具:这使用了 LangChain 的计算链模块,即 LLMMathChain。
项目功能
该项目的一个显著特点是,能够实时回答与 HR 相关的各类问题,如考勤政策的查询、员工信息的获取以及简单的计算请求。用户可以通过友好的聊天界面与系统交互,获得所需的信息。
使用指南
要体验此项目,需按以下步骤操作:
- 安装 Python 3.10。
- 克隆项目仓库至本地目录。
- 在终端中导航至本地目录,并运行
pip install -r requirements.txt
来安装所有必要模块。 - 在
hr_agent_backend_local.py
文件中输入您的 API 密钥(或hr_agent_backend_azure.py
文件,若要使用 Azure 版本,则需在frontend.py
文件中取消注释)。 - 运行终端命令
streamlit run hr_agent_frontent.py
启动应用。
数据管理
要在 Pinecone 中存储嵌入,请按照下列步骤进行:
- 在 pinecone.io 创建一个 Pinecone 帐户(有免费版)。记下 Pinecone 的 API 和环境值。
- 运行
store_embeddings_in_pinecone.ipynb
的笔记本,并替换 Pinecone 和 OpenAI 的 API 密钥。
技术栈
- Azure OpenAI 服务:为 Azure 客户提供的 OpenAI 服务。
- LangChain:用于围绕大型语言模型(LLM)构建应用的开发框架。
- Pinecone:用于存储嵌入的向量数据库。
- Streamlit:用于前端开发的轻量框架,适用于 Python Web 应用的部署。
- Azure Data Lake:用于放置员工数据 CSV 文件。任何其他云存储(如 blob, S3 等)也适用。
- Azure Data Factory:用于创建数据管道。
- SAP HCM:员工数据的源系统。
项目作者
Stephen Bonifacio
欢迎通过以下方式与我联系:
- LinkedIn: Stephen Bonifacio
- Twitter: Stepanogil
以上就是关于 autonomous-hr-chatbot
项目的介绍,希望能为您提供帮助!