> For the complete documentation index, see [llms.txt](https://docs.chatbees.ai/chatbees/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chatbees.ai/chatbees/api-references/document-operations/ask.md).

# Ask

You can ask questions within a collection. `ask()` method returns a plain-text answer to your question, as well as a list of most relevance references used to derive the answer.

By default, ask will get answers from all relevant documents in the collection. If you want to ask a single document, you could limit the document when ask.

{% tabs %}
{% tab title="HTTP" %}

```
POST /docs/ask HTTP/1.1
Api-Key: my_api_key
Content-Type: application/json
Host: my_account_id.us-west-2.aws.chatbees.ai

{
  "namespace_name": "string",
  "collection_name": "string",
  "question": "string",
  // Optional top_k, default is 5.
  "top_k": int,
  // Optional doc_name. if specified, question will be answered with the
  // context only from the doc.
  "doc_name": "string" or null,
  // The chat history
  history_messages: [(question1, answer1), ...]
}

Response:
{
  "answer": "string",
  "refs": [
    {"doc_name": "string", "page_num": int, "sample_text": "string"},
    ...
  ]
}

```

{% endtab %}

{% tab title="Python" %}

```
import chatbees as cb

# Configure API key
cb.init(api_key="my_api_key", account_id="my_account_id")

# get answer from all docs in the collection
answer, refs = cb.collection('llm_research').ask('what is a transformer?')

# get answer from a specific doc in the collection
answer, refs = cb.collection('llm_research').ask(question='what is a transformer?', doc_name='file.pdf')
```

{% endtab %}
{% endtabs %}
