SKILL.md
Dify Knowledge Base Search
Prepare required inputs
- Provide
dataas JSON containingqueryand optionalretrievalmodel.topk. - Read these env vars:
- DIFYAPIBASEURL: base API URL and include /v1 (example: https://api.dify.ai/v1). - DIFYDATASETID: target dataset ID. - DIFYAPIKEY: send as Authorization: Bearer <DIFYAPI_KEY>.
Send request
- Endpoint:
${DIFYAPIBASEURL}/datasets/${DIFYDATASET_ID}/retrieve - Headers:
- Content-Type: application/json - Authorization: Bearer <DIFYAPIKEY>
- Use
assets/example-request.jsonas the payload template.
curl -sS --location --request POST "$DIFY_API_BASE_URL/datasets/$DIFY_DATASET_ID/retrieve" \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DIFY_API_KEY" \
--data @assets/example-request.json
Interpret response
- Request shape:
{ "query": string, "retrievalmodel"?: { "topk": number } } - Success shape: 200 with
{ query, records: [...] } - If
recordsis empty, increaseretrievalmodel.topkmoderately and retry.
Troubleshoot quickly
- If auth fails, verify
DIFYAPIKEYandAuthorizationheader format. - If route fails, verify
DIFYAPIBASE_URLincludes/v1. - If results are low quality, refine
queryand tunetop_k.
References
references/env.mdreferences/request-response.mdreferences/testing.md
Assets
assets/example-request.json