feat: add GET upload file API endpoint to dataset service api#11899
Merged
JohnJyong merged 2 commits intolanggenius:mainfrom Jan 9, 2025
Merged
feat: add GET upload file API endpoint to dataset service api#11899JohnJyong merged 2 commits intolanggenius:mainfrom
JohnJyong merged 2 commits intolanggenius:mainfrom
Conversation
- Introduced a new UploadFileApi class to handle file uploads associated with datasets. - Implemented GET method to retrieve upload file details, including validation for dataset and document existence. - Updated service_api initialization to include the new upload_file module.
- Added documentation for the new GET upload file API endpoint in both English and Chinese. - Included details on request parameters, example cURL request, and expected JSON response format. - Enhanced the clarity of API usage for users in both languages.
Contributor
Author
|
@laipz8200 Hi, could you please take a look the PR, and let me know if you have any feedback? Thank you. |
JohnJyong
approved these changes
Jan 9, 2025
alexcodelf
pushed a commit
to alexcodelf/dify
that referenced
this pull request
Jan 21, 2025
jsincorporated
pushed a commit
to jsincorporated/asaAi
that referenced
this pull request
Jul 8, 2025
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
It's related to issues #9547 and #10296
When an app references a Knowledge resource, we want to download the source files linked in the citations section of the resulting chat message:
I known Dify team has permission concerns, and this is not a high priority from #9547.
So to keep it simple, this PR adds an API to retrieve upload file infos ( including download URL) from related documents.
The chat-messages API already provides document infos within the
metadata - retriever_resourcesfield.In addition to this PR, we can achieve source file downloads within our custom chat app.
This API also supports broader use cases related to uploaded files, such as downloading individual files or even batch downloading files from a knowledge base.
So this PR could be beneficial to other users.
For code style and consistency, I referenced existing code snippets:
Screenshots
Local API test result:
Doc preview:
Checklist
dev/reformat(backend) andcd web && npx lint-staged(frontend) to appease the lint gods