开源 Slack AI 应用项目介绍
项目概述
开源 Slack AI 应用是一个开箱即用的 AI 驱动解决方案,旨在自托管环境中帮助用户实时总结 Slack 中的对话线程和频道。该项目利用 OpenAI 的技术,支持实时生成对话和频道的总结,未来还计划支持其他开放源码的语言模型。2023年9月,该项目的开源版本发布,旨在提供无需额外付费的 AI 功能。
功能特点
-
对话线程总结:用户可以为任何 Slack 对话线程生成详细总结,背后由 GPT-3.5-Turbo 提供支持。
-
频道概述:基于频道的历史消息内容,生成该频道的目的概述。此功能结合了几种自然语言处理模型,并使用少量的 GPT-4 来以自然语言解释分析结果。
-
按日期整理的频道摘要:用户可以为某个日期之后的所有频道消息生成一份详细的摘要,目前支持自定义提示命令。
-
完整频道历史摘要:(实验性功能)可以为频道的扩展历史生成详细的总结,也支持自定义提示命令。
快速入门
要在本地机器上安装和测试此项目,需要满足以下前提条件:
- 拥有 Python 3.9.x 至 3.11.x 的开发环境。
- OpenAI 的API密钥。
- 一个配置好的 Slack 应用及相关 API 令牌。
- Poetry 包管理器。
- ngrok 工具(推荐)。
安装步骤
-
克隆项目仓库到本地。
-
进入项目目录。
-
使用 Poetry 安装必要的 Python 包:
poetry install
-
下载词典模型:
poetry run python -m spacy download en_core_web_md
-
在项目的根目录中创建一个
.env
文件,填入 API 密钥和令牌,示例可参考example.env
文件。
Slack 应用配置
通过复制 manifest.json
文件并修改请求 URL 为你的 ngrok 或服务器 URL 来进行配置。创建一个新的 Slack 应用,并使用你的 manifest.yaml
文件来配置。
获取 “Bot User OAuth Token”和 App-Level Tokens,并将其添加至 .env
文件中。
使用方法
运行 FastAPI 服务器以启动应用:
poetry run uvicorn ossai.slack_server:app --reload
然后使用 ngrok 暴露服务器到互联网,并将 ngrok 生成的 URL 添加到 Slack 应用的设置中。
定制化选项
用户可以自定义频道和线程总结的 ChatGPT 提示,以适应不同需求。这些定制项主要在 topic_analysis.py
和 summarizer.py
文件中进行修改。
测试
此项目使用 pytest
和 pytest-cov
运行测试并测量代码的测试覆盖率。
在项目根目录下执行以下命令来运行测试:
pytest --cov=ossai tests/
测试结果将展示代码覆盖率及未覆盖的行数。
未来增强
项目计划未来增加以下功能:
- 支持替代和开源的语言模型。
- 加强用户反馈机制以改善 AI 学习效率。
- 支持外部数据上下文读取,如公司知识库。
- 实现情感分析工具。
贡献指南
项目接受任何形式的贡献。用户可以阅读 CONTRIBUTING.md
了解提交反馈、报告 Bug、提出功能请求或贡献代码的方法。
许可
本项目基于 GPL-3.0 许可证开源。详细信息请见 LICENSE.md
文件。
通过这个项目,用户可以更好地管理和总结 Slack 对话,为团队协作增添智能帮助。参与开源项目的用户不仅能使用这些功能,还能对项目的未来发展贡献自己的力量。