Project Icon

doppel-bot

AI聊天机器人模仿用户回复风格

DoppelBot是一个Slack应用,通过抓取目标用户的消息并微调大型语言模型来模仿其回复风格。项目采用无服务器架构,包含微调、推理和抓取功能。安装后,可使用简单命令训练和召唤机器人,实现个性化AI互动。

DoppelBot:用LLM替换你的CEO

添加到Slack

DoppelBot是一个Slack应用,它能抓取目标用户在Slack中的消息,并对大型语言模型(OpenLLaMa)进行微调,学习如何像目标用户一样回应。

DoppelBot运行实例

所有组件,包括微调、推理和抓取,都是无服务器的,运行在Modal上。

工作原理

阅读文档

使用方法

  • 安装应用
  • 在任何频道中,运行/doppel <user>。这里的<user>可以是你想要模仿的用户的Slack昵称或真实姓名。注意:目前我们限制每个工作区只能有一个目标用户,安装后不能更改。
  • 等待机器人完成训练(几分钟到一小时不等,取决于你的用户在Slack上的活跃程度)。你可以再次运行上述命令来检查状态。注意:Modal不会存储用于训练的任何Slack消息;我们只存储训练状态。

/doppel命令

  • 可选:将机器人重命名为<user>-bot(或任何你想要的名称)。
    • 前往管理应用页面,找到DoppelBot
    • 点击应用详情
    • 点击配置
    • 滚动到名为机器人用户的部分。点击编辑来更改名称。

/doppel命令

  • 在任何公共Slack频道中,在消息中包含@doppel(或如果你更改了名称,则使用新名称)将召唤机器人。

开发

这个仓库包含了你自己运行DoppelBot所需的一切。

设置Modal

  • 创建一个Modal账户。请注意,我们目前有一个等待名单——如果你想更快地被移出等待名单,请联系我们
  • 在你当前的Python虚拟环境中安装modal-clientpip install modal-client)。
  • 在你的环境中设置Modal令牌(modal token new)。

创建Slack应用

  • 前往 https://api.slack.com/apps 并点击创建新应用程序
  • 如果询问您想要如何创建应用程序,请选择从头开始
  • 为您的应用程序命名并选择您的工作区。
  • 在左侧导航栏中转到功能 > OAuth 和权限。 在作用域 > 机器人令牌作用域部分下,添加以下作用域:
    • app_mentions:read
    • channels:history
    • channels:join
    • channels:read
    • chat:write
    • chat:write.customize
    • commands
    • users.profile:read
    • users:read
  • 在同一页面的您工作区的 OAuth 令牌部分下, 点击安装到工作区(如果已安装,则重新安装)。
  • 创建一个 Modal 密钥
    • 创建密钥页面上,选择 Slack 作为类型。
    • 回到 Slack 应用程序设置页面,在左侧导航栏中转到设置 > 基本信息。 在应用程序凭据下,复制签名密钥并将其值粘贴到键 SLACK_SIGNING_SECRET 中。
    • 再次转到 OAuth 和权限并复制机器人用户 OAuth 令牌, 将其值粘贴到键 SLACK_BOT_TOKEN 中。
    • 将此密钥命名为 slack-finetune-secret

(可选)设置 Weights & Biases

要在 Weights & Biases 上跟踪您的微调运行,您需要创建一个 Weights & Biases 账户,然后创建一个 Modal 密钥并输入凭据(在密钥向导中点击 Weights & Biases 并按照步骤操作)。然后,在 src/common.py 中将 WANDB_PROJECT 设置为您想要使用的项目名称。

部署您的应用程序

在此仓库的根目录下,运行 modal deploy src.bot。这将把应用程序部署到 Modal,并在终端中打印一个 URL(类似 https://aksh-at--doppel.modal.run/)。

现在,我们需要将 Slack 应用程序指向这个 URL:

  • 在左侧导航栏中转到功能 > 事件订阅
    • 打开它。
    • 将上面的 URL 粘贴到请求 URL 字段中,并等待验证。
    • 订阅机器人事件下,点击添加机器人用户事件并添加 @app_mention
    • 点击保存更改
  • 在左侧导航栏中转到功能 > 斜杠命令。点击创建新命令。将命令设置为 /doppel,请求 URL 设置为与上面相同的 URL。
  • 返回基本信息页面,并点击安装到工作区

(可选)多工作区应用程序

如果您只想在自己的工作区中运行应用程序,上述步骤就足够了。如果您想将应用程序分发给其他人,您需要设置一个多工作区应用程序。要启用此功能,请在 src/common.py 中将 MULTI_WORKSPACE_SLACK_APP 设置为 True

然后,您需要设置 Neon,这是一个无服务器 Postgres 数据库,用于存储用户数据:

  • Neon 上创建账户和数据库。
  • 使用数据库凭据创建 Modal 密钥。
    • 创建密钥页面,选择 Postgres 作为类型。
    • 根据 Neon 提供的主机 URL、数据库名称、用户名和密码填写相应值。此页面有一个示例,展示了应该如何填写。
    • 将此密钥命名为 neon-secret
  • 在此仓库的根目录下运行 modal run src.db 以创建表格。
  • 在你的 Modal Slack 密钥中添加两个新的环境变量:SLACK_CLIENT_IDSLACK_CLIENT_SECRET(这些值应该在 Slack 应用的设置 > 基本信息中)。
  • 在 Slack 应用设置页面,进入设置 > 管理分发重定向 URL 应该是 https://<你的modal-run-url>/slack/oauth_redirect,其中 <你的modal-run-url> 是你在上面部署应用后收到的 URL。确保一切看起来正确后,点击激活公共分发

现在,使用 modal deploy src.bot 部署应用将为你处理所有 OAuth 的复杂细节,并创建一个可以被任何人安装的多工作区 Slack 应用。默认情况下,安装链接位于 https://<你的modal-run-url>/slack/install

(可选)手动运行每个步骤

如果你愿意,也可以手动运行每个步骤。这对于调试或迭代特定功能很有用。

  • 爬虫:modal run src.scrape::scrape --user="<用户>"
  • 微调:modal run --detach src.finetune --user="<用户>"(注意 --detach 允许你随时使用 ctrl+c 而不会终止训练运行)
  • 推理:modal run src.inference --user="<用户>"
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号