---
title: "getting-started/hello-agent"
source: getting-started
version: genesis-0-1-0
id: getting-started/hello-agent
canonical: /docs/getting-started/hello-agent
---


Now, let's add new dimensions to our application code and see how we can benefit from a 3D programming environment.

In this mini project we are going to set up a 3D environment and insert a robot inside this environment and then utilize our lovely robot with an LLM model so we can chat with it like,

$$$Image fileName=06-the-chat.png$$$

$$$AlertBox type=WARNING title=Driver Limitation message=At the moment, the driver of our 3D engine is only available for Windows Intel x64 operating systems. Hopefully, soon, there will be more drivers for this artifact to support Mac Metal and Linux operating systems. Make sure to subscribe to our newsletter to receive the latest updates as soon as possible.$$$

Let's start by downloading a 3D engine first. Engines add a graphical layer to our applications. In this case a 3D layer. 

It's time to introduce you to $$$ToPageLinker keyword=Logos toRoute=https://logos.simorg.art$$$ where simorg holds the blueprints of its universe. 

- Create a directory in your machine for our application and call it <<<hello-agent>>>.
- Head to  $$$ToPageLinker keyword=unreal-sim toRoute=https://logos.simorg.art/in/milad/unreal-sim$$$ artifact's landing page in *logos* and click on <<<Drivers>>> tab and download available driver for your machine. This is a 3rd party Binary Artifact published by an artisan.
- Follow the installation steps in the README section and set up the artifact.
- Move your simple <<<hello-world.art>>> code into this directory.
- Open a terminal window there and execute it using <<<sim -f hello-world.art>>>

Now your simorg app is running behind default port <<<7117>>> and is ready to accept connections.

While you still keep your hello-world app running, run 3D engine.

This binary is not registered under windows 11 app store so if you received a security warning or access request, accept them. This binary app will try to connect to local port <<<7117>>> in order to communicate with our <<<hello-world>>> app, so please make sure your local firewall setting is allowing it.

$$$Image fileName=security-request.png$$$

If everything works correctly, you will see the following welcome screen. 

$$$Image fileName=welcome-screen.png$$$

Perfect now follow the next steps on the screen.
Once you reached the default script window just make sure the existing versions are the last available versions in logos. For now logos is limited in the amount of blueprints but in future once we opened it up to artisans, there will be many more artifacts to use.

$$$Image fileName=default-script.png$$$

As you can see the code is quite simple, we are importing an island world, adding a compiler window so we can continue expand our application from inside and last but not least, an avatar to make us able to move around.

Once done, press on <<<Build And Execute>>>.

If you are doing this for the first time, the necessary artifacts will start to download.

$$$Image fileName=download-progress.png$$$

Awesome! When downloads are done press <<<Enter>>> and you will jump right into this beautiful world we created out of simorg code.

$$$Image fileName=the-world.png$$$

## Hello Agent
Now that we are in our world, its time to bring in another robot and add an LLM, a source of consciousness, into it.

- So press Q to open compiler window. We can use simorg scripts to bring in a 3D Component.
- Add the following script there,

```
"@milad/robo-sim.1.3" #myRobot
```

$$$Image fileName=robot-script.png$$$
- This component artifact is registered in *logos* our package manager as $$$ToPageLinker keyword=A Wandering Robot toRoute=https://logos.simorg.art/in/milad/robo-sim?activeTab=readme$$$ and you are right we already imported it but this time it is imported as a standalone component.
- Build the code by pressing *Build* button on the top. Because this artifact is a component, as soon as we *Build*, a new component instance will be added inside our inventory tab.
- Click the *Inventory* tab and click <<<UNREAL>>> to activate the Unreal driver, which is one of the drivers that this engine supports. Engines may support multiple drivers.

$$$Image fileName=unreal-driver.png$$$
Because we already downloaded this driver, the artifact is usable right away.

Press the <<<Use>>> button in order to instantiate this component in your universe.

- If you drag the mouse near your location, our new robot should become visible. Click somewhere near to place it.
- Move around and approach the avatar and press <<<E>>> on your keyboard to interact with this robot. If you are too near, keep a bit of distance and approach again, PoC mode ;).

$$$Image fileName=interact.png$$$

- This will open the interaction window of this robot. Now, we are ready to add consciousness to our robot.
- Now here comes our second Artifact. $$$ToPageLinker keyword=LLama For Simorg toRoute=https://logos.simorg.art/in/milad/llama-sim?activeTab=readme$$$. An LLM model loader plugin that we embed inside this robot, making it able to have its own consciousness. To do so lets first download an LLM Model so we can run it locally.
- Head to $$$ToPageLinker keyword=Huggingface toRoute=https://huggingface.co/$$$ and download a *gguf* formatted llm model depending on the spec of your machine. Save the model and note the path to *gguf* file as we will need this path to load the model.
- Add the following code inside the consciousness window of this robot,
```
"@simorg/llama-sim.1.9" #llama

 ("path-to-llm.gguf", "You are a robot") llama.initialize

$chatPrompt
$streamStart
$streamContent
$streamEnd

chatPrompt llama.prompt
llama.streamStart streamStart
llama.streamContent streamContent
llama.streamEnd streamEnd

```

- In line 3, make sure to replace <<<path-to-llm.gguf>>> with absolute path of your downloaded *gguf* file e.g. <<<C:\my-model.gguf>>>. This will be used to initialize our plugin.
- As you noted, a system prompt of <<<"You are a robot">>> also is used in initialization vibration.

$$$Image fileName=llm-code.png$$$

- Now *Build* the consciousness.
- Click the *Chat* button and type a question then press send! Boom! After a short while the llm should kick in and streams of answers starting to be received by our robot.


$$$Image fileName=the-chat.png$$$

Congrats! You just utilized a local llm inside your machine and gave its power to a 3D component.

Now, let's wait a sec and see what we have done!

On the surface we created a mini 3D universe using simorg's code. But what happened under the hood is that we inject consciousness into a 3D component. This is now a piece of software in 3D form.

These components are not passive elements of your universe; each of them can represent functionality or a piece of software. Each of them can hold a piece of consciousness.

This makes us able to start building our applications from within.

This simple robot can be powered by an instruction based model. This makes it able to do meaningful works in this 3D universe. The environment is quite agent friendly. It is possible to have a range of agents in this universe each contributing to a specific task.

$$$AlertBox type=HINT title=Logos Holds Everything message=Don't forget to check logos, all you need is there ;).$$$


Well, the purpose of this demo is to present a very basic proof of concept regarding the power of simorg programming language and logos. It represents a new possibility of building next generation software. As you noticed the UI is not beautiful, it just gets the job done. All of these are awaiting talented *Artisans* who publish their artifacts in logos and make these applications more beautiful. Everything from the 3D engine, world, avatar and *llama-sim* are artifacts which are created by artisans and uploaded in *logos*. 

Simorg as a platform is responsible to provide the technology, and our talented community are the ones who build the applications. We believe in collaboration, this process may seem a bit slow in the beginning but soon when the community is there, it will gain momentum. 

Technologies like AI and Metaverse are more beautiful when they are open for everyone, there is no monolithic solution for them! The success of simorg is linked to your success and if there is going to be a prize, everyone who contributes to this success should have a fair share of it. Simorg provides all the tools and technology you need to embed AI in every single digital element, shape your workflows and create next generation software that yet, are not possible to be built using our existing programming languages. 
