Home

Awesome

机体

直观的大模型应用软件:机体 (qt5+llama.cpp)

[ 中文 | English ]

视频介绍 https://www.bilibili.com/video/BV15r421h728/?share_source=copy_web&vd_source=569c126f2f63df7930affe9a2267a8f8

<img src="https://github.com/ylsdamxssjxxdd/eva/assets/63994076/a7c5943a-aa4f-4e46-a6c6-284be990fd59" width="300px">

特点

    本地模型对话、网络模型对话、模型api、网页服务、智能体、多模态、知识库问答、代码解释器、软件控制、文生图、声转文、模型量化、模型评测

快速开始

  1. 下载一个机体

        windows下载 .exe 后缀的程序,linux下载 .AppImage 后缀的程序
        其中cpu版本使用avx加速,兼容性较好;cuda版本使用nvidia显卡加速;vulkan版本可以使用任意显卡加速,速度不如cuda版本
    
  2. 下载一个gguf格式模型

  3. 装载!

    • 点击装载按钮,选择一个gguf模型载入内存
  4. 发送!

    • 在输入区输入聊天内容,点击发送
  5. 加速!

    • 点击设置,调整gpu负载层数,显存充足建议拉满,注意显存占用超过95%的话会很卡

    • 同时运行sd的话要确保给sd留足显存

基础功能

<details> <summary> 两种模式 </summary>
  1. 本地模式:用户左键单击装载按钮,通过装载本地的模型进行交互

  2. 链接模式:用户右键单击装载按钮,输入某个模型服务的api端点进行交互(要求服务可以提供default模型且没有设置API-KEY)

</details> <details> <summary> 三种状态 </summary>
  1. 对话状态

    • 机体的默认状态,在输入区输入聊天内容,模型进行回复

    • 可以事先约定好角色

    • 可以使用挂载的工具

    • 可以上传csv格式的题库进行测试

    • 可以按f1截图,按f2进行录音,截图和录音会发送给多模态或whisper模型进行相应处理

  2. 补完状态

    • 在输出区键入任意文字,模型对其进行补完
  3. 服务状态

    • 机体成为一个开放api端口的服务,也可以在网页上进行聊天
</details> <details> <summary> 六个工具 </summary>

在 本地模式 + 对话状态 下,用户可以点击约定为模型挂载工具

    原理是在系统指令中添加一段额外的指令来指导模型调用相应的工具
    每当模型预测结束后,机体自动检测其是否包含调用工具的json字段,若有则调用相应的工具,工具执行完毕后将结果再发送给模型继续进行预测
  1. 计算器

    • 模型输出计算公式给计算器工具,工具将返回计算结果

    • 例如:计算888*999

    • 调用难度:⭐

  2. 软件控制台

    • 模型输出软件控制序号给软件控制台工具,工具将返回执行结果

    • 例如:播放音乐

    • 调用难度:⭐

  3. 系统终端

    • 模型输出终端指令给系统终端工具,工具将返回指令执行结果

    • 例如:我电脑的ip地址是多少

    • 调用难度:⭐⭐⭐

  4. 代码解释器

    • 模型输出完整的python代码给代码解释器工具,工具将返回执行结果

    • 例如:请用matplotlib绘制一个爱心

    • 调用难度:⭐⭐⭐⭐⭐

  5. 知识库

    • 模型输出查询文本给知识库工具,工具将返回三条最相关的已嵌入知识

    • 要求:用户需要先在增殖窗口上传文档并构建知识库

    • 例如:请问机体有哪些功能?

    • 调用难度:⭐⭐

    <img src="https://github.com/ylsdamxssjxxdd/eva/assets/63994076/a0b8c4e7-e8dd-4e08-bcb2-2f890d77d632" width="500px">
  6. 文生图

    • 模型输出绘画提示词给文生图工具,工具将返回绘制好的图像

    • 要求:用户需要先在增殖窗口配置文生图的模型路径,支持sd和flux模型

    • 例如:画一个女孩

    • 调用难度:⭐⭐

    <img src="https://github.com/ylsdamxssjxxdd/eva/assets/63994076/627e5cd2-2361-4112-9df4-41b908fb91c7" width="500px">
</details>

增强功能

https://github.com/user-attachments/assets/d1c7b961-24e0-4a30-af37-9c8daf33aa8a

<details> <summary> 视觉 </summary> </details> <details> <summary> 听觉 </summary> </details> <details> <summary> 语音 </summary> </details>

辅助功能

<details> <summary> 模型量化 </summary> </details> <details> <summary> debug输出 </summary> </details> <details> <summary> 机体同步率测试 </summary> </details>

源码编译

<details> <summary> 展开 </summary>
  1. 配置环境

  2. 克隆源代码

    git clone https://github.com/ylsdamxssjxxdd/eva.git
    
  3. 编译

    cd eva
    cmake -B build -DBODY_PACK=OFF -DGGML_VULKAN=OFF -DGGML_CUDA=OFF
    cmake --build build --config Release
    
    • BODY_PACK:是否需要打包的标志,若开启,windows下将所有组件打包为一个自解压程序,linux下将所有组件打包为一个AppImage文件

    • GGML_CUDA:是否需要启用cuda加速的标志

    • GGML_VULKAN:是否需要启用vulkan加速的标志

</details>

行动纲领

<details> <summary> 展开 </summary> </details>

概念

<details> <summary> 展开 </summary>
</details>

待办事项

已知BUG

<details> <summary> 展开 </summary>
</details>