# Creating a Router

A Router in the Turing system represents an ML experiment and holds the configuration for the traffic routing, pre/post-processors, incorporating the response from the Experiment engine and logging. It is built on our Fiber traffic routing library written in Golang, and sources its configuration when it starts up.

### Setting Up An Experiment

In Turing, your will need to create a router with an optional Experiment Engine, Pre-processor (Enricher) and Post-processor (Ensembler) configured based on your requirements. After configuring and deploying the router, you will receive a URL to which you are able to send your experimentation requests.

### Navigate to the Create Router UI

* Open the Turing homepage.
* Choose a project in which you want to create your router. If such a project does not exist, you can [create a project](https://docs.caraml.dev/user-guides/projects/create-project)

![](/files/4S9kU9p5oE1hcrNzK9rn)

* Choose “Create Router”.

![](/files/Hie6EZb9e92sfkeX1O7r)

### Configure router

Now that we have navigated to the create a router page, we can continue to configure the router.

{% content-ref url="/pages/3QAaFmUnKpzWQTreSzPb" %}
[Configure general settings](/user-guides/router/create-a-router/configure-general-settings.md)
{% endcontent-ref %}

{% content-ref url="/pages/tQMF20UP3KSoatUI8i6z" %}
[Configure routes](/user-guides/router/create-a-router/configure-routes.md)
{% endcontent-ref %}

{% content-ref url="/pages/MH8vP72a7GHWdaasNZpk" %}
[Configure traffic rules](/user-guides/router/create-a-router/configure-traffic-rules.md)
{% endcontent-ref %}

{% content-ref url="/pages/lADlysQlUlb0w4A5oqfc" %}
[Configure autoscaling](/user-guides/router/create-a-router/configure-autoscaling.md)
{% endcontent-ref %}

{% content-ref url="/pages/8XCMQXxVTxbkGkZBp2SI" %}
[Configure experiment engine](/user-guides/router/create-a-router/configure-experiment-engine.md)
{% endcontent-ref %}

{% content-ref url="/pages/HIZsncyfu7gTvSSwdaLQ" %}
[Configure enricher](/user-guides/router/create-a-router/configure-enricher.md)
{% endcontent-ref %}

{% content-ref url="/pages/Ij8w5mRVEyY7XjcW7Ayv" %}
[Configure ensembler](/user-guides/router/create-a-router/configure-ensembler.md)
{% endcontent-ref %}

{% content-ref url="<https://github.com/caraml-dev/docs/blob/main/module/router/how-to/create-a-router/configure-logging-request-response.md>" %}
<https://github.com/caraml-dev/docs/blob/main/module/router/how-to/create-a-router/configure-logging-request-response.md>
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.caraml.dev/user-guides/router/create-a-router.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
