• SolidUI社区-Huggingface Spaces


    背景

    随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

    项目地址: https://github.com/CloudOrc/SolidUI

    项目镜像地址: https://gitee.com/CloudOrc/SolidUI

    社区官网: https://cloudorc.github.io/SolidUI-Website

    Discord: https://discord.gg/NGRNu2mGeQ

    Huggingface Spaces

    介绍

    Huggingface Spaces是一个基于云的平台,允许用户轻松地构建、训练和部署先进的AI模型。它具有以下主要功能:

    • 模型托管 - 用户可以在Spaces上托管预训练或定制的Transformer模型,并与他人共享。这包括各种NLP、计算机视觉和语音模型。
    • 训练平台 - Spaces提供了一个基于云的平台,允许用户使用强大的GPU训练他们的模型。它与主要的深度学习框架集成。
    • 模型部署 - 用户可以将他们在Spaces上训练的模型作为REST API端点部署,以便轻松地将模型集成到应用程序中。部署支持批量和实时请求。
    • 数据集管理 - Spaces允许用户上传和管理数据集,以用于模型的训练和优化。它还提供了基于云的存储。
    • 协作 - Spaces具有协作功能,允许团队成员一起训练和部署模型。用户可以分享模型和数据集。
    • MLOps工具 - Spaces提供了MLOps功能如模型版本控制、项目管理、CI/CD 管道等来帮助管理机器学习生命周期。
    • 免费层 - Spaces提供免费层让用户体验平台。付费层提供更大的计算资源和存储。
      总体而言,Huggingface Spaces旨在成为机器学习从研究到生产全流程的一站式平台,降低构建及部署AI应用的门槛。它的目标用户包括机器学习研究人员、数据科学家以及企业。

    功能需求

    SolidUI Huggingface Spaces 是为了调用代理API和自研模型API。

    0.2.0版本实现了一个基于GPT模型的图像生成web应用。主要功能如下:

    • 定义了一些辅助函数:
      • decode_image:将base64编码的图像解码为PIL Image对象
      • get_image_data:从matplotlib figure对象中提取图像数据,并转换为PIL Image对象
      • execute_code:执行传入的Python代码,从代码生成的fig对象中提取图像
    • gpt_inference函数:
      • 构造prompt,向GPT模型询问生成指定图像的Python代码
      • 调用OpenAI API,传入prompt、模型名、Key,请求生成代码
      • 执行生成的代码,提取fig中的图像数据,编码为base64
      • 将base64解码回PIL Image对象并返回
    • 使用gradio构建一个简单的web界面
      • 输入:代码生成提示、GPT模型名、OpenAI Key
      • 输出:生成的图像
      • 调用gpt_inference函数实现后端逻辑
        总体来说,实现了一个可以通过自然语言描述来让GPT生成图像的web应用 Demo。核心是调用OpenAI API获取生成代码,并执行代码来渲染图像。

    示例

    https://huggingface.co/spaces/CloudOrc/SolidUI
    在这里插入图片描述

    代码

    https://github.com/CloudOrc/SolidUI/blob/dev/soliduimodelui/spacesplugin/app.py

    如何成为贡献者

    • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
    • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
    • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
    • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;
    • 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
  • 相关阅读:
    C++的自定义结构——枚举、结构体、联合体
    变分自动编码器 (VAE)02/2 PyTorch 教程
    jmeter使用bzm线程组压测(Custom Thread Groups插件)
    【C++系列P5】‘类与对象‘-三部曲——[对象&特殊成员](3/3)
    头条百科是什么?创建头条百科效果怎么样?
    Onnxruntime输入和输出打印
    【无标题】
    Elasticsearch语法知多少之Template
    JAVA应该怎么学?
    【动画进阶】有意思的 Emoji 3D 表情切换效果
  • 原文地址:https://blog.csdn.net/qq_19968255/article/details/134012369