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

Enhancement: Private Assistants #1926

Open
1 task done
gius opened this issue Feb 29, 2024 · 7 comments
Open
1 task done

Enhancement: Private Assistants #1926

gius opened this issue Feb 29, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@gius
Copy link

gius commented Feb 29, 2024

What features would you like to see added?

Created assistants could be either shared, or private for the author

More details

Currently, users can access any assistant. This allows other users to access the files uploaded to the assistant. Making assistants private should prevent other users from accessing the files.

Which components are impacted by your request?

UI

Pictures

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@gius gius added the enhancement New feature or request label Feb 29, 2024
@danny-avila
Copy link
Owner

Already implemented: https://docs.librechat.ai/install/configuration/custom_config.html#supportedids

Also they can be completely private if you only allow users to put in their API keys (based off separate OpenAI accounts) rather than sharing the one configured by admin.

@gius
Copy link
Author

gius commented Feb 29, 2024

Thank you for your quick response. The use-case I mentioned is right when you configure the API key in env file (so that your users do not need to know/bother).

@danny-avila
Copy link
Owner

Thank you for your quick response. The use-case I mentioned is right when you configure the API key in env file (so that your users do not need to know/bother).

Gotcha, I see. So you want to limit users to their own created assistants, while sharing API key? That should be possible actually, as long as you're ok with them sharing OpenAI file storage.

@gius
Copy link
Author

gius commented Feb 29, 2024

Exactly! I don't think that sharing OpenAI storage would be a problem. It seems to me that only Assistant's configuration and actual prompting are accessible to other users. Files uploaded to the assistant are not visible in the My files, nor the Assistant's Knowledge section.

Do you have any idea how to achieve that without changes to the codebase, or do we need to actually implement this?

@danny-avila
Copy link
Owner

danny-avila commented Feb 29, 2024

Exactly! I don't think that sharing OpenAI storage would be a problem. It seems to me that only Assistant's configuration and actual prompting are accessible to other users. Files uploaded to the assistant are not visible in the My files, nor the Assistant's Knowledge section.

Do you have any idea how to achieve that without changes to the codebase, or do we need to actually implement this?

I'm re-opening the issue as it can be done feasibly. However there is a codebase change needed. Basically, the user's created assistants should be tracked in the db, which currently is only done sparingly to avoid mixture issues with the assistants being updated elsewhere.

I'm sure I can think of a way to integrate this as seamlessly as possible.

@danny-avila danny-avila reopened this Feb 29, 2024
@gius
Copy link
Author

gius commented Feb 29, 2024

Great! I was also thinking about using the Metadata property to store something like "owner". But if you prefer using the DB, it makes sense as well. If you can provide more detailed guidance about your preferred way, I would like to talk with my colleagues and help with a PR ;-) ...cannot promise anything, though.

@danny-avila
Copy link
Owner

Great! I was also thinking about using the Metadata property to store something like "owner". But if you prefer using the DB, it makes sense as well. If you can provide more detailed guidance about your preferred way, I would like to talk with my colleagues and help with a PR ;-) ...cannot promise anything, though.

metadata works im also using it for the avatar atm. You could take a look at how I'm doing it there. Note that whatever the implementation, it should be optional/configurable as this is not everyone's use case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants