> ## Documentation Index
> Fetch the complete documentation index at: https://narev.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# File Upload

> Bulk-load prompts and expected outputs into a Narev benchmark from CSV, JSON, or JSONL files to evaluate LLM variants against historical datasets.

### File upload

Upload your test data directly as files. Ideal for analyzing historical data or running experiments with pre-collected datasets.

**Key Feature:** Test with existing data\
**Supported Formats:** CSV, JSON, and JSONL

#### Field Requirements

Regardless of your file format, your file must contain the following fields:

* `messages` (required): An array of message objects, each with:
  * `role`: the role of the message sender (for example, `user`, `assistant`, or `system`)
  * `content`: the message content
* `expected_output` (optional): the expected response for evaluation purposes

#### Format examples

<AccordionGroup>
  <Accordion title="CSV format">
    ```csv theme={null}
    messages,expected_output
    "[{""role"":""user"",""content"":""What is the capital of France?""}]","Paris"
    "[{""role"":""user"",""content"":""Explain quantum computing""}]","Quantum computing uses quantum mechanics..."
    ```
  </Accordion>

  <Accordion title="JSON format">
    ```json theme={null}
    [
      {
        "messages": [{ "role": "user", "content": "What is the capital of France?" }],
        "expected_output": "Paris"
      },
      {
        "messages": [{ "role": "user", "content": "Explain quantum computing" }],
        "expected_output": "Quantum computing uses quantum mechanics..."
      }
    ]
    ```
  </Accordion>

  <Accordion title="JSONL format">
    ```jsonl theme={null}
    {"messages": [{"role": "user", "content": "What is the capital of France?"}], "expected_output": "Paris"}
    {"messages": [{"role": "user", "content": "Explain quantum computing"}], "expected_output": "Quantum computing uses quantum mechanics..."}
    ```
  </Accordion>
</AccordionGroup>

<Info>
  The `expected_output` field is optional. If provided, it enables quality metrics and evaluation features for your A/B
  tests.
</Info>
