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

# Quickstart

> Get started with duohub in under 5 minutes

## Installation

The fastest way to get started with duohub is through our Python SDK:

```bash theme={null}
pip install duohub
```

## Authentication

Sign up at [app.duohub.ai](https://app.duohub.ai) to get your API key. You'll need this to authenticate your requests. You can find your API key by clicking Accounts on the bottom left.

```python theme={null}
from duohub import Duohub

client = Duohub(api_key='YOUR_API_KEY')
```

## Creating Your First Memory

<Note>
  Currently, data ingestion is handled through the dashboard interface.
  API-based ingestion will be available soon.
</Note>

<Tabs>
  <Tab title="Graph Memory">
    <ol>
      <li>Navigate to the Memory section in your dashboard</li>
      <li>Click the + icon to create a new memory</li>
      <li>Enter a name for your memory</li>

      <li>
        Select files to ingest:

        <ul>
          <li>Documents (PDF, Word, Text)</li>
          <li>Web pages</li>
          <li>Audio files</li>
          <li>Video files</li>
          <li>Entire websites</li>
        </ul>
      </li>

      <li>Click Next to start processing</li>
    </ol>
  </Tab>

  <Tab title="Vector Memory">
    <ol>
      <li>Navigate to the Memory section in your dashboard</li>
      <li>Click the + icon to create a new memory</li>
      <li>Enter a name for your memory</li>
      <li>Select files to ingest (supports larger document sets than graph memory)</li>

      <li>
        Configure chunking parameters:

        <ul>
          <li>Chunk size (default: 250 words)</li>
          <li>Chunk overlap (default: 10%)</li>
        </ul>
      </li>

      <li>Click Next to start processing</li>
    </ol>

    Processing time varies based on document size. You can leave the page and return later. Once complete, you'll see a preview and can copy your memory ID for use in applications.
  </Tab>
</Tabs>

## Querying Your Memory

Once you have your memory ID, you can start querying:

```python theme={null}
# Basic query
response = client.query(
    query="What is the main topic?",
    memoryID="your_memory_id"
)

# Query with supporting facts
response = client.query(
    query="What is the main topic?",
    memoryID="your_memory_id",
    facts=True,
    assisted=True
)
```

The `assisted=True` parameter enables AI-powered response formatting.

## Advanced Usage

<AccordionGroup>
  <Accordion icon="rectangle-terminal" title="Using the REST API">
    If you prefer using the REST API directly:

    ```bash theme={null}
    curl -X GET "https://api.duohub.ai/memory" \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "query": "What is the main topic?",
        "memoryID": "your_memory_id",
        "facts": true,
        "assisted": true
      }'
    ```
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup>
  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Complete API documentation
  </Card>
</CardGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion icon="bug" title="Common Issues">
    * **Rate Limiting**: Default limit is 100 requests per minute. Contact support for higher limits.
    * **Timeout Errors**: Try specifying a closer region or increasing the timeout setting.
    * **Memory Not Found**: Ensure your `memory_id` is correct and the ingestion completed successfully.
  </Accordion>

  <Accordion icon="message-question" title="Getting Help">
    * Check our [GitHub Issues](https://github.com/duohub-ai/duohub-py)
    * Email support at [hello@duohub.ai](mailto:hello@duohub.ai)
  </Accordion>
</AccordionGroup>
