<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Quantyverse]]></title><description><![CDATA[I create things about local AI, Games, the Metaverse and the combination of those. ]]></description><link>https://www.quantyverse.blog</link><image><url>https://substackcdn.com/image/fetch/$s_!gWqs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc506dc15-1ca8-4edd-ad0f-c9d591d0689d_363x363.png</url><title>Quantyverse</title><link>https://www.quantyverse.blog</link></image><generator>Substack</generator><lastBuildDate>Wed, 06 May 2026 11:44:21 GMT</lastBuildDate><atom:link href="https://www.quantyverse.blog/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Thomas Bernhard]]></copyright><language><![CDATA[de]]></language><webMaster><![CDATA[quantyverse@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[quantyverse@substack.com]]></itunes:email><itunes:name><![CDATA[Thomas Bernhard]]></itunes:name></itunes:owner><itunes:author><![CDATA[Thomas Bernhard]]></itunes:author><googleplay:owner><![CDATA[quantyverse@substack.com]]></googleplay:owner><googleplay:email><![CDATA[quantyverse@substack.com]]></googleplay:email><googleplay:author><![CDATA[Thomas Bernhard]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[What is RAG?]]></title><description><![CDATA[Retrieval Augmented Generation (RAG) explained simply]]></description><link>https://www.quantyverse.blog/p/what-is-rag</link><guid isPermaLink="false">https://www.quantyverse.blog/p/what-is-rag</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Wed, 21 May 2025 06:24:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/8084ac2f-b5f9-4c2b-ae6e-88c00117b85a_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>RAG stands for Retrieval Augmented Generation. An LLM system using this method consists of two main components:</p><ul><li><p>First, relevant data is retrieved from a data source</p></li><li><p>Then the LLM uses this information to generate an answer to a query</p></li></ul><h3>Why does RAG exist?</h3><p>A Large Language Model only knows the information with which it was trained. This means that data that was published after the training time or was not included in the original training data - such as internal company documents - is unknown to the model.</p><p>RAG was developed precisely for such cases in order to supplement an LLM with up-to-date information and thus give it access to areas of knowledge for which it was not directly trained.</p><h3>What is RAG good for?</h3><ul><li><p>It can access current or specialized data, e.g. company knowledge, documents, websites, etc.</p></li><li><p>It gives better and more accurate answers because it gets the information from real sources.</p></li><li><p>It is more flexible: you don't have to retrain the model when you have new data - you just have to enter it into the search system.</p></li></ul><h3>Example with a slightly technical background</h3><p>If we want to provide a language model (LLM) with information from a book that it does not know, it would be inefficient to simply insert the entire book text - that would be too long and would exceed the token limit.</p><p>Instead, a process is used in which only the most relevant parts of the book are selected. To do this, the book text is first broken down into small sections and each of these sections is converted into a number vector (embedding) using an embedding model.</p><p>When a user asks a question, this question is also converted into a vector. This vector is then compared with the vectors of the book sections - the more similar they are, the more likely they are to match in terms of content.</p><p>The best matching sections are then passed back to the language model in text form as context. This allows the LLM to answer the question as if it had access to the book - without the book actually being included in the model training.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!YJgE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!YJgE!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 424w, https://substackcdn.com/image/fetch/$s_!YJgE!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 848w, https://substackcdn.com/image/fetch/$s_!YJgE!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 1272w, https://substackcdn.com/image/fetch/$s_!YJgE!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!YJgE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png" width="1078" height="326" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:326,&quot;width&quot;:1078,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:12481,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164062663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!YJgE!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 424w, https://substackcdn.com/image/fetch/$s_!YJgE!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 848w, https://substackcdn.com/image/fetch/$s_!YJgE!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 1272w, https://substackcdn.com/image/fetch/$s_!YJgE!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6f35b1f-c215-4b71-83f8-5bfee4da492f_1078x326.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I hope I was able to explain RAG to you in a simple way. If you have any questions, please contact me.</p><p>Best regards</p><p>Thomas from the Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p>P.S.: Visit my website <a href="http://www.quantyverse.ai">Quantyverse.ai</a> for products, bonus content, blog posts and more</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q8KP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q8KP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!Q8KP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!Q8KP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!Q8KP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q8KP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:292830,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164062663?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Q8KP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!Q8KP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!Q8KP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!Q8KP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F820471e0-2472-4b11-8eb0-dd5b4067e9c0_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Devlog #3: RAG-Engine]]></title><description><![CDATA[A simple RAG engine for local AI]]></description><link>https://www.quantyverse.blog/p/devlog-3-rag-engine</link><guid isPermaLink="false">https://www.quantyverse.blog/p/devlog-3-rag-engine</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Wed, 21 May 2025 06:18:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vw29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A lightweight and efficient solution for retrieval augmented generation</p><p>In my last devlog, I introduced you to my chat UI with NiceGUI. Today I would like to show you a new project: QV-RAG, a simple RAG engine for semantic search and document management.</p><h3>Why your own RAG engine?</h3><p>Up to now, I have used more complex frameworks for semantic searches. Although these were powerful and worked very well, they were also overloaded with functions that I didn't need. So I decided to develop my own, lean RAG engine that does exactly what I need - no more and no less. Also with the background of really understanding what I was doing. </p><h3>The structure</h3><p>The engine consists of three main components:</p><ol><li><p>a text splitter for intelligent document splitting</p></li><li><p>a storage system based on ChromaDB</p></li><li><p>a simple API for document management and queries</p></li></ol><p>The code has a modular structure and is easy to extend. This makes the engine not only easy to use, but also easy to maintain and customize.</p><h3>The implementation</h3><p>The main class `<strong>RAGEngine</strong>` is the entry point for all operations. It connects the various components and provides a clear API:</p><pre><code>```python

engine = RAGEngine(

    collection_name="my_docs",

    chunk_size=1000,

    chunk_overlap=200

)

```</code></pre><p>The engine supports various document types:</p><ul><li><p>Text files</p></li><li><p>Markdown</p></li><li><p>HTML</p></li><li><p>JSON</p></li><li><p>PDF (works but still needs to be improved)</p></li></ul><h3>Add documents</h3><p>Adding documents is very simple. You can either add individual texts or entire files:</p><pre><code>```python

# Add individual texts with metadata

engine.add_texts(

    texts=["Python is a popular programming language."],

    metadatas=[{"source": "manual", "category": "docs"}]

)

# Add a file

engine.add_file("document.md", metadata={"source": "file"})

```</code></pre><p>The engine takes care of this automatically:</p><ul><li><p>Recognizing the file type</p></li><li><p>Splitting into meaningful chunks</p></li><li><p>Distributing the metadata to the chunks</p></li><li><p>Storage in the database</p></li></ul><h3>The search function</h3><p>The semantic search is simple and effective:</p><pre><code>```python

results = engine.query(

    "What is Python?",

    where={"category": "docs"},

    top_k=3

)

```</code></pre><p>The engine not only provides the relevant text passages, but also metadata and similarity values. This makes it easy to filter and evaluate the results.</p><h3>Features</h3><p>What QV-RAG does:</p><ul><li><p>Intelligent text splitting with metadata preservation</p></li><li><p>Simple API for fast integration</p></li><li><p>Support for different document types</p></li><li><p>Flexible metadata management</p></li><li><p>Persistent storage with ChromaDB</p></li></ul><h3>Conclusion</h3><p>QV-RAG is an example of how to build a good working RAG engine with relatively little code. The engine may not be the ultimate RAG engine, but it is still a useful tool for semantic search and document management.</p><p>You can find the complete code in the GitHub repository:</p><p>[<a href="https://github.com/quantyverse/qv-rag">QV-RAG</a>]</p><p>There you will also find examples and documentation that show you how to use the engine in your projects.</p><p>See you next time,</p><p>Thomas from the Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p>P.S.: Visit my website <a href="http://www.quantyverse.ai">Quantyverse.ai</a> for products, bonus content, blog posts and more</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vw29!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vw29!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!vw29!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!vw29!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!vw29!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vw29!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:67872,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164062396?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vw29!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!vw29!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!vw29!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!vw29!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff019452b-fec4-43ef-a23c-8e76f390ef01_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Devlog #2: A simple chat UI for Ollama with NiceGUI]]></title><description><![CDATA[A simple and effective user interface for local AI]]></description><link>https://www.quantyverse.blog/p/devlog-2-a-simple-chat-ui-for-ollama</link><guid isPermaLink="false">https://www.quantyverse.blog/p/devlog-2-a-simple-chat-ui-for-ollama</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Wed, 21 May 2025 05:42:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!LLym!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In my last devlog, I introduced the QV Ollama SDK, which allows you to have conversations with local LLMs. I used Ollama as the backend. Today I would like to show how I built a simple but effective user interface for it.</p><h3>Why NiceGUI?</h3><p>So far, I have mostly used TypeScript frameworks for user interfaces, such as React. This time, however, I was looking for a Python solution and found NiceGUI. I was a bit skeptical at first, but as I got to know the Python framework, my enthusiasm grew. It is based on Vue and Quasar. It finds a good middle ground between magic (which makes development easier) and fundamental building blocks to build real custom things. So, here's how the simple UI is structured.</p><h3>The structure</h3><p>The chat application consists of three main parts:</p><ol><li><p>a header with model selection and settings</p></li><li><p>a chat area that displays the conversation</p></li><li><p>a footer with input field and send button</p></li></ol><p>The code is divided into small, focused components. This makes the application easy to maintain and expand.</p><h3>The implementation</h3><p>The main application file is quite simple. It sets up the basic structure and connects all components:</p><pre><code>```python

@ui.page('/')

def main():

    # initialize manager

    model_manager = ModelManager()

    chat_manager = ChatManager(model_manager)

    dialog_manager = DialogManager(model_manager, chat_manager)

    # Create header

    create_header(dialog_manager, model_manager)

    # Main area

    with ui.column().classes(f'w-full max-w-{MAX_WIDTH} {MARGIN_X} {MARGIN_Y}'):

        chat_manager.chat_messages()

        ui.timer(UI_REFRESH_INTERVAL, chat_manager.chat_messages.refresh)

    # Create footer

    create_footer(chat_manager)

