Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: set indexing technique from dataset during update-by-text #13155

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

aplio
Copy link
Contributor

@aplio aplio commented Feb 2, 2025

Summary

This PR fixes an invalid_param error in the update-by-text API endpoint.
The error occurs when indexing_technique is not provided to the KnowledgeConfig validation, resulting in a Pydantic validation error.

Example of the current error:

curl --location --request POST 'http://127.0.0.1:5001/v1/datasets/UUID_HERE/documents/UUID_HERE/update-by-text' \
--header 'Authorization: Bearer API_KEY_HERE' \
--header 'Content-Type: application/json' \
--data-raw '{"name": "name2","text": "text"}'

Response:

{
    "code": "invalid_param",
    "message": "1 validation error for KnowledgeConfig\nindexing_technique\n  Field required [type=missing, input_value={'name': 'name2', 'text':...4da8-9a39-a78f4108669a'}, input_type=dict]\n    For further information visit https://errors.pydantic.dev/2.9/v/missing",
    "status": 400
}

The indexing_technique parameter is only meant to be set during document creation or initial upload, as shown in the current dataset_service implementation. For update operations, this field should not be required since it's already set and immutable.

This PR fixes the issue by defaulting to the dataset's existing indexing_technique value in the update API endpoint.

resolves #12465

Screenshots

Before After
... ...

Checklist

Important

Please review the checklist below before submitting your pull request.

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

@dosubot dosubot bot added size:XS This PR changes 0-9 lines, ignoring generated files. 🐞 bug Something isn't working labels Feb 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug Something isn't working size:XS This PR changes 0-9 lines, ignoring generated files.
Projects
None yet
1 participant