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

# query • AI Agent SDK

> query: Query knowledge and get a structured answer with citations.

# query

<div className="flex items-center gap-2">
  <Badge color="purple">Method</Badge>
</div>

> This is a method of the [**Agent**](../classes/Agent) class in the [**agent**](../modules/agent) module.

Query knowledge and get a structured answer with citations.

This is the recommended method for getting answers with source citations.
Returns a structured result with answer, citations, context used, and metadata.

## Signature

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
def query(question: str) -> 'RAGResult'
```

## Parameters

<ParamField query="question" type="str" required={true}>
  The question to answer \*\*kwargs: Additional arguments (top\_k, rerank, etc.)
</ParamField>

### Returns

<ResponseField name="Returns" type="'RAGResult'">
  RAGResult with answer, citations, context\_used, and metadata
</ResponseField>

### Exceptions

<AccordionGroup>
  <Accordion title="ValueError">
    If no knowledge is configured
  </Accordion>

  <Accordion title="ImportError">
    If RAG module is not available
  </Accordion>
</AccordionGroup>

## Usage

```python theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
agent = Agent(knowledge=["doc.pdf"], retrieval_config={"citations": True})
    result = agent.query("What is the main finding?")
    print(result.answer)
    for citation in result.citations:
        print(f"  [{citation.id}] {citation.source}")
```

## Uses

* `ValueError`
* `ImportError`
* `kwargs.setdefault`
* `query`

## Used By

* [`Agent.query`](../functions/Agent-query)
* [`Agent.rag_query`](../functions/Agent-rag_query)
* [`Memory.search_short_term`](../functions/Memory-search_short_term)
* [`Memory.search_long_term`](../functions/Memory-search_long_term)

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-agents/praisonaiagents/agent/agent.py#L3095">
  `praisonaiagents/agent/agent.py` at line 3095
</Card>
