1 个不稳定版本

0.2.0 2024年4月7日

#258 in 机器学习

MIT 许可证

36KB
403

chaz

Chaz 就是 Chaz。

这是一个 Matrix 机器人,它连接到 AIChat,以在 Matrix 中提供访问“10+ AI平台,包括OpenAI、Gemini、Claude、Mistral、LocalAI、Ollama、VertexAI、Ernie、Qianwen...”的功能。

您不需要运行自己的Matrix homeserver即可使用此机器人。它是一个任何 homeserver 都可以使用的机器人,您只需为它创建一个账户即可。

您需要自己的API密钥或已配置好的本地AI。

安装

chaz 仅在 crates.io 上打包,但建议您现在从 git HEAD 运行。

对于 Nix 用户,此仓库包含一个Nix flake。有关配置的详细信息,请参阅设置部分

设置

首先,为机器人设置任何Matrix服务器上的账户。

为机器人创建一个包含其登录信息的配置文件。

重要:确保您已设置 allow_list,否则机器人将不会响应

homeserver_url: https://matrix.org
username: "chaz"
password: "" # Optional, if not given it will ask for it on first run
allow_list: "" # Regex for allowed accounts.
state_dir: "$XDG_STATE_HOME/chaz" # Optional, for setting the chaz state directory
aichat_config_dir: "$AICHAT_CONFIG_DIR" # Optional, for using a separate aichat config
chat_summary_model: "" # Optional, set a different model than the default to use for summarizing the chat

Nix

开发正在使用 Nix flake 进行。安装 chaz 最简单的方法是使用 nix flakes。

 nix run github:arcuru/chaz

该 flake 包含一个 overlay,使其更容易导入到您的 flake 配置中。要使用它,将其添加到您的 inputs 中

    inputs.chaz.url = "github:arcuru/chaz";

然后,将 overlay inputs.chaz.overlays.default 添加到您的 pkgs。

该 flake 还包含一个 home-manager 模块,用于将 chaz 安装为服务。将模块导入到您的 home-manager 配置中,您就可以在 nix 中配置 chaz

{inputs, ... }: {
  imports = [ inputs.chaz.homeManagerModules.default ];
  services.chaz = {
    enable = true;
    settings = {
        homeserver_url = "https://matrix.jackson.dev";
        username = "chaz";
        password = "hunter2";
        allow_list = "@me:matrix.org|@myfriend:matrix.org";
    };
  };
}

运行

要运行它,只需

  1. 安装 chaz 并设置其配置。
  2. 安装 AIChat
  3. 使用您想要的模型和默认值配置 AIChat
  4. chaz 创建一个包含登录详情的配置文件。
  5. 运行机器人并指定其配置文件位置 chaz --config config.yaml

为了避免对后端造成压力,机器人不会响应在它未运行时发送的旧消息。

依赖项

~25–45MB
~739K SLoC