api Dify search knowledge #16433

Closed
opened 2026-02-21 19:26:06 -05:00 by yindo · 2 comments
Owner

Originally created by @Potato259 on GitHub (Aug 25, 2025).

Self Checks

  • I have read the Contributing Guide and Language Policy.
  • This is only for bug report, if you would like to ask a question, please head to Discussions.
  • I have searched for existing issues search for existing issues, including closed ones.
  • I confirm that I am using English to submit this report, otherwise it will be closed.
  • 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :)
  • Please do not modify this template :) and fill in all the required fields.

Dify version

1.2.0

Cloud or Self Hosted

Self Hosted (Docker)

Steps to reproduce

How to use the API to call the search knowledge base function of Dify? What needs to be returned to get the recalled fragment?

✔️ Expected Behavior

How to use the API to call the search knowledge base function of Dify? What needs to be returned to get the recalled fragment?

Actual Behavior

How to use the API to call the search knowledge base function of Dify? What needs to be returned to get the recalled fragment?

Originally created by @Potato259 on GitHub (Aug 25, 2025). ### Self Checks - [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542). - [x] This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). - [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones. - [x] I confirm that I am using English to submit this report, otherwise it will be closed. - [x] 【中文用户 & Non English User】请使用英语提交,否则会被关闭 :) - [x] Please do not modify this template :) and fill in all the required fields. ### Dify version 1.2.0 ### Cloud or Self Hosted Self Hosted (Docker) ### Steps to reproduce How to use the API to call the search knowledge base function of Dify? What needs to be returned to get the recalled fragment? ### ✔️ Expected Behavior How to use the API to call the search knowledge base function of Dify? What needs to be returned to get the recalled fragment? ### ❌ Actual Behavior How to use the API to call the search knowledge base function of Dify? What needs to be returned to get the recalled fragment?
yindo added the 🙋‍♂️ question🌚 invalid labels 2026-02-21 19:26:06 -05:00
yindo closed this issue 2026-02-21 19:26:06 -05:00
Author
Owner

@dosubot[bot] commented on GitHub (Aug 25, 2025):

To search the knowledge base via API in Dify v1.2.0 (self-hosted, Docker), use the endpoint:

POST /v1/datasets/{dataset_id}/retrieve

The request body should include your search query and (optionally) retrieval model parameters. Example:

{
  "query": "your search text",
  "retrieval_model": {
    "search_method": "keyword_search",
    "top_k": 3,
    "score_threshold_enabled": false
  }
}

Include your API key in the Authorization header as Bearer {api_key}.

The response will contain a query object and a records array. Each record represents a recalled fragment (segment) with fields like content, score, title, and metadata. For example:

{
  "query": { "content": "your search text" },
  "records": [
    {
      "segment": {
        "content": "Relevant fragment from your knowledge base",
        "title": "Document Title",
        "metadata": { /* ... */ }
      },
      "score": 0.98,
      "child_chunks": [ /* ... */ ]
    }
  ]
}

If the records array is empty, it means no matching content was found or your knowledge base is empty. This endpoint is supported in self-hosted Docker setups as of v1.2.0.
For more details and examples, see this thread and API implementation reference.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X

@dosubot[bot] commented on GitHub (Aug 25, 2025): <!-- Answer --> To search the knowledge base via API in Dify v1.2.0 (self-hosted, Docker), use the endpoint: ``` POST /v1/datasets/{dataset_id}/retrieve ``` The request body should include your search query and (optionally) retrieval model parameters. Example: ```json { "query": "your search text", "retrieval_model": { "search_method": "keyword_search", "top_k": 3, "score_threshold_enabled": false } } ``` Include your API key in the `Authorization` header as `Bearer {api_key}`. The response will contain a `query` object and a `records` array. Each record represents a recalled fragment (segment) with fields like `content`, `score`, `title`, and `metadata`. For example: ```json { "query": { "content": "your search text" }, "records": [ { "segment": { "content": "Relevant fragment from your knowledge base", "title": "Document Title", "metadata": { /* ... */ } }, "score": 0.98, "child_chunks": [ /* ... */ ] } ] } ``` If the `records` array is empty, it means no matching content was found or your knowledge base is empty. This endpoint is supported in self-hosted Docker setups as of v1.2.0. For more details and examples, see [this thread](https://github.com/langgenius/dify/issues/21884) and [API implementation reference](https://github.com/langgenius/dify/blob/aa71f88e1babd867524084ad361546e7e1e178b7/api/controllers/service_api/dataset/hit_testing.py). <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/a94a884a-007e-45de-bbd1-7144b22b3724?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/a94a884a-007e-45de-bbd1-7144b22b3724?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/a94a884a-007e-45de-bbd1-7144b22b3724?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/a94a884a-007e-45de-bbd1-7144b22b3724?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/a94a884a-007e-45de-bbd1-7144b22b3724?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/a94a884a-007e-45de-bbd1-7144b22b3724?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/a94a884a-007e-45de-bbd1-7144b22b3724?feedback_type=other)</sup>&nbsp;&nbsp;[![Chat with Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/6088a4f4-073a-43f3-b3d4-4f06fb0c05a0/ask?utm_source=github)&nbsp;[![Join Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share on X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/langgenius/dify/issues/24525)
Author
Owner

@crazywoola commented on GitHub (Aug 25, 2025):

This is only for bug report, if you would like to ask a question, please head to Discussions.
The version is outdated as well. Please read the instructions before postng an issue

@crazywoola commented on GitHub (Aug 25, 2025): This is only for bug report, if you would like to ask a question, please head to [Discussions](https://github.com/langgenius/dify/discussions/categories/general). The version is outdated as well. Please read the instructions before postng an issue
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#16433