```</code></pre><p></p><p>The chat interface automatically refreshes every 0.1 seconds to display new messages. This ensures a smooth experience when receiving replies from the LLM.</p><h3>The chat experience</h3><p>The chat interface is designed to be simple and intuitive:</p><ul><li><p>Messages appear in a clean, modern layout</p></li><li><p>The input field is always visible at the bottom</p></li><li><p>Messages can be sent by clicking on the Send button or by pressing Enter</p></li><li><p>The conversation history is saved automatically</p></li></ul><p>The current implementation provides a solid foundation that can be expanded as required.</p><p>You can find the complete code in the GitHub repository:</p><p>[<a href="https://github.com/quantyverse/qv-ollama-simple-ui">QV Ollama Simple UI</a>]</p><p>There you will also find the other code modules that you can view and how to start the UI.</p><p>See you next time,</p><p>Thomas from the Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p>P.S.: Visit my website <a href="http://www.quantyverse.ai">Quantyverse.ai</a> for products, bonus content, blog posts and more</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LLym!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LLym!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!LLym!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!LLym!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!LLym!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LLym!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:77546,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164061087?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LLym!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!LLym!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!LLym!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!LLym!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F34ccf51e-268e-44a3-8a75-36425aa39ae0_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[What are Large Language Models (LLMs)]]></title><description><![CDATA[A simple introduction to how Large Language Models work]]></description><link>https://www.quantyverse.blog/p/what-are-large-language-models-llms</link><guid isPermaLink="false">https://www.quantyverse.blog/p/what-are-large-language-models-llms</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Wed, 21 May 2025 05:21:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WHP8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We are in the midst of a time in which Large Language Models are having a major impact. Thanks to chat interfaces such as ChatGPT, Claude or Le Chat by Mistral, anyone can now use this AI technology. What makes it so special is that it makes knowledge and certain forms of intelligence accessible to people - just like electricity or drinking water in different regions of the world.</p><p>But what exactly are Large Language Models? Put simply, you can think of them as text-based assistants that can recognize patterns and generate suitable answers to questions based on large amounts of training data. For example, if you ask for a recipe with coconut milk, ginger and vegetables, the LLM will probably suggest a curry recipe - simply because it has learned that these ingredients often go together. But how does an LLM actually "learn" and where does its extensive knowledge come from?</p><h3>How does a Large Language Model learn?</h3><p>A Large Language Model (LLM) is essentially based on a neural network with a special transformer architecture - but more on this in another article. These networks can be trained to develop certain skills. In the case of LLMs, this means that they are fed a huge amount of text - we are talking about data volumes in the range of several terabytes, which include large parts of the Internet such as Wikipedia, books, news articles and many other texts.</p><p>During training, the model learns to recognize patterns and correlations in texts. As a result, it can predict with a high degree of probability which word might follow next. This creates a kind of rough "world model" - albeit limited.</p><p>For example, if the model reads: 'Today the... is shining', it calculates from previously learned patterns that the next word is probably 'sun' and not 'banana'. This is exactly how meaningful texts are created.</p><p>The model doesn't really understand things in a human sense. It doesn't really understand concepts like gravity, it just reproduces relationships from the training data. It has no real understanding of physics. It generates and combines words very quickly on the basis of probabilities.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WHP8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WHP8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!WHP8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!WHP8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!WHP8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WHP8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp" width="259" height="259" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:259,&quot;bytes&quot;:274692,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164060552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WHP8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!WHP8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!WHP8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!WHP8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdae4c3ca-83af-4555-9715-bec70463dea9_1024x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Nevertheless, large language models are real all-rounders and can support us in many areas of everyday life and work. Imagine you need help writing a blog post, want to quickly summarize a long article or explain complicated topics in an understandable way - this is exactly where these AI systems come into play. They can also be a great help when programming by generating code snippets or assisting with troubleshooting. All these applications have one thing in common: they make our work easier and faster. However, you should always check the answer for correctness if you as a user have the feeling that something might not be correct.</p><p>LLMs come in different sizes. The best models such as GPT4o, GPT-o1 or Claude 3.7-Sonnet are very large and require large amounts of computing capacity, which is why they have to be operated in data centers. This also means that we do not have complete control over how our data is processed or stored.</p><p>Meanwhile, there are also small but powerful Large Language Models such as Gemma 2 and Gemma 3 from Google. These smaller variants, often referred to as Small Language Models (SLMs), are compact enough to be run locally. In other words, on a home computer or even on a smartphone.</p><p>My focus in the Quantyverse is on these local application possibilities with SLMs - I develop applications that run directly on my own hardware. They can't compete with the big models from OpenAI or Anthropic. But even the smallest SLMs are getting more and more impressive and are already very helpful for many tasks. If you're curious about what I'm developing, feel free to drop by or create an account to stay up to date.</p><p>I hope this blog article has given you a good insight and that I have been able to introduce you to Large Language Models without getting too technical.</p><p>See you next time and best regards</p><p>Thomas from the Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p></p><p>P.S.: Visit my website <a href="http://www.quantyverse.ai">Quantyverse.ai</a> for products, bonus content, blog posts and more</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QCJy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QCJy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!QCJy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!QCJy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!QCJy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QCJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:450262,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164060552?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QCJy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!QCJy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!QCJy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!QCJy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fef0ab914-c192-4973-a1a4-46c7c797fe9b_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Context Window of LLMs]]></title><description><![CDATA[How LLM's conversations are understood]]></description><link>https://www.quantyverse.blog/p/context-window-of-llms</link><guid isPermaLink="false">https://www.quantyverse.blog/p/context-window-of-llms</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Wed, 21 May 2025 05:11:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>The context window</h2><p>In recent years, large language models such as GPT4o, Claude-3.7-Sonnet or Deepseek-V3 have changed the way we interact with technology. We can now talk directly to these systems in apps such as ChatGPT and receive direct responses to our queries. The models seem to remember previous conversations and provide contextual feedback.</p><p>But how exactly does this actually work? Technically speaking, LLMs only generate responses to individual queries and do not have an integrated memory in their neural network. It's almost as if they have a kind of memory, although technically speaking they don't have a memory of their own.</p><p>If you have a longer conversation with a Large Language Model (LLM), the so-called context window comes into play. What happens is that the LLM not only receives the latest requests and responses, but also all previous messages. The longer the conversation lasts, the more extensive the text that is fed into the language model becomes.</p><p>However, LLMs have a limitation: they have a fixed context window that defines how much text they can store and process at a time. If a conversation becomes too extensive, the neural network may no longer remember all previous questions and answers. The result is that it loses the context of the conversation and thus provides less precise or even poor answers.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!OF90!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!OF90!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 424w, https://substackcdn.com/image/fetch/$s_!OF90!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 848w, https://substackcdn.com/image/fetch/$s_!OF90!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 1272w, https://substackcdn.com/image/fetch/$s_!OF90!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!OF90!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png" width="1122" height="325" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:325,&quot;width&quot;:1122,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:10991,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164060115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!OF90!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 424w, https://substackcdn.com/image/fetch/$s_!OF90!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 848w, https://substackcdn.com/image/fetch/$s_!OF90!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 1272w, https://substackcdn.com/image/fetch/$s_!OF90!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d409ead-cf64-4e72-9129-573044224cf8_1122x325.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>But Large language models are developing rapidly and their context windows are becoming ever more extensive. Some models, such as Gemini 1.5 or Qwen-2.5-Turbo, are already reaching the millions, and this trend is continuing.</p><p>The scale of this development means that in the near future entire books can be easily integrated into a Large Language Model (LLM). This opens up ever better possibilities for information processing and knowledge integration.</p><p>The situation is different for smaller models, especially for local AI systems. Context windows still play a decisive role here. These models have a more compact design and therefore have significantly smaller context windows, which limits their ability to absorb and process information.</p><p>This has a direct impact on the applicability of such systems. Smaller models have to be cleverer with their limited memory space. They develop strategies to select and prioritize important information.</p><p>One example is Retrieval Augmented Generation (RAG), which makes it possible to pull specific knowledge from a database in response to a query and use it to feed the LLM without needing the entire document. But more on this in another blog post.</p><p>I hope I was able to give you an understanding of what the context window is and hope you continue to have fun with AI. Until next time.</p><p>Best regards</p><p>Thomas from the Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p></p><p>P.S.: Visit my website <a href="http://www.quantyverse.ai">Quantyverse.ai</a> for products, bonus content, blog posts and more</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LWxQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LWxQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!LWxQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!LWxQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!LWxQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LWxQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp" width="706" height="706" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:706,&quot;bytes&quot;:148894,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164060115?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LWxQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!LWxQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!LWxQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!LWxQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa869f735-f611-4ab0-8a98-c1f0800205b6_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Devlog #1: Ollama Chat SDK]]></title><description><![CDATA[The first step towards an AI app]]></description><link>https://www.quantyverse.blog/p/devlog-1-ollama-chat-sdk</link><guid isPermaLink="false">https://www.quantyverse.blog/p/devlog-1-ollama-chat-sdk</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Tue, 20 May 2025 16:04:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!L18Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Why I start a devlog</h2><p>There are good reasons to document projects. For me personally, these are above all:</p><p>- A look back: how have I developed and what have I learned?</p><p>- To share inspiration: Others can benefit from my journey</p><p>- Self-reflection: Understanding my work better and questioning it critically</p><p>I am starting my devlog based on these considerations. I will record my development steps here - as a reminder for myself and perhaps also as motivation or inspiration for others.</p><h3>Ollama as a backend</h3><p>I rely on local AI because I am convinced that AI systems should run on private hardware. There are various solutions for running Large Language Models (LLMs) directly on your own computer. However, I am particularly fond of Ollama. I will therefore use Ollama as the LLM backend for my AI applications.</p><h3>QV Ollama SDK</h3><p>Ollama not only impresses with its simple use of Large Language Models (LLMs), but also with its efficiency. The Python API is user-friendly and straightforward. When I started building an AI chat application, I quickly realized that I needed a small solution to have conversations with a full conversation history. This means that the LLM not only receives the latest message, but the entire context of previous requests and responses. To simplify this process, I developed a small Python SDK that allows messages to be saved in chat histories. The LLM's response can either be streamed or output as a whole. Here is an example of a simple output.</p><pre><code>```python

