{"id":796,"date":"2025-06-12T19:01:24","date_gmt":"2025-06-13T02:01:24","guid":{"rendered":"https:\/\/sysprogs.com\/tutorials\/?p=796"},"modified":"2025-06-12T19:01:24","modified_gmt":"2025-06-13T02:01:24","slug":"using-codevroom-with-cloud-models","status":"publish","type":"post","link":"https:\/\/sysprogs.com\/CodeVROOM\/tutorials\/cloud\/","title":{"rendered":"Using CodeVROOM with Cloud Models"},"content":{"rendered":"<p>This tutorial shows how to configure CodeVROOM to use cloud-hosted language models to edit your code. We will setup the LLaMA-Instruct-3.3 model running on Together AI cloud, and will use it to edit a basic C++ source file.<\/p>\n<ol>\n<li>Download <a href=\"https:\/\/codevroom.com\/\">CodeVROOM<\/a> for your operating system and either install it, or run it in the portable mode. Once it starts, open the <strong>AI-&gt;Manage AI Models<\/strong>:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/01-start.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-799\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/01-start.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/01-start.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/01-start-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/01-start-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/01-start-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/li>\n<li>If this is the first time you are running CodeVROOM, it will not have any models configured yet. Click &#8220;Import a language model manually&#8221; to begin importing one:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/02-models.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-800\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/02-models.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/02-models.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/02-models-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/02-models-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/02-models-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/li>\n<li>In the model import wizard, select &#8220;Use a cloud-based model&#8221; and choose your cloud provider:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/03-together.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-801\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/03-together.png\" alt=\"\" width=\"800\" height=\"600\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/03-together.png 800w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/03-together-300x225.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/03-together-768x576.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/li>\n<li>Enter the API key for the provider. You can also customize the endpoint URL at that stage:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/04-apikey.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-802\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/04-apikey.png\" alt=\"\" width=\"800\" height=\"600\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/04-apikey.png 800w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/04-apikey-300x225.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/04-apikey-768x576.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a>CodeVROOM supports a few common cloud providers out-of-the-box, but you can also tweak it to work with almost any JSON-based endpoint by cloning and editing one of the XML files in the <strong>ServiceProfiles <\/strong>subdirectory.<\/li>\n<li>The last page of the wizard allows importing one or more models. <strong>Importing<\/strong> means adding them to the shortlist, and tracking token usage, speed and other parameters for your convenience. Select the <strong>Llama-3.3-70B-Instruct-Turbo<\/strong> model and click <strong>Finish<\/strong>:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/05-model.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-803\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/05-model.png\" alt=\"\" width=\"800\" height=\"600\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/05-model.png 800w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/05-model-300x225.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/05-model-768x576.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/li>\n<li>The model will appear in the model list and can now be used to edit code. Close the Models window by pressing OK:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/06-list.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-804\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/06-list.png\" alt=\"\" width=\"914\" height=\"473\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/06-list.png 914w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/06-list-300x155.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/06-list-768x397.png 768w\" sizes=\"(max-width: 914px) 100vw, 914px\" \/><\/a><\/li>\n<li>In the main window, click &#8220;Open an existing folder as a workspace&#8221;. Then, point CodeVROOM to the folder with your sources:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/07-openfolder.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-805\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/07-openfolder.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/07-openfolder.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/07-openfolder-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/07-openfolder-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/07-openfolder-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a>In this tutorial we will use a trivial C++ example from <a href=\"https:\/\/github.com\/sysprogs\/tutorials\/blob\/master\/CodeVROOM\/trivial\/TrivialExample.cpp\">here<\/a>.<\/li>\n<li>Open the source file and start an AI-driven edit by either clicking on an editing link, or using the button in the toolbar:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/08-edit-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-814\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/08-edit-1.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/08-edit-1.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/08-edit-1-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/08-edit-1-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/08-edit-1-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/li>\n<li>Switch the scope from &#8220;main&#8221; to the entire file so that it includes everything:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09-parent.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-808\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09-parent.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09-parent.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09-parent-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09-parent-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09-parent-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/li>\n<li>Provide brief instructions to the AI on what to edit. CodeVROOM uses templates in the <strong>PromptTemplates<\/strong> folder to combine your instructions with code snippets, so you can keep the prompt extremely brief to save time:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09b-editstart.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-807\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09b-editstart.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09b-editstart.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09b-editstart-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09b-editstart-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/09b-editstart-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a>In this tutorial &#8220;Add ToString() to rect&#8221; should be sufficient.<\/li>\n<li>Press Ctrl-Enter or use the <strong>Go!<\/strong> button to begin editing. CodeVROOM will combine the code with your instructions, send it to the AI model, scan its reply for edited code snippets, and will merge them into your code:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/10-edited.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-809\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/10-edited.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/10-edited.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/10-edited-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/10-edited-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/10-edited-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a>You can use the buttons at the top of the editor window to accept\/reject individual edits or all of them at once.<\/li>\n<li>In this example, the AI did not think of adding separate ToString() methods to nested structures, and added everything to Rectangle. You can ask AI to fix this and press &#8220;Go&#8221; again to do another editing step:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/11-next.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-810\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/11-next.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/11-next.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/11-next-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/11-next-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/11-next-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/li>\n<li>Now the AI has added separate ToString() methods to other structs, and updated the one in Rectangle. You can use the filter button in the Outline window to get an instant overview the modified parts of the source:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/12-steps.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-811\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/12-steps.png\" alt=\"\" width=\"1080\" height=\"665\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/12-steps.png 1080w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/12-steps-300x185.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/12-steps-1024x631.png 1024w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/12-steps-768x473.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/a><\/li>\n<li>Note that many AI providers use too long model names to avoid confusion. If you are only using a handful of models, you can give them shorter aliases via the Manage AI Models window:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/13-stats.png\"> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-812\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/13-stats.png\" alt=\"\" width=\"883\" height=\"502\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/13-stats.png 883w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/13-stats-300x171.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/13-stats-768x437.png 768w\" sizes=\"(max-width: 883px) 100vw, 883px\" \/><\/a><\/li>\n<li>Simply edit the <strong>Show as<\/strong> field to use a shorter name:<a href=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/14-alias.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-813\" src=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/14-alias.png\" alt=\"\" width=\"883\" height=\"502\" srcset=\"https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/14-alias.png 883w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/14-alias-300x171.png 300w, https:\/\/sysprogs.com\/tutorials\/wp-content\/uploads\/2025\/06\/14-alias-768x437.png 768w\" sizes=\"(max-width: 883px) 100vw, 883px\" \/><\/a>You can also use the AI Models window to review how many tokens have been used by different models, and how fast they typically are.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>This tutorial shows how to configure CodeVROOM to use cloud-hosted language models to edit your code. We will setup the<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[64],"tags":[],"_links":{"self":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/796"}],"collection":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/comments?post=796"}],"version-history":[{"count":2,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/796\/revisions"}],"predecessor-version":[{"id":815,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/posts\/796\/revisions\/815"}],"wp:attachment":[{"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/media?parent=796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/categories?post=796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sysprogs.com\/tutorials\/wp-json\/wp\/v2\/tags?post=796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}