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

[Feature Request]: File manager & API #345

Open
1 task done
tvvignesh opened this issue Apr 12, 2024 · 18 comments
Open
1 task done

[Feature Request]: File manager & API #345

tvvignesh opened this issue Apr 12, 2024 · 18 comments
Assignees
Labels

Comments

@tvvignesh
Copy link

Is there an existing issue for the same feature request?

  • I have checked the existing issues.

Is your feature request related to a problem?

Hi. Thanks a lot for this project. While I have got RAGFlow working, I was wondering whether you have any documentation on things like

- Connecting with our existing authentication system: How do we do a handshake if a user is already signed up and logged in to our app and we want to avoid 2 signups/logins
- Embedding the assistant as a chatbot. How do we embed the chatbot in our web app?
- Also, we don't want to give users the ability to create assistant or add to knowledgebase but just chat with the knowledgebase. This means, we need to default the knowledgebase we want to use and the assistant we want to use and the admin manages both the knowledgebase and assistants. May I know how do we do this?

Describe the feature you'd like

An easy way to embed my assistant as a chatbot in the website and enable users to chat through the knowledgebase while maintaining history and context individually.

Describe implementation you've considered

No response

Documentation, adoption, use case

No response

Additional information

No response

@tvvignesh
Copy link
Author

Also, what is the reason for having this? Since we are self-hosting ragflow, why is a 128 document limit required? Is it intended for some reason? Getting this errors when I go above 128 documents in my knowledgebase.

image

@tvvignesh
Copy link
Author

tvvignesh commented Apr 13, 2024

Also, the toast on doing bulk operations come multiple times - once for each item in the UI - eg. enabling multiple files, running multiple files, etc.

image

Also, what is the difference between "Enable" and "Run" in the UI? I understand that you do parsing of the docs when I press "Run" but what does "Enable" or "Disable" do?

@tvvignesh
Copy link
Author

tvvignesh commented Apr 13, 2024

In addition, is there a way to have the knowledgebase organized by folder structure instead of having it flat to help us in managing it easily?

For eg. we have docs organized like this and we would like to maintain the structure in ragflow as well - as of now, we are doing prefix and storing in flat structure. Having similar structure would help.

image

image

To make it simpler for you, you can probably support adding tags during upload and also support filtering of files by tag along with ability to view the list of tags

@tvvignesh
Copy link
Author

In addition, when pressing "Next" during bulk upload of files, while it uploads all the files, it stays in the same screen as if the files are not uploaded yet giving no indication.

image

@tvvignesh
Copy link
Author

Also, I see an "Upgrade" button in the Team section. Is this meant to be a paid feature of ragflow?

image

@tvvignesh
Copy link
Author

When the file names are long, there is an overlap in Name and Chunk Number

image

@tvvignesh tvvignesh changed the title [Feature Request]: Documentation on embedding, passing/disabling auth [Feature Request]: Documentation on embedding, passing/disabling auth and other issues Apr 13, 2024
@tvvignesh
Copy link
Author

tvvignesh commented Apr 13, 2024

When I try to register the second user, it says "No such file or directory" in the response and I am not able to register

image

And when I try to login, it says email is not registered.

UPDATE: It worked after I setup the PEM file. For some reason the private.pem and public.pem file were not cloned and I kept getting these errors

image

@tvvignesh tvvignesh mentioned this issue Apr 13, 2024
27 tasks
@tvvignesh
Copy link
Author

If I create a new user, I am not able to see the assistants created by other users. In my case, since I dont want to allow other users to create assistants but just chat with them, how do i do it?

@tvvignesh
Copy link
Author

Also, you are assigning tenant_id as user id during queries. So, even if we change the tenant id of a user in the database level, we need to change the code as well everywhere to make sure it works. Rather I assume you should query the tenant of the current user and not the current user id itself.

image

@tvvignesh tvvignesh changed the title [Feature Request]: Documentation on embedding, passing/disabling auth and other issues [Bug]: Embedding, passing/disabling auth and other issues Apr 13, 2024
@tvvignesh
Copy link
Author