from qv_ollama_sdk import OllamaChatClient

# Create a client with a system message

client = OllamaChatClient(

    model_name="gemma2:2b",

    system_message="You are a helpful assistant."

)

# Simple chat - uses Ollama's default parameters

response = client.chat("What is the capital of France?")

print(response)

# Continue the conversation

response = client.chat("And what is its population?")

print(response)

# Set specific parameters only when you need them

client.temperature = 1.0 # Using property setter

client.max_tokens = 500 # Using property setter

client.set_parameters(num_ctx=2048) # For multiple parameters

# Get conversation history

history = client.get_history()

```</code></pre><p>Or if you want to stream the answer of the LLM:</p><pre><code>```python

from qv_ollama_sdk import OllamaChatClient

client = OllamaChatClient(model_name="gemma2:2b")

# Stream the response

for chunk in client.stream_chat("Explain quantum computing."):

    print(chunk, end="", flush=True)

```</code></pre><p></p><p>If you want to try it out, here is the link to the Github repo:</p><p>[<a href="https://github.com/quantyverse/qv-ollama-sdk">QV Ollama SDK</a>]</p><p>Maybe this little helper is also helpful for you. Next I will build a super simple user interface with which we can interact with an LLM.</p><p>Until the next devlog, best regards</p><p>Thomas from the Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p>P.S.: Visit my website <a href="http://www.quantyverse.ai">Quantyverse.ai</a> for product, bonus content, blog posts and more</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L18Q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L18Q!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!L18Q!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!L18Q!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!L18Q!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L18Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:60644,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164015149?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L18Q!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!L18Q!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!L18Q!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!L18Q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff52f574a-e0af-413c-8288-d5ae540c3127_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[What is the Quantyverse]]></title><description><![CDATA[Venturing into the unknown with local AI applications]]></description><link>https://www.quantyverse.blog/p/what-is-the-quantyverse</link><guid isPermaLink="false">https://www.quantyverse.blog/p/what-is-the-quantyverse</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Tue, 20 May 2025 15:20:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0gvL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The Quantyverse is a project that I'm working on alongside my full-time job. Over the past few months, I've changed my direction several times because I didn't know exactly what I really wanted to do. Initially, I was guided by various thoughts and expectations: What makes economic sense? How can I position myself quickly? Such considerations often led me away from my original idea.</p><p>Self-doubt and uncertainty accompanied me - can I really do it? Isn't my vision too big? These questions have sometimes blocked me. Nevertheless, I am confident that I will steer Quantyverse in the right direction. The following description gives a first insight into my current vision.</p><p>"The Quantyverse will be a Multiverse powered by local AI. At the moment I am working on Quanty AI which is the entry point to this Universe. With Ollama as LLM Backend you create your own Companions which are animated Pixel Sprites, can use Agent SKILLS and you can interact with them in interactive Micro Fictions. I am currently expanding the Fictions, Gamify the whole experience and make it visually more appealing."</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!0gvL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0gvL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 424w, https://substackcdn.com/image/fetch/$s_!0gvL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 848w, https://substackcdn.com/image/fetch/$s_!0gvL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 1272w, https://substackcdn.com/image/fetch/$s_!0gvL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0gvL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp" width="514" height="270.05078125" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:538,&quot;width&quot;:1024,&quot;resizeWidth&quot;:514,&quot;bytes&quot;:94060,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164012452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0gvL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 424w, https://substackcdn.com/image/fetch/$s_!0gvL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 848w, https://substackcdn.com/image/fetch/$s_!0gvL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 1272w, https://substackcdn.com/image/fetch/$s_!0gvL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F129db503-3d2d-41c8-a87d-47c9fb181d99_1024x538.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>My goal is to create a fascinating AI-based universe based entirely on local AI - systems that run directly on a personal computer. This is a fusion of several of my passions: AI technology, systemic interactions, gaming, virtual worlds and storytelling.</p><p>I am aware that I do not yet have all the skills and complete knowledge to implement this project immediately. That's why I see it as an exciting journey of development. My blog should not only document my progress, but also provide insights and learning experiences for other interested parties.</p><p>My vision goes beyond a simple software project: I want to create a dynamic, interactive multiverse in which AI systems communicate with each other, generate their own stories and form a living virtual environment. An ecosystem that arouses curiosity and invites people to participate and explore.</p><p>I see myself as an Indie AI Developer . My goal is to create a place that is not only fun for me but also for you, in the hope that you will colonize the different worlds.</p><p>Greetings,</p><p>Thomas from the Quantyverse</p><p>P.S.: Visit my website <a href="http://www.quantyverse.ai">Quantyverse.ai</a>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JYbX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JYbX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!JYbX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!JYbX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!JYbX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JYbX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:214752,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/164012452?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JYbX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!JYbX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!JYbX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!JYbX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F43766171-9353-4d50-bf86-b5f69d65364e_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Indie AI Developers]]></title><description><![CDATA[The road to an independent AI developer]]></description><link>https://www.quantyverse.blog/p/indie-ai-developers</link><guid isPermaLink="false">https://www.quantyverse.blog/p/indie-ai-developers</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Fri, 16 May 2025 08:29:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8jps!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We mainly know the term indie developers from the games industry. These are developers who work solo or in small teams on their own game ideas - completely independently of large corporations. They take care of development, marketing and publishing themselves. This often results in unusual game mechanics and creative level designs that you wouldn't expect. Sure, that means a lot of work, but the freedom and independence more than make up for it for many.</p><p>In my opinion, what works in the gaming world can be transferred to indie AI developers.</p><p>It's about independent AI developers who develop creative applications away from the big tech companies. I definitely see potential here that needs to be exploited. We are all noticing how rapidly and inexorably technology is developing. These advances in AI - with increasingly sophisticated and compact models - allow us developers to work more efficiently and faster than ever before.</p><p>In concrete terms, this means that we have completely new opportunities to create and design things ourselves. The range of possibilities in which we can realize ourselves is huge. That's exactly why I want to go down the path of an independent AI developer and find my own niche.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8jps!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8jps!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!8jps!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!8jps!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!8jps!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8jps!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp" width="416" height="416" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/db54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:416,&quot;bytes&quot;:63980,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/163692299?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fca0d0d78-30e1-4531-8b34-05ecacf91491_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8jps!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!8jps!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!8jps!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!8jps!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdb54ff33-9572-41b3-905e-b20ef2f28623_1024x1024.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>At this point, let me briefly explain what the Quantyverse is all about: my focus is on local AI applications, with the aim of enriching immersive virtual experiences, such as video games, with local AI. Everything I develop revolves around the question: How can I use AI in a meaningful way?</p><p>Before I venture into more complex projects like games with AI-controlled characters or virtual avatars, I want to build a solid foundation. My goal is to develop a really good feel for the technologies. That's why I start with very basic Large Language Model (LLM) applications and build up different systems step by step - from RAG systems to crawlers and AI agents.</p><p>I will share my findings and developments with you on this blog. My hope is that you will find something here that will help you. Some of the applications will be open source, some will be free and some will also cost something.</p><p>For me, the Quantyverse is not a business idea, but a passion - a journey that I would like to take you on.</p><p>At this point, I would like to encourage you to just get started, even if you don't yet know exactly where the journey will take you. Over time, your inner picture of what you want to create will become clearer and clearer. This is still the case for me today: I am increasingly able to sense which topics appeal to me more and where my interests lie. The most important thing is to keep at it - even if it's only 30 minutes a day. Invest this time in something that will take you further.</p><p> Learn more about the things i build and use them at <a href="https://quantyverse.ai">Quantyverse</a></p><p>Have fun developing!</p><p>Best regards</p><p>Thomas from the Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!i1v5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!i1v5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!i1v5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!i1v5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!i1v5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!i1v5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp" width="728" height="728" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:728,&quot;bytes&quot;:192402,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.quantyverse.blog/i/163692299?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!i1v5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 424w, https://substackcdn.com/image/fetch/$s_!i1v5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 848w, https://substackcdn.com/image/fetch/$s_!i1v5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 1272w, https://substackcdn.com/image/fetch/$s_!i1v5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa5d9bc2e-5231-41ff-ba7e-a7813184a7dd_1024x1024.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Buttons in Nvidia Omniverse (ui.Button)]]></title><description><![CDATA[Learn how to add buttons to your Omniverse application with omni.ui]]></description><link>https://www.quantyverse.blog/p/buttons-in-nvidia-omniverse-uibutton</link><guid isPermaLink="false">https://www.quantyverse.blog/p/buttons-in-nvidia-omniverse-uibutton</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Thu, 12 Sep 2024 15:55:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fe7fe908-3cd9-4d7c-9c86-381f52d21317_1600x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/02-ui-button.html#uibutton-tutorial">ui.Button Tutorial</a></h1><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/02-ui-button.html#introduction">Introduction</a></h2><p>The <code>ui.Button</code> is used to create interactive buttons in <code>omni.ui</code>. This tutorial will show you how to create buttons and handle button click events.</p><p>Check out the full Quantyverse&#180;s Omniverse Guide at <a href="https://quantyverse.github.io/omniverse-tutorials/">Quantyverse Tutorials</a></p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/02-ui-button.html#prerequisites">Prerequisites</a></h2><ul><li><p>Basic understanding of Python.</p></li><li><p>Nvidia Omniverse environment setup.</p></li></ul><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/02-ui-button.html#creating-a-basic-button">Creating a Basic Button</a></h2><p>To create a button, you use the <code>ui.Button</code> class. Below is an example of how to create a basic button and handle a click event.</p><pre><code><code>import omni.ui as ui

# Create a window
window = ui.Window("Button Example", width=300, height=200)

# Create a button inside the window
with window.frame:
    def on_button_click():
        print("Button clicked!")
    
    ui.Button("Click Me", clicked_fn=on_button_click)
</code></code></pre><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/02-ui-button.html#customizing-a-button">Customizing a Button</a></h2><p>You can customize a button by setting its text, icon, and other properties. Below is an example of how to create a button with a custom icon and text.</p><pre><code><code>import omni.ui as ui
from omni.ui import color as cl

window = ui.Window("Customized Button", width=300, height=200)
with window.frame:
    def on_button_click():
        print("Styled button clicked!")
    
    ui.Button(
        "Styled Button",
        clicked_fn=on_button_click,
        style={"background_color": cl.('#097eff')}
    )
</code></code></pre><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/02-ui-button.html#summary">Summary</a></h2><p>In this tutorial, we learned how to create and handle button click events in <code>omni.ui</code>. We covered the basics of creating a button and handling click events. Buttons are essential for creating interactive UI applications in Nvidia Omniverse, and mastering them will help you create more sophisticated and user-friendly interfaces.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/index.html#ai-assisted-learning">AI-Assisted Learning</a></h2><p>To enhance your learning experience, we're integrating our knowledge base into AI assistants across different platforms. Choose your preferred platform and start learning:</p><ul><li><p><strong>CustomGPT</strong>: <a href="https://chatgpt.com/g/g-LRe32VOTi-quanty-omniverse-tutorials">Quanty Omniverse Tutorials</a></p></li><li><p><strong>Poe</strong>: <a href="https://poe.com/Quanty_Omniverse_Bot">Quanty Omniverse Bot</a></p></li></ul><p>Please note that both our knowledge base and AI assistants are continuously evolving. The AI's responses are based on the information we've provided, which means they may occasionally make mistakes or have gaps in their knowledge.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>Thank you and I hope the Tutorial was helpful.</p><p>Thomas<br>Chief of Dreams and Omniverse Enthusiast, Quantyverse</p>]]></content:encoded></item><item><title><![CDATA[Nvidia Omniverse UI Label]]></title><description><![CDATA[Learn how labels work in omni.ui]]></description><link>https://www.quantyverse.blog/p/nvidia-omniverse-ui-label</link><guid isPermaLink="false">https://www.quantyverse.blog/p/nvidia-omniverse-ui-label</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Mon, 09 Sep 2024 08:01:14 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fe7fe908-3cd9-4d7c-9c86-381f52d21317_1600x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/01-ui-label.html#uilabel-tutorial">ui.Label Tutorial</a></h1><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/01-ui-label.html#introduction">Introduction</a></h2><p>The <code>ui.Label</code> is one of the simplest and most commonly used UI elements in <code>omni.ui</code>. It is used to display text within your UI. In this tutorial, we will learn how to create and customize labels.</p><p>Check out the full Quantyverse&#180;s Omniverse Guide at <a href="https://quantyverse.github.io/omniverse-tutorials/">Quantyverse Tutorials</a></p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/01-ui-label.html#prerequisites">Prerequisites</a></h2><ul><li><p>Basic understanding of Python.</p></li><li><p>Nvidia Omniverse environment setup.</p></li></ul><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/01-ui-label.html#creating-a-basic-label">Creating a Basic Label</a></h2><p>To create a label, you use the <code>ui.Label</code> class. Below is an example of how to create a basic label in a window.</p><pre><code><code>import omni.ui as ui

# Create a window
window = ui.Window("Label Example", width=300, height=200)

# Create a label inside the window
with window.frame:
    ui.Label("Hello, Omniverse!")
</code></code></pre><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/01-ui-label.html#change-the-text-of-a-label">Change the text of a label</a></h2><p>You can change the text of a label by using the <code>text</code> property.</p><pre><code><code>import omni.ui as ui

# Create a window
window = ui.Window("Label Example", width=300, height=200)

# Create a label inside the window
with window.frame:
    label = ui.Label("Hello, Omniverse!")
    label.text = "New Text"
</code></code></pre><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/01-ui-label.html#customizing-a-label">Customizing a Label</a></h2><p>You can customize a label by setting various properties. For example, you can change the text color, font size, and alignment.</p><pre><code><code>import omni.ui as ui
from omni.ui import color as cl

# Create a window
window = ui.Window("Customized Label Example", width=300, height=200)

# Create a label inside the window
with window.frame:
    ui.Label("Customized Label", style={"font_size": 24, "color": cl("#097eff")})
</code></code></pre><h2><a href="https://quantyverse.github.io/omniverse-tutorials/ui/basic-ui-elements/01-ui-label.html#summary">Summary</a></h2><p>In this tutorial, we learned how to create and customize labels in <code>omni.ui</code>. We covered the basics of creating a label, changing its text, and customizing its appearance. Labels are essential for displaying text in your UI applications, and mastering them will help you create more sophisticated and informative user interfaces.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/index.html#ai-assisted-learning">AI-Assisted Learning</a></h2><p>To enhance your learning experience, we're integrating our knowledge base into AI assistants across different platforms. Choose your preferred platform and start learning:</p><ul><li><p><strong>CustomGPT</strong>: <a href="https://chatgpt.com/g/g-LRe32VOTi-quanty-omniverse-tutorials">Quanty Omniverse Tutorials</a></p></li><li><p><strong>Poe</strong>: <a href="https://poe.com/Quanty_Omniverse_Bot">Quanty Omniverse Bot</a></p></li></ul><p>Please note that both our knowledge base and AI assistants are continuously evolving. The AI's responses are based on the information we've provided, which means they may occasionally make mistakes or have gaps in their knowledge.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Quantyverse! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Thank you and I hope the Tutorial was helpful.</p><p>Thomas<br>Chief of Dreams and Omniverse Enthusiast, Quantyverse</p>]]></content:encoded></item><item><title><![CDATA[Nvidia Omniverse Core Concepts]]></title><description><![CDATA[Learn about the different Components of the Omniverse Kit SDK]]></description><link>https://www.quantyverse.blog/p/nvidia-omniverse-core-concepts</link><guid isPermaLink="false">https://www.quantyverse.blog/p/nvidia-omniverse-core-concepts</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Thu, 05 Sep 2024 15:01:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fe7fe908-3cd9-4d7c-9c86-381f52d21317_1600x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#core-concepts-components-of-omniverse-kit-sdk">Core Concepts: Components of Omniverse Kit SDK</a></h1><p>The Omniverse Kit Software Development Kit (SDK) provides a robust framework for building applications within the Omniverse ecosystem. Understanding its core components is crucial for effective development. Let's explore the key elements that make up the Kit SDK.</p><p>!Check out the full Quantyverse&#180;s Omniverse Guide at <a href="https://quantyverse.github.io/omniverse-tutorials/">Quantyverse Tutorials</a>!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#kit-kernel-package">Kit Kernel Package</a></h2><p>At the heart of the SDK lies the Kit Kernel Package, which serves as the central nervous system for Omniverse applications.</p><h3><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#key-features">Key Features</a></h3><ol><li><p><strong>Extension System</strong></p><ul><li><p>Manages the lifecycle of extensions, including loading, initialization, and shutdown.</p></li><li><p>Provides a plugin architecture for modular application development.</p></li><li><p>Handles dependencies between extensions.</p></li></ul></li><li><p><strong>Event System</strong></p><ul><li><p>Facilitates communication between different components of the application.</p></li><li><p>Implements a publish-subscribe model for efficient event handling.</p></li><li><p>Allows for loose coupling between modules, enhancing maintainability.</p></li></ul></li><li><p><strong>Update Loop</strong></p><ul><li><p>Ensures all components are updated appropriately throughout the application lifecycle.</p></li><li><p>Manages frame-by-frame updates for real-time applications.</p></li><li><p>Provides hooks for custom update logic in extensions.</p></li></ul></li></ol><h3><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#additional-kernel-features">Additional Kernel Features</a></h3><ol start="4"><li><p><strong>Configuration System</strong></p><ul><li><p>Manages application and extension settings.</p></li><li><p>Supports runtime configuration changes.</p></li></ul></li></ol><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#kit-sdk-extensions">Kit SDK Extensions</a></h2><p>The Kit SDK includes a set of foundational extensions that provide essential functionality for Omniverse applications.</p><h3><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#highlighted-extensions">Highlighted Extensions</a></h3><ol><li><p><strong>omni.usd</strong></p><ul><li><p>Provides synchronous and asynchronous interfaces to manage USD (Universal Scene Description) contexts.</p></li><li><p>Facilitates querying and modification of scene state.</p></li><li><p>Handles USD stage loading, saving, and live updates.</p></li></ul></li><li><p><strong>omni.kit.commands</strong></p><ul><li><p>Used to register and execute Commands within the application.</p></li><li><p>Implements undo/redo functionality for user actions.</p></li><li><p>Allows for the creation of custom commands for specific application needs.</p></li></ul></li><li><p><strong>omni.kit.viewport.window</strong></p><ul><li><p>Manages the Hydra-based viewport for 3D scene rendering.</p></li><li><p>Handles user interactions within the viewport, such as selection and camera controls.</p></li><li><p>Provides APIs for custom viewport manipulations and overlays.</p></li></ul></li><li><p><strong>omni.ui</strong></p><ul><li><p>The Omniverse UI framework for creating user interfaces.</p></li><li><p>Offers a wide range of UI elements and layouts.</p></li><li><p>Supports both 2D overlay UIs and 3D in-viewport interfaces.</p></li></ul></li></ol><h3><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#additional-important-extensions">Additional Important Extensions</a></h3><ol start="5"><li><p><strong>omni.kit.menu</strong></p><ul><li><p>Manages application menus and context menus.</p></li><li><p>Allows for dynamic menu creation and modification.</p></li></ul></li><li><p><strong>omni.kit.property.usd</strong></p><ul><li><p>Provides property inspection and modification for USD objects.</p></li><li><p>Facilitates the creation of custom property editors.</p></li></ul></li><li><p><strong>omni.kit.window.extensions</strong></p><ul><li><p>Manages the extension browser and loader interface.</p></li><li><p>Allows users to view, enable, and disable extensions at runtime.</p></li></ul></li></ol><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#relationships-and-interactions">Relationships and Interactions</a></h2><p>Understanding how these components interact is crucial for effective Omniverse development:</p><ul><li><p>The Kit Kernel acts as the foundation, managing the overall application lifecycle.</p></li><li><p>Extensions build upon the Kernel, providing specific functionalities.</p></li><li><p>The Event System allows extensions to communicate without direct dependencies.</p></li><li><p>The Update Loop ensures all active extensions are updated each frame.</p></li><li><p>USD serves as the common language for 3D data, with many extensions interacting with USD data.</p></li></ul><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#practical-application">Practical Application</a></h2><p>To illustrate how these components work together, let's consider a simple scenario:</p><ol><li><p>A user clicks a button in the UI (<code>omni.ui</code>) to add a cube to the scene.</p></li><li><p>This triggers a command (<code>omni.kit.commands</code>) to create a cube.</p></li><li><p>The command interacts with the USD stage (<code>omni.usd</code>) to add the cube geometry.</p></li><li><p>The viewport (<code>omni.kit.viewport.window</code>) is updated to display the new cube.</p></li><li><p>The property panel (<code>omni.kit.property.usd</code>) is refreshed to show the cube's attributes.</p></li><li><p>All of this is orchestrated by the Kit Kernel, which manages the extension lifecycles and update loop.</p></li></ol><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/core-concepts/core-concepts.html#conclusion">Conclusion</a></h2><p>The Omniverse Kit SDK provides a powerful and flexible framework for building 3D applications. By understanding its core components and how they interact, developers can create sophisticated, performant, and extensible applications within the Omniverse ecosystem.</p><p>As you delve deeper into Omniverse development, you'll discover how these components can be leveraged and extended to create unique and powerful applications.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/index.html#ai-assisted-learning">AI-Assisted Learning</a></h2><p>To enhance your learning experience, we're integrating our knowledge base into AI assistants across different platforms. Choose your preferred platform and start learning:</p><ul><li><p><strong>CustomGPT</strong>: <a href="https://chatgpt.com/g/g-LRe32VOTi-quanty-omniverse-tutorials">Quanty Omniverse Tutorials</a></p></li><li><p><strong>Poe</strong>: <a href="https://poe.com/Quanty_Omniverse_Bot">Quanty Omniverse Bot</a></p></li></ul><p>Please note that both our knowledge base and AI assistants are continuously evolving. The AI's responses are based on the information we've provided, which means they may occasionally make mistakes or have gaps in their knowledge.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Quantyverse! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Thank you and I hope the Tutorial was helpful.</p><p>Thomas<br>Chief of Dreams and Omniverse Enthusiast, Quantyverse</p>]]></content:encoded></item><item><title><![CDATA[Extensions in Nvidia Omniverse]]></title><description><![CDATA[Create your first extension in Nvidia Omniverse]]></description><link>https://www.quantyverse.blog/p/extensions-in-nvidia-omniverse</link><guid isPermaLink="false">https://www.quantyverse.blog/p/extensions-in-nvidia-omniverse</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Mon, 02 Sep 2024 08:01:07 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fe7fe908-3cd9-4d7c-9c86-381f52d21317_1600x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><a href="https://quantyverse.github.io/omniverse-tutorials/basics/creating-first-extension/creating-first-extension.html#creating-your-first-extension-in-nvidia-omniverse">Creating your first extension in Nvidia Omniverse</a></h1><p>This guide will help you to create your first extension in the App you just created here <a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html">Create Frist App / Setting up Environment</a></p><p>Check out the full Quantyverse&#180;s Omniverse Guide at <a href="https://quantyverse.github.io/omniverse-tutorials/">Quantyverse Tutorials</a></p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/creating-first-extension/creating-first-extension.html#1-create-and-configure-new-extension-from-template">1. Create and Configure New Extension From Template</a></h2><p>Run the following command to initiate the configuration wizard:</p><p><strong>Linux:</strong></p><pre><code><code>./repo.sh template new
</code></code></pre><p><strong>Windows:</strong></p><pre><code><code>.\repo.bat template new
</code></code></pre><p>Follow the prompt instructions:</p><ul><li><p><strong>? Select with arrow keys what you want to create:</strong> Extension</p></li><li><p><strong>? Select with arrow keys your desired template:</strong> Basic Python Extension</p></li><li><p><strong>? Enter name of application .kit file [name-spaced, lowercase, alphanumeric]:</strong> [set extension name]</p></li><li><p><strong>? Enter application_display_name:</strong> [set extension display name]</p></li><li><p><strong>? Enter version:</strong> [set extension version]</p></li></ul><blockquote><p><strong>Note:</strong> You can choose between different Extension types like pure Python extension or Python UI extension which will have pre generated content tailored for the specific type. I recommend to have a look at these extensions.</p></blockquote><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/creating-first-extension/creating-first-extension.html#2-build-the-extension">2. Build the Extension</a></h2><p>So the extension to be added to your app you have to build the application again, use the provided scripts according to your operating system:</p><ul><li><p><strong>Windows</strong>:</p></li></ul><pre><code><code>.\repo.bat build
</code></code></pre><ul><li><p><strong>Linux</strong>:</p></li></ul><pre><code><code>./repo.sh build
</code></code></pre><p>This command compiles the necessary components and prepares your environment for running the Omniverse applications with your new extension.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/creating-first-extension/creating-first-extension.html#3-launch-the-application">3. Launch the Application</a></h2><p>After building the project, you can launch the application and see if your extension was created as expected:</p><ul><li><p><strong>Windows</strong>:</p></li></ul><pre><code><code>.\repo.bat launch
</code></code></pre><ul><li><p><strong>Linux</strong>:</p></li></ul><pre><code><code>./repo.sh launch
</code></code></pre><p>During the launch process, you'll be prompted to select the <code>.kit</code> file associated with your application, typically located in the <code>_build</code> directory.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/creating-first-extension/creating-first-extension.html#4-start-your-extension">4. Start your Extension</a></h2><ul><li><p><strong>Extension Manager</strong>: After launching, open the Extension Manager by navigating to <code>Window &gt; Extensions</code> to explore and enable various extensions. Type the name of your extension you just created and start it.</p></li></ul><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/creating-first-extension/creating-first-extension.html#5-additional-resources">5. Additional Resources</a></h2><p>For more detailed instructions and advanced configuration options, refer to the official <a href="https://docs.omniverse.nvidia.com/kit/docs/kit-app-template/latest/docs/intro.html">Omniverse Kit App Template documentation</a>.</p><div><hr></div><p>By following these steps, you'll have a fully functional extension you can now use to develop. Check out the other chapters on how to fill the extension with content.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/index.html#ai-assisted-learning">AI-Assisted Learning</a></h2><p>To enhance your learning experience, we're integrating our knowledge base into AI assistants across different platforms. Choose your preferred platform and start learning:</p><ul><li><p><strong>CustomGPT</strong>: <a href="https://chatgpt.com/g/g-LRe32VOTi-quanty-omniverse-tutorials">Quanty Omniverse Tutorials</a></p></li><li><p><strong>Poe</strong>: <a href="https://poe.com/Quanty_Omniverse_Bot">Quanty Omniverse Bot</a></p></li></ul><p>Please note that both our knowledge base and AI assistants are continuously evolving. The AI's responses are based on the information we've provided, which means they may occasionally make mistakes or have gaps in their knowledge.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>Thank you and I hope the Tutorial was helpful.</p><p>Thomas<br>Chief of Dreams and Omniverse Enthusiast, Quantyverse</p>]]></content:encoded></item><item><title><![CDATA[Create an App in Nvidia Omniverse]]></title><description><![CDATA[Create an app in Nvidia Omniverse and set up your environment]]></description><link>https://www.quantyverse.blog/p/create-an-app-in-nvidia-omniverse</link><guid isPermaLink="false">https://www.quantyverse.blog/p/create-an-app-in-nvidia-omniverse</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Mon, 26 Aug 2024 19:10:26 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/fe7fe908-3cd9-4d7c-9c86-381f52d21317_1600x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#creating-your-first-nvidia-omniverse-app-setting-up-environment">Creating your first Nvidia Omniverse App (Setting Up Environment)</a></h1><p>This guide will help you set up your development environment for working with the Omniverse Kit App Template by creating your first Omniverse App. Following these steps will ensure that your environment is properly configured for building applications using Nvidia Omniverse.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#1-set-up-the-required-tools">1. Set Up the Required Tools</a></h2><ul><li><p><strong>Install Dependencies</strong>: Ensure your development environment is equipped with the latest version of Python. The Kit App Template is optimized for use with Visual Studio Code, though other IDEs like PyCharm can also be used.</p></li><li><p><strong>NVIDIA RTX GPU</strong>: Make sure your development machine has an NVIDIA RTX GPU with the latest drivers installed. This hardware is essential for running Omniverse applications efficiently.</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">If you like the content feel free to follow</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#2-clone-the-kit-app-template-repository">2. Clone the Kit App Template Repository</a></h2><p>Start by cloning the Kit App Template repository from GitHub to your local machine:</p><pre><code><code>git clone https://github.com/NVIDIA-Omniverse/kit-app-template.git
</code></code></pre><p>Navigate into the cloned repository:</p><pre><code><code>cd kit-app-template
</code></code></pre><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#3-create-and-configure-new-application-from-template">3. Create and Configure New Application From Template</a></h2><p>Run the following command to initiate the configuration wizard:</p><p><strong>Linux:</strong></p><pre><code><code>./repo.sh template new
</code></code></pre><p><strong>Windows:</strong></p><pre><code><code>.\repo.bat template new
</code></code></pre><blockquote><p><strong>Note:</strong> If this is your first time running the <code>template new</code> tool, you'll be prompted to accept the Omniverse Licensing Terms.</p></blockquote><p>Follow the prompt instructions:</p><ul><li><p><strong>? Select with arrow keys what you want to create:</strong> Application</p></li><li><p><strong>? Select with arrow keys your desired template:</strong> USD Composer or Kit Base Editor</p></li><li><p><strong>? Enter name of application .kit file [name-spaced, lowercase, alphanumeric]:</strong> [set application name]</p></li><li><p><strong>? Enter application_display_name:</strong> [set application display name]</p></li><li><p><strong>? Enter version:</strong> [set application version]</p></li></ul><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#4-build-the-project">4. Build the Project</a></h2><p>To build the project, use the provided scripts according to your operating system:</p><ul><li><p><strong>Windows</strong>:</p></li></ul><pre><code><code>.\repo.bat build
</code></code></pre><ul><li><p><strong>Linux</strong>:</p></li></ul><pre><code><code>./repo.sh build
</code></code></pre><p>This command compiles the necessary components and prepares your environment for running the Omniverse applications.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#5-launch-the-application">5. Launch the Application</a></h2><p>After building the project, you can launch the application:</p><ul><li><p><strong>Windows</strong>:</p></li></ul><pre><code><code>.\repo.bat launch
</code></code></pre><ul><li><p><strong>Linux</strong>:</p></li></ul><pre><code><code>./repo.sh launch
</code></code></pre><p>During the launch process, you'll be prompted to select the <code>.kit</code> file associated with your application, typically located in the <code>_build</code> directory.</p><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#6-explore-and-customize">6. Explore and Customize</a></h2><ul><li><p><strong>Extension Manager</strong>: After launching, open the Extension Manager by navigating to <code>Window &gt; Extensions</code> to explore and enable various extensions. This allows you to extend the functionality of your application.</p></li><li><p><strong>Customization</strong>: Start by exploring and customizing the reference applications included in the template, such as the USD Explorer. This will help you understand how to configure and modify Kit-based applications.</p></li></ul><h2><a href="https://quantyverse.github.io/omniverse-tutorials/basics/setting-up-environment/setting-up-environment.html#7-additional-resources">7. Additional Resources</a></h2><p>For more detailed instructions and advanced configuration options, refer to the official <a href="https://docs.omniverse.nvidia.com/kit/docs/kit-app-template/latest/docs/intro.html">Omniverse Kit App Template documentation</a>. You can also configure your environment to use community-developed extensions by adjusting the registry settings.</p><div><hr></div><p>By following these steps, you'll have a fully functional development environment for creating and customizing applications within Nvidia Omniverse using the Kit SDK.</p><p>If you like to check out the full Quantyverse Omniverse Guide go here:<br><a href="https://quantyverse.github.io/omniverse-tutorials/index.html">https://quantyverse.github.io/omniverse-tutorials/index.html</a></p><p>or check out the repository here:<br><a href="https://github.com/quantyverse/omniverse-tutorials">https://github.com/quantyverse/omniverse-tutorials</a></p><p></p><p>Hope it helps you!</p><p>Thomas<br>Chief of Dreams and Omniverse Enthusiast, Quantyverse</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Quantyverse! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[User Interface in Nvidia Omniverse]]></title><description><![CDATA[How to build a UI in Nvidia Omniverse using omni.ui]]></description><link>https://www.quantyverse.blog/p/user-interface-in-nvidia-omniverse</link><guid isPermaLink="false">https://www.quantyverse.blog/p/user-interface-in-nvidia-omniverse</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Tue, 20 Aug 2024 18:43:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!m60R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nvidia Omniverse is a powerful platform that enables creators, developers, and engineers to build real-time simulations, collaborate on 3D design, and much more. One of the key components of creating interactive applications within Omniverse is building a user interface (UI). This tutorial will guide you through the steps to build a basic UI using the <code>omni.ui</code> framework.</p><h4>What is <code>omni.ui</code>?</h4><p><code>omni.ui</code> is a flexible and powerful framework in Omniverse for building user interfaces. It provides a wide range of widgets, layout management, and customization options, allowing you to create sophisticated and interactive UIs tailored to your application's needs.</p><h3>Step 1: Setting Up Your Development Environment</h3><p>Before diving into UI creation, ensure that your Omniverse development environment is set up. You can follow the guideline here: <a href="https://github.com/NVIDIA-Omniverse/kit-app-template">https://github.com/NVIDIA-Omniverse/kit-app-template</a>. But I am also going to create a Tutorial on how to setup your own application. Make sure to create an extension and open it in your IDE of choice so you can follow along.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!m60R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!m60R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 424w, https://substackcdn.com/image/fetch/$s_!m60R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 848w, https://substackcdn.com/image/fetch/$s_!m60R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 1272w, https://substackcdn.com/image/fetch/$s_!m60R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!m60R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png" width="302" height="116.98351648351648" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;normal&quot;,&quot;height&quot;:564,&quot;width&quot;:1456,&quot;resizeWidth&quot;:302,&quot;bytes&quot;:188484,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!m60R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 424w, https://substackcdn.com/image/fetch/$s_!m60R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 848w, https://substackcdn.com/image/fetch/$s_!m60R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 1272w, https://substackcdn.com/image/fetch/$s_!m60R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3110d213-2e36-4ff1-a208-53ac40f3d51e_3529x1367.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h3>Step 2: Creating a New UI Window</h3><p>Start by creating a new window that will house your UI elements. This is done by instantiating a <code>Window</code> object in your extension's Python script.</p><pre><code>python
import omni.ui as ui
import omni.ext

class MyExtension(omni.ext.IExt):
    def on_startup(self, ext_id):
        self._window = ui.Window("My Window", width=400, height=300)
        with self._window.frame:
            self._build_ui()</code></pre><p>This code snippet creates a window titled "My Window" with a specified width and height. The - <strong>with self._window.frame</strong><code>:</code> - block is where you'll build the actual UI.</p><h3>Step 3: Building the UI Layout</h3><p>Next, define the layout for your UI components. Omniverse offers various layout containers such as <code>VStack</code> (Vertical Stack), <code>HStack</code> (Horizontal Stack), and <code>Grid</code>. These help organize your UI elements effectively.</p><pre><code><code>def _build_ui(self):
    with ui.VStack():
        ui.Label("Welcome to Omniverse!")
        ui.Button("Click Me", clicked_fn=self._on_button_click)</code></code></pre><p>In this example, a vertical stack is used to align a label and a button. The <code>clicked_fn</code> parameter links the button to a callback function that handles the click event.</p><h3>Step 4: Adding Interactivity with Widgets</h3><p>Omniverse's <code>omni.ui</code> provides a wide range of widgets that you can add to your UI, such as sliders, checkboxes, text fields, and more.</p><pre><code>def _on_button_click(self):
    print("Button clicked!")</code></pre><p>Here we have the callback function for our <strong>ui.Button.</strong></p><h3>Step 5: Advanced Layouts and Widgets</h3><p>For more complex UIs, you can use advanced widgets and layouts. For example, <strong>CollapsableFrame </strong> allows sections of your UI to be collapsed or expanded, which is useful for organizing large UIs. Or <strong>ScrollingFrame </strong>to make your UI scrollable</p><pre><code>with ui.ScrollingFrame():
    with ui.VStack():
        with ui.CollapsableFrame("Advanced Settings"):
            ui.Label("Adjust the parameters below:")
            ui.Button("Push the button")</code></pre><h3>Step 6: Testing and Debugging</h3><p>Omniverse supports hot-reloading, which means you can test your UI in real-time as you develop it. This is invaluable for iterating on your design quickly. Make sure to test your UI thoroughly to ensure it behaves as expected.</p><h3>Step 7: Finalizing and Distributing Your Extension</h3><p>Once your UI is complete and tested, package your extension for distribution or use within the Omniverse platform.</p><h3>Conclusion</h3><p>Creating a user interface in Omniverse using <code>omni.ui</code> is a straightforward process thanks to the framework's powerful features and flexibility. I have to admit that some advanced features are not intuitive but when you get the hang on it you can craft nice UI pretty fast. </p><p>You can find all Tutorials als on my <a href="https://github.com/thomas-quantyverse/omniverse_tutorials">Github</a></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading the Tutorial. Subscribe to stay up to date.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>Thomas<br>Chief of Dreams &amp; Omniverse Enthusiast, Quantyverse</p>]]></content:encoded></item><item><title><![CDATA[Godot as an Open Ecosystem]]></title><description><![CDATA[Discover the role of Godot as an open ecosystem]]></description><link>https://www.quantyverse.blog/p/godot-as-an-open-ecosystem</link><guid isPermaLink="false">https://www.quantyverse.blog/p/godot-as-an-open-ecosystem</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Tue, 30 Jul 2024 14:47:50 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RJwT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>Godot: Pioneering the Open Ecosystem Revolution in Game Development</h1><p>Hey there, Quantyverse explorers! Thomas here, and today we're diving into a topic that's got me buzzing with excitement: Godot and its potential to revolutionize the game industry as an open ecosystem.</p><h2>The Rise of the Underdog</h2><p>First things first, let's talk about Godot's meteoric rise. This plucky little engine has been growing at 60-80% year over year (While overall still much less games then Unity or Unreal Engine). To put that in perspective, while the big players like Unity and Unreal have a about 5% growth, Godot is practically taking off like a rocket (Rates should increase over the years)! At this rate, we could be looking at Godot matching Unity's numbers on Steam by 2028.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RJwT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RJwT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 424w, https://substackcdn.com/image/fetch/$s_!RJwT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 848w, https://substackcdn.com/image/fetch/$s_!RJwT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!RJwT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RJwT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png" width="266" height="266" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:266,&quot;bytes&quot;:56003,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RJwT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 424w, https://substackcdn.com/image/fetch/$s_!RJwT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 848w, https://substackcdn.com/image/fetch/$s_!RJwT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!RJwT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1582d8a-89b2-4036-a72c-f3b0019bc41e_1200x1200.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Breaking Free from the Chains of Proprietary Platforms</h2><p>Now, I know what you're thinking. "Thomas, haven't we always had choices in game engines?" Well, yes and no. The problem with proprietary engines is that they're like a double-edged sword. They give you the tools, but at a cost &#8211; and I'm not just talking about money.</p><p>When you build on a proprietary platform, you're always at the mercy of the company that owns it. They can change the rules, alter the pricing, or even decide to compete with you using the very platform you're building on. It's like building your dream house on rented land &#8211; you never truly own your creation.</p><h2>The Linux of Game Development</h2><p>This is where Godot comes in, wearing its open-source cape and ready to save the day. Think back to the 90s (if you're old enough &#8211; if not, just imagine with me). Linux was this scrappy little OS that nobody in the corporate world took seriously. Fast forward to today, and it's the backbone of enterprise computing.</p><p>Godot is poised to do the same for game development. By being truly open.</p><h2>Building Castles, Not Just Tools</h2><p>The potential here is enormous. When you build on an open ecosystem like Godot, you're not just making a game or a tool. You're potentially creating entire new platforms. With an open ecosystem, you're free to innovate, expand, and create without fear of the rug being pulled out from under you.</p><p>The key here is integration. Don't just support Godot &#8211; build on it. Create services and tools that are so deeply integrated with Godot that using them becomes a no-brainer for developers. This is how we'll see the real magic happen.</p><h2>The Power of Community</h2><p>One of the most beautiful things about open ecosystems is the community that forms around them. Godot isn't owned by a single entity &#8211; it's owned by all of us. This means that when you contribute to Godot, when you build on it, you're not just helping some faceless corporation. You're empowering every single developer who uses the engine.</p><p>This community-driven development leads to incredible innovation. Problems get solved faster, features get implemented quicker, and the entire ecosystem benefits.</p><h2>The Future is Open</h2><p>As we look to the future of game development, one thing is clear: openness is the way forward. </p><p>Imagine a world where game development tools, services, and platforms all work seamlessly together, built on an open foundation. Where small indie devs and large studios alike can innovate without fear of platform lock-in. That's the world Godot is helping to create.</p><h2>Your Call to Adventure</h2><p>So, my fellow Quantyverse explorers, here's my challenge to you: don't just use Godot &#8211; embrace it. Build on it. Create the tools, services, and platforms that will shape the future of game development. Whether you're a solo dev working on your passion project or a company looking to create the next big gaming platform, Godot and the open ecosystem it represents are your tickets to true creative freedom.</p><p>Until next time, keep dreaming, keep coding, and keep pushing the boundaries of what's possible in our ever-expanding digital multiverse!</p><p>Thomas <br>Chief of Dreams &amp; Open Ecosystem Enthusiast, Quantyverse</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>P.S. Got thoughts on the open ecosystem revolution? Exciting ideas for Godot-based tools or services? Drop them in the comments below. Let's brainstorm the future of game development together!</p>]]></content:encoded></item><item><title><![CDATA[Godot Game Engine]]></title><description><![CDATA[Godot Game Engine: The Open-Source Engine]]></description><link>https://www.quantyverse.blog/p/godot-game-engine</link><guid isPermaLink="false">https://www.quantyverse.blog/p/godot-game-engine</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Wed, 24 Jul 2024 13:06:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_HHT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Godot: The Indie Developer's Secret Weapon in the Quantyverse</h2><p>Hey there, Quantyverse explorers! Thomas here, and today we're diving into a magical realm that's going to be powering a big chunk of our Quantyverse dreams: the Godot Game Engine. Get ready for a code-fueled adventure!</p><p>Imagine standing at the edge of a vast digital frontier, armed with nothing but your imagination and a burning desire to create. Suddenly, a friendly robot named Godot appears (okay, it's just a logo). This little bot hands you a Swiss Army knife of game development tools, all wrapped up in an open-source bow. That, my friends, is the Godot Engine in a nutshell.</p><p>Now, why am I geeking out about Godot in our Quantyverse playground? Simple. It's like finding the perfect dance partner for our multiversal ball. Godot's flexibility, community-driven spirit, and "anyone can make games" philosophy align perfectly with what we're building here in the Quantyverse.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_HHT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_HHT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 424w, https://substackcdn.com/image/fetch/$s_!_HHT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 848w, https://substackcdn.com/image/fetch/$s_!_HHT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!_HHT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_HHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png" width="286" height="286" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1200,&quot;width&quot;:1200,&quot;resizeWidth&quot;:286,&quot;bytes&quot;:56003,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_HHT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 424w, https://substackcdn.com/image/fetch/$s_!_HHT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 848w, https://substackcdn.com/image/fetch/$s_!_HHT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 1272w, https://substackcdn.com/image/fetch/$s_!_HHT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcbd1306b-95d4-435c-8fdb-d0651e3c1689_1200x1200.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h4>Let's break it down</h4><p>First off, Godot is open-source. This open nature is going to save you a few bucks in the long run (who doesn't love that?). And it is about fostering a community of creators who share, learn, and grow together.</p><p>But here's where it gets really juicy for us Quantyverse dreamers: Godot plays nice with others. Remember our chats about NVIDIA Omniverse and Universal Scene Description (USD)? Well, Godot is like that friend who gets along with everyone at the party. With a bit of elbow grease and some coding magic, we can potentially create bridges between Godot and our other Quantyverse tools. Imagine designing a character in Blender, tweaking it in Substance Painter, and then bringing it to life in a Godot game &#8211; all within our Quantyverse ecosystem! So this is also one party of future development. A fully grown Godot Omniverse Connector.</p><p>So, where does this leave us in the grand Quantyverse scheme? Well, imagine Godot as one of the powerful artifacts in our creator's toolkit. It's a way to bringing our funniest game ideas to life. The games and experiences we create with Godot could become vibrant planets in our ever-expanding Quantyverse.</p><p>Here's my challenge to you, my fellow Quantyverse pioneers: take Godot for a spin. Download it, open up a tutorial, and try creating something &#8211; anything! A bouncing ball, a simple platformer, or even just a interactive story. Share your creations, your triumphs in the comments below. </p><p>Remember, in the Quantyverse, we're not just game developers or storytellers or AI enthusiasts &#8211; we're dream weavers.</p><p>Until next time, keep those creative engines running!</p><p>Thomas <br>Chief of Dreams &amp; Godot Grappler, Quantyverse</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>P.S. Stuck on a Godot puzzle? Drop your questions below, and let's solve it together. After all, in the Quantyverse, no developer debugs alone!</p>]]></content:encoded></item><item><title><![CDATA[Nvidia Omniverse Connectors]]></title><description><![CDATA[Connecting 3D Tools with QuantyVerse Nexus]]></description><link>https://www.quantyverse.blog/p/nvidia-omniverse-connectors</link><guid isPermaLink="false">https://www.quantyverse.blog/p/nvidia-omniverse-connectors</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Fri, 19 Jul 2024 06:07:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Zgns!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>NVIDIA Omniverse Connectors: Bridging Your Favorite 3D Tools with <br>QuantyVerse Nexus</h1><p>Hey Quantyverse explorers! Thomas again and ready to bring some light on a crucial piece of our multiverse puzzle: NVIDIA Omniverse Connectors. These digital bridges are an important part to bring our Quantyverse dreams to life, so let's dive in!</p><h2>What's the Deal with Omniverse Connectors?</h2><p>Omniverse Connectors aren't about creating a multiverse - that's our job as creators. Instead, think of them as highly specialized translators. Their purpose? To ensure that Substance Painter, Unreal Engine, and other powerhouse 3D tools can chat freely with Omniverse and our very own QuantyVerse Nexus (in Universal Scene Description).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Zgns!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Zgns!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Zgns!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Zgns!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Zgns!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Zgns!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg" width="466" height="254.4970238095238" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:367,&quot;width&quot;:672,&quot;resizeWidth&quot;:466,&quot;bytes&quot;:28491,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Zgns!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Zgns!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Zgns!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Zgns!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9f0a87ca-3b86-4a47-b6a9-085c9d394efd_672x367.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Image Source: https://blogs.nvidia.com/blog/omniverse-paraview-connector/</figcaption></figure></div><h2>Why Connectors Matter for the Quantyverse</h2><ol><li><p><strong>Seamless Asset Flow</strong>: Let&#180;s say you created a wonderful texture in Substance Painter. With connectors, it slides right into your Omniverse scene without breaking a sweat.</p></li><li><p><strong>Real-time Updates</strong>: Tweak a material in Substance Painter, and watch it update in real-time within QuantyVerse Nexus.</p></li><li><p><strong>Universal Asset Usage</strong>: Create once, use everywhere. Your Unreal Engine environments can now easily become part of your Quantyverse worlds in other 3D Tools like Unity. If licensing of the Assets are okay.</p></li><li><p><strong>Streamlined Workflow</strong>: No more endless import/export cycles. Connectors keep your creative flow flowing.</p></li></ol><h2>Connectors and QuantyVerse Nexus: A Match Made in Digital Heaven</h2><p>As we're building QuantyVerse Nexus, connectors are becoming our best friends. Here's why:</p><ul><li><p><strong>Diverse Toolset Integration</strong>: Whether you're a Substance Painter texture wizard or an Unreal Engine landscape guru, your skills and creations have a place in QuantyVerse Nexus.</p><p></p></li><li><p><strong>Future-Proofing</strong>: As new tools emerge, connectors will help us stay adaptable, ensuring QuantyVerse Nexus remains well connected.</p></li></ul><h2>Your Creative Input Needed!</h2><p>Now it's your turn to chime in:</p><ul><li><p>Which 3D tools are essential to your creative process?</p></li><li><p>How could easier data exchange between your favorite software and QuantyVerse Nexus enhance your workflow?</p></li><li><p>Any ideas for integrating diverse 3D tools into the Quantyverse ecosystem?</p></li></ul><p>Share your thoughts below.</p><p>Keep creating, keep dreaming, and keep pushing those digital boundaries. Together, we're building bridges to new realms of creativity!</p><p>Thomas <br>Chief of Dreams &amp; Integration Enthusiast, Quantyverse</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>P.S. Curious about which connectors are currently available? Check out NVIDIA's official list.</p>]]></content:encoded></item><item><title><![CDATA[Universal Scene Description]]></title><description><![CDATA[Universal Scene Description: The Hidden Gem Powering Quantyverse Nexus]]></description><link>https://www.quantyverse.blog/p/universal-scene-description</link><guid isPermaLink="false">https://www.quantyverse.blog/p/universal-scene-description</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Tue, 16 Jul 2024 19:20:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!w4rQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Universal Scene Description: The Hidden Gem Powering Quantyverse Nexus</h3><p>Hey there its me again, Thomas! Today, we're diving into the heart of what's making our Quantyverse visions a reality: Universal Scene Description (USD) and its game-changing role in NVIDIA Omniverse.</p><h4>Breaking Down Barriers in the 3D Realm</h4><p>Ever tried to build an epic digital world, only to find your 3D assets refusing to play nice with each other? It's like trying to host a dinner party where none of your guests speak the same language. And here comes USD - the ultimate universal translator for the 3D world. The so called HTML for 3D Worlds.</p><p>Basically it&#180;s a language that allows different 3D applications to communicate seamlessly inside NVIDIA Omniverse. So the conversion from Blender to Substance Painter to Unreal Engine flows like honey on your morning toast.</p><p>It's creating an entire ecosystem where 3D assets can coexist, interact, and evolve together. It's like giving a shared consciousness to your digital creations and watching them come alive!</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!w4rQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!w4rQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 424w, https://substackcdn.com/image/fetch/$s_!w4rQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 848w, https://substackcdn.com/image/fetch/$s_!w4rQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 1272w, https://substackcdn.com/image/fetch/$s_!w4rQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!w4rQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png" width="362" height="171.20227920227921" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:332,&quot;width&quot;:702,&quot;resizeWidth&quot;:362,&quot;bytes&quot;:19627,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!w4rQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 424w, https://substackcdn.com/image/fetch/$s_!w4rQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 848w, https://substackcdn.com/image/fetch/$s_!w4rQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 1272w, https://substackcdn.com/image/fetch/$s_!w4rQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf047d4d-8ab4-4665-9bd2-798e16817e90_702x332.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Image Source: https://openusd.org/release/api/index.html</figcaption></figure></div><p></p><h4>NVIDIA Omniverse: USD's Playground of Infinite Possibilities</h4><p>Now, let's talk about NVIDIA Omniverse for a second again. If USD is the universal language, Omniverse is the ultimate sandbox of your childhood dreams.</p><p>With Omniverse, we're not just creating static 3D scenes anymore. We're building dynamic, responsive worlds that can be manipulated in real-time. Adjust the lighting in your scene? It updates across all connected applications instantly. Tweak a character's hair? Watch it reflect everywhere in the blink of an eye.</p><p>For us Quantyverse visionaries, this opens up a universe of possibilities:</p><ol><li><p>Collaborative Worldbuilding: Work on a Quantyverse project with a friend on the other side of the planet, seeing their changes materialize in real-time. It's like a jam session for world creators!</p></li><li><p>Asset Reusability: That sci-fi spaceship you poured your heart into? Now it can voyage between different software, projects, and universes without breaking a sweat.</p></li><li><p>AI Integration: Omniverse's compatibility with Python means we can weave AI tools into our creative process. Imagine procedurally generated worlds that evolve based on AI-driven tools!</p></li></ol><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!raFw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!raFw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 424w, https://substackcdn.com/image/fetch/$s_!raFw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 848w, https://substackcdn.com/image/fetch/$s_!raFw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 1272w, https://substackcdn.com/image/fetch/$s_!raFw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!raFw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png" width="526" height="311.3061224489796" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:1029,&quot;resizeWidth&quot;:526,&quot;bytes&quot;:533086,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!raFw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 424w, https://substackcdn.com/image/fetch/$s_!raFw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 848w, https://substackcdn.com/image/fetch/$s_!raFw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 1272w, https://substackcdn.com/image/fetch/$s_!raFw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd73c3fbc-bc97-4596-a9ca-059af31faec7_1029x609.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4>The Quantyverse Dream Realized</h4><p>But what are we doing now with this information ?  Well, my friend, this is where our QuantyVerse Nexus comes into play.</p><p>With USD as our foundation and Omniverse as our canvas, we want to create a gateway to limitless creativity. Want to design a world with just your hand-drawn map? Upload and Done. Dreaming of a universe where thoughts take physical form? Let's bring it to life!</p><h4>Charting the Course Ahead</h4><p>The thing is that the QuantyVerse Nexus is not finished and in really early stage. I am working on it and when there is a first crappy version I will let you know! Have question? Just ask!</p><h4>Your Turn to Shape the Quantyverse</h4><p>Now it's your time to shine, fellow explorers of the digital frontier. I want to hear your thoughts:</p><ul><li><p>What kinds of interconnected realms would you craft with this technology?</p></li><li><p>How do you envision USD and Omniverse revolutionizing the landscape for digital creators?</p></li><li><p>Got any out-of-this-world ideas for features in our QuantyVerse Nexus that could harness this tech?</p></li></ul><p>Share your ideas in the comments. Who knows? Your wild concept might just become the next groundbreaking feature in the Quantyverse!</p><p>Until our next digital meetup, keep pushing the boundaries of what's possible in our ever-expanding digital multiverse!</p><p>Thomas <br>Chief of Dreams &amp; USD Enthusiast, Quantyverse</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Abonnieren&quot;,&quot;language&quot;:&quot;de&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption"></p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="E-Mail-Adresse eingeben &#8230;" tabindex="-1"><input type="submit" class="button primary" value="Abonnieren"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[NVIDIA Omniverse: The Magic Wand for Quantyverse Wizards]]></title><description><![CDATA[NVIDIA Omniverse is powering world creation]]></description><link>https://www.quantyverse.blog/p/nvidia-omniverse-the-magic-wand-for</link><guid isPermaLink="false">https://www.quantyverse.blog/p/nvidia-omniverse-the-magic-wand-for</guid><dc:creator><![CDATA[Thomas Bernhard]]></dc:creator><pubDate>Sun, 14 Jul 2024 09:53:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rIJl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>NVIDIA Omniverse: The Magic Wand for Quantyverse Wizards</h2><p>Hey there, Quantyverse dreamers! Thomas here, and I've got something that's making my ears smoke from Berty Botts Beans. Remember how I mentioned NVIDIA Omniverse in the last <a href="https://thomasbernhard.substack.com/p/welcome-to-the-quantyverse">Blog Post</a>? </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rIJl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rIJl!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 424w, https://substackcdn.com/image/fetch/$s_!rIJl!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 848w, https://substackcdn.com/image/fetch/$s_!rIJl!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 1272w, https://substackcdn.com/image/fetch/$s_!rIJl!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rIJl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png" width="1456" height="564" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:564,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:188484,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!rIJl!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 424w, https://substackcdn.com/image/fetch/$s_!rIJl!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 848w, https://substackcdn.com/image/fetch/$s_!rIJl!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 1272w, https://substackcdn.com/image/fetch/$s_!rIJl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7752fd27-3336-4602-b274-5a696906b0d8_3529x1367.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>The "Aha!" Moment</h3><p>You know those moments in sci-fi movies where the protagonist stumbles upon a piece of alien tech that changes everything? That's exactly how I felt when I first got my hands on <a href="https://www.nvidia.com/en-us/omniverse/">NVIDIA Omniverse</a> at my day-job. I always dreamed of creating interconnected multiverses and talked about USD even before NVIDIA Omniverse was even born. With a rush it flew into my life like a digital superhero with its cape flowing in the wind of rendering processors. Suddenly I had the strong believe that this piece of tech is going to make my imaginations a reality. </p><h3>What&#180;s the Big Deal?</h3><p>Now, I could bore you with technical jargon, but let's cut to the chase. Omniverse is like the ultimate universal translator, but for 3D content and simulations. It's the bridge between different software, different creators, and different ideas.</p><p>Here's why it's a game-changer for us:</p><ol><li><p><strong>Universal Language</strong>: No more "this file doesn't work with that software" headaches. Omniverse can speak the language of pretty much every 3D tool out there through the use of Universal Scene Description (USD).</p></li><li><p><strong>Real-time Collaboration</strong>: Imagine working on a Quantyverse world with a friend halfway across the globe, and seeing their changes appear in real-time. It's like multiplayer world-building!</p></li><li><p><strong>Physics That Make Sense</strong>: Want to know how your character's epic cape could flow in the wind? Or simulate your world for some reason in Omniverse? All this is possible.</p></li><li><p><strong>AI Playground</strong>: This is where it gets even better. Omniverse speaks Python. So it plays nice with AI, opening up to endless possibilites of creating tools for creation.</p></li></ol><p> The Road Ahead</p><p>Now, I know based on my experience - there's a learning curve here. Omniverse is powerful, but with great power comes... a sh*t load of work. Over the next few weeks, I'll be jumping into this tech, and I'll be sharing every triumph, fall, and "oh no, what did I just do?" moment with you all.</p><h2>Your Mission, Should You Choose to Accept It</h2><p>Here's where you come in, my fellow Quantyverse explorers. I want to hear from you:</p><ol><li><p>What kind of worlds would you create if you had the power of Omniverse at your fingertips?</p></li><li><p>How do you see AI fitting into this new paradigm of world-building?</p></li><li><p>Are there any specific features you'd love to see in our QuantyVerse Nexus?</p></li></ol><p>Drop your ideas in the comments. Who knows? Your wild idea might just become the next big feature in Quantyverse!</p><p>Until next time, keep dreaming in high-res, full-color and ultimate 3D!</p><p>Thomas<br>Chief of Dreams &amp; Omniverse Dancer, Quantyverse</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.quantyverse.blog/subscribe?&quot;,&quot;text&quot;:&quot;Jetzt abonnieren&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.quantyverse.blog/subscribe?"><span>Jetzt abonnieren</span></a></p><p>P.S. If you're itching to get your hands on Omniverse, NVIDIA has some great tutorials. Check them out, and let's geek out together in our next community meetup!</p><p></p>]]></content:encoded></item></channel></rss>