Skip to main content

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model.

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

· 4 min read

背景

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

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

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

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;