Another major issue I noticed is that, according to your logic, the assistant is nothing but the dialog. But that will not work if we use the same assistant across multiple users cause the conversation history of other users will also get shared since conversations are mapped to assistants (dialogs).

Rather you should have 3 layers if I am not wrong - Assistants > Dialogs > Conversations and dialogs are mapped to users

@KevinHuSh
Copy link
Collaborator

Is there an existing issue for the same feature request?

  • I have checked the existing issues.

Is your feature request related to a problem?

Hi. Thanks a lot for this project. While I have got RAGFlow working, I was wondering whether you have any documentation on things like

- Connecting with our existing authentication system: How do we do a handshake if a user is already signed up and logged in to our app and we want to avoid 2 signups/logins
- Embedding the assistant as a chatbot. How do we embed the chatbot in our web app?
- Also, we don't want to give users the ability to create assistant or add to knowledgebase but just chat with the knowledgebase. This means, we need to default the knowledgebase we want to use and the assistant we want to use and the admin manages both the knowledgebase and assistants. May I know how do we do this?

Describe the feature you'd like

An easy way to embed my assistant as a chatbot in the website and enable users to chat through the knowledgebase while maintaining history and context individually.

Describe implementation you've considered

No response

Documentation, adoption, use case

No response

Additional information

No response

Thanks for all these issues which are very important.

The above three will be fullfilled in the 'Conversation API' feature we're about to release in the comming week.
The system will produce multiple secrete tokens for a user, then, the other systems can use these tokens integerating with other own authentication.

@KevinHuSh
Copy link
Collaborator

Also, what is the reason for having this? Since we are self-hosting ragflow, why is a 128 document limit required? Is it intended for some reason? Getting this errors when I go above 128 documents in my knowledgebase.

image

Since the source code is consistent with our demo site code, inorder to save our computation resources, we add this limitation.
We're gona fix this by passing it from evirement variable.

@KevinHuSh
Copy link
Collaborator

Also, the toast on doing bulk operations come multiple times - once for each item in the UI - eg. enabling multiple files, running multiple files, etc.

image

Also, what is the difference between "Enable" and "Run" in the UI? I understand that you do parsing of the docs when I press "Run" but what does "Enable" or "Disable" do?

The multiple toasts will be optimized.
Since uploading and parsing is very time-consuming, it's very annoying if user what to test the existence of a specific file.
And it happends a lot in the scenario of optimizing the quality of chat bot.

@KevinHuSh
Copy link
Collaborator

In addition, is there a way to have the knowledgebase organized by folder structure instead of having it flat to help us in managing it easily?

For eg. we have docs organized like this and we would like to maintain the structure in ragflow as well - as of now, we are doing prefix and storing in flat structure. Having similar structure would help.

image

image

To make it simpler for you, you can probably support adding tags during upload and also support filtering of files by tag along with ability to view the list of tags

It's already in our road map.

@KevinHuSh
Copy link
Collaborator

Also, I see an "Upgrade" button in the Team section. Is this meant to be a paid feature of ragflow?

image

Yes, and it's still under developing.

@KevinHuSh
Copy link
Collaborator

the PEM file

The PEM files are for HTTPS. We did't open-souce it.

@KevinHuSh
Copy link
Collaborator

Also, you are assigning tenant_id as user id during queries. So, even if we change the tenant id of a user in the database level, we need to change the code as well everywhere to make sure it works. Rather I assume you should query the tenant of the current user and not the current user id itself.

image

Good point.

KevinHuSh added a commit that referenced this issue Apr 15, 2024
### What problem does this PR solve?


Issue link:#345

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
@cike8899 cike8899 mentioned this issue Apr 16, 2024
1 task
KevinHuSh pushed a commit that referenced this issue Apr 16, 2024
### What problem does this PR solve?

feat: render stats charts
feat: create api token
feat: delete api token
feat: add ChatApiKeyModal
feat: add RagLineChart


Issue link: #345

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
@KevinHuSh KevinHuSh changed the title [Bug]: Embedding, passing/disabling auth and other issues [Feature Request]: File manager & API Apr 17, 2024
@KevinHuSh KevinHuSh self-assigned this Apr 17, 2024
KevinHuSh pushed a commit that referenced this issue Apr 19, 2024
### What problem does this PR solve?

Embed the chat window into other websites through iframe

#345 

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
cike8899 added a commit to cike8899/ragflow that referenced this issue Apr 19, 2024
KevinHuSh pushed a commit that referenced this issue Apr 19, 2024
…e chart will be displayed. (#461)

… chart will be displayed.

### What problem does this PR solve?

feat: #345 even if the backend data returns empty, the skeleton of the
chart will be displayed.

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
KevinHuSh pushed a commit that referenced this issue Apr 24, 2024
### What problem does this PR solve?

feat: create folder
feat: ensure that all files in the current folder can be correctly
requested after renaming the folder
#345 

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
KevinHuSh pushed a commit that referenced this issue Apr 25, 2024
### What problem does this PR solve?

feat: upload file in FileManager #345 

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
KevinHuSh pushed a commit that referenced this issue Apr 25, 2024
### What problem does this PR solve?

feat: add file icon to table of FileManager #345
fix: modify datasetDescription

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
KevinHuSh pushed a commit that referenced this issue Apr 26, 2024
### What problem does this PR solve?
#345
feat: translate FileManager
feat: batch delete files from the file table in the knowledge base

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
KevinHuSh pushed a commit that referenced this issue Apr 26, 2024
### What problem does this PR solve?
#345
feat: add Tooltip to action icon of FileManager 

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
@jiandandema
Copy link

jiandandema commented Jul 23, 2024

MAX_FILE_NUM_PER_USER = int(os.environ.get('MAX_FILE_NUM_PER_USER', 0))
if MAX_FILE_NUM_PER_USER > 0 and DocumentService.get_doc_count(kb.tenant_id) >= MAX_FILE_NUM_PER_USER:
        raise RuntimeError("Exceed the maximum file number of a free user!")

Hello, I see that the code has been updated. If that's the case, will there still be a limit on the number of files in the knowledge base?

cike8899 added a commit to cike8899/ragflow that referenced this issue Sep 6, 2024
@cike8899 cike8899 mentioned this issue Sep 6, 2024
1 task
KevinHuSh pushed a commit that referenced this issue Sep 6, 2024
### What problem does this PR solve?

feat: Added md.svg #345

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 11, 2024
### What problem does this PR solve?

feat: Added md.svg infiniflow#345

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
### What problem does this PR solve?


Issue link:infiniflow#345

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
### What problem does this PR solve?

feat: render stats charts
feat: create api token
feat: delete api token
feat: add ChatApiKeyModal
feat: add RagLineChart


Issue link: infiniflow#345

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
### What problem does this PR solve?

Embed the chat window into other websites through iframe

infiniflow#345 

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
…eton of the chart will be displayed. (infiniflow#461)

… chart will be displayed.

### What problem does this PR solve?

feat: infiniflow#345 even if the backend data returns empty, the skeleton of the
chart will be displayed.

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
### What problem does this PR solve?

feat: create folder
feat: ensure that all files in the current folder can be correctly
requested after renaming the folder
infiniflow#345 

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
### What problem does this PR solve?

feat: upload file in FileManager infiniflow#345 

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
…w#543)

### What problem does this PR solve?

feat: add file icon to table of FileManager infiniflow#345
fix: modify datasetDescription

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
### What problem does this PR solve?
infiniflow#345
feat: translate FileManager
feat: batch delete files from the file table in the knowledge base

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Halfknow pushed a commit to Halfknow/ragflow that referenced this issue Nov 13, 2024
### What problem does this PR solve?
infiniflow#345
feat: add Tooltip to action icon of FileManager 

### Type of change

- [x] New Feature (non-breaking change which adds functionality)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants