Chainlit / chainlit

Build Conversational AI in minutes ⚡️
https://docs.chainlit.io
Apache License 2.0
6.91k stars 911 forks source link

Chainlit local deployment with persistency and authentication? #534

Closed bbence84 closed 10 months ago

bbence84 commented 10 months ago

Not sure if I got it right, but is it possible to deploy Chainlit on a local server or a cloud provider only possible in the enterprise version? I am checking this page: https://docs.chainlit.io/cloud/deployment But it's not clear for me what is the case. :)

I would like to build a hobby project, that might eventually be deployed to the wild (for non profit most likely), and chainlit is the perfect foundation for this. However the simple chainlit package does not allow persistency and authentication. Since I have some proprietary things, I would first rather deploy this setup locally.

Is it possible? Or you need to pay for the enterprise version?

Thanks! Bence

willydouhard commented 10 months ago

The self hosting version is for enterprise (commercial license). For now the cloud is free and in the future we will keep an accessible pricing tier!

bbence84 commented 10 months ago

Thanks, that's good to hear! :) In the meanwhile I was able to setup persistency and authentication so that I could use Chainlit cloud. THanks!

maxshowarth commented 10 months ago

To confirm: it not possible to enable data persistence or authentication when self-hosting unless you are using the enterprise docker images distributed by Chainlit?

I recall in version 6.X and below, one could configure a local database to be used. Has this option been removed entirely?

bbence84 commented 10 months ago

I could enable persistence using Chainlit Cloud (you can create a new project for free and get an API key). You can also enable authentication if you set the secret and ANY auth provider (e.g. Google, Auth0, etc.) So it definitely works. You need to use Chailit Cloud for persistence though, which currently is free, but might be charged later, according to the comment from Willy.

maxshowarth commented 10 months ago

Okay - hoping that @willydouhard can confirm that the direction forward is to not support local or custom databases for persistence as was possible in the past.

I couldn't see this change explicitly reflected in the release notes, so it would be good to understand whether this is reflective of the future or a temporary change.

willydouhard commented 10 months ago

We will not officially support local or custom databases, however we will provide guidance on how to implement it by yourself.

Mrfranken commented 10 months ago

We will not officially support local or custom databases, however we will provide guidance on how to implement it by yourself.

hi @willydouhard could I konw if there is plan to release guidance? Many thx

willydouhard commented 10 months ago

This is going to change in the near future, we have a big update upcoming on this area.

maddyonline commented 10 months ago

Following this thread. What is the most hacky way of enabling local persistence today without using Cloud? Something that works locally on localhost for quick prototyping? Thanks!

willydouhard commented 10 months ago

You will be able to implement your own data layer in the upcoming releases.

jenghub commented 9 months ago

Is there a timeline for releasing local persistence? Would also like a way to quickly prototype a feedback mechanism without resorting to cloud. Thank you!

willydouhard commented 9 months ago

We will probably be ready next but we might delay the release for January since it will be holiday season. Not sure yet.

yash1996 commented 8 months ago

Hi @willydouhard As mentioned earlier for Jan release. Can you share the release status for releasing local persistence and a feedback mechanism without resorting to cloud. Thank you!

willydouhard commented 8 months ago

Already available, here is the docs

PlebeiusGaragicus commented 7 months ago

I understand not wanting to allocate energy towards a self-hosted solution that allows users to keep their data private. This pushes all users to use your cloud solution. Yes, it's easy, but it makes you a honeypot as well as likely seller of user data - even if you say you aren't - cloud providers should not be trusted with certain personal data like this.

For many of us, this just isn't an option and will prevent devs from really pouring enthusiasm into this framework.

Streamlit appears as a great alternative. More work on the devs part, sure, but endless custom components are making it easier as time goes on.

Please reconsider spending some energy in making your above self-hosted data persistence and authentication option a but more full featured. Most users as well as enterprise will still use your cloud solution - but it allows others to spend more energy and obtain privacy and self-autonomy.

For those self-hosting AI, chainlit doesn't look like a useful option at this point.

yash1996 commented 7 months ago

I also agree with @PlebeiusGaragicus. Can you provide a support for the following as a features ?

@willydouhard

Else as @PlebeiusGaragicus we will need to create a new streamlit based solution due to this. Thanks please suggest the way forward.

willydouhard commented 7 months ago

I understand not wanting to allocate energy towards a self-hosted solution that allows users to keep their data private. This pushes all users to use your cloud solution. Yes, it's easy, but it makes you a honeypot as well as likely seller of user data - even if you say you aren't - cloud providers should not be trusted with certain personal data like this.

For many of us, this just isn't an option and will prevent devs from really pouring enthusiasm into this framework.

Streamlit appears as a great alternative. More work on the devs part, sure, but endless custom components are making it easier as time goes on.

Please reconsider spending some energy in making your above self-hosted data persistence and authentication option a but more full featured. Most users as well as enterprise will still use your cloud solution - but it allows others to spend more energy and obtain privacy and self-autonomy.

For those self-hosting AI, chainlit doesn't look like a useful option at this point.

I understand your thinking, but understand that we absolutely do not want to force users into Literal. That is why we reworked the data layer to be customisable. We currently do not have the bandwidth to create an open source data layer and maintain it. That might change in the future, but if the community wants to create one, we would be very happy to promote it!

I also agree with @PlebeiusGaragicus. Can you provide a support for the following as a features ?

  • Local data persistence option
  • Authentication
  • Enable Feedback logging with in chainlit

@willydouhard

Else as @PlebeiusGaragicus we will need to create a new streamlit based solution due to this. Thanks please suggest the way forward.

Authentication is already available without any third party, feedback is tied to the data layer so it is the same feature request.

PlebeiusGaragicus commented 6 months ago

I understand not having the bandwidth. But this should be on the roadmap, and soon. The enthusiasm of countless open source builders piling onto your project cannot be understated - you almost can't afford to not have it.

At the very least provide sufficient documentation and better example code so people can "roll their own" data persistance. The example code is far too poor to work off of and doesn't come with any specs.

nestorcolt-clv commented 6 months ago

Let me know any of you if want to join forces to find a solution for this. I like a lot the app, it is simple AF and does its job. So if we need to create a data layer and maintain it I will be happy to. The idea is to give the flexibility to have it out of LiteralAI as big corporations like where I work will see this unfesable to take it to an enterprise level.

PlebeiusGaragicus commented 6 months ago

@nestorcolt-clv 💯 - Chainlit is limiting the potential use of their framework.

We'd need (1) enough documentation from them in order to build out our own open-source solution and (2) confidence from Chainlit that breaking changes won't be made intentionally.

I'm happy enough using Streamlit for the moment - it allows for a custom solution however you need. I'm taking inspiration from the Chainlit UI - but otherwise I'm not missing anything.

A4Ayub commented 5 months ago

image

Is anyone being affected by Data Persistence from chainlit to literalai. Been having this issue since yesterday and it is intermittent. I am not getting no response from support email

menardorama commented 4 months ago

The self hosting version is for enterprise (commercial license). For now the cloud is free and in the future we will keep an accessible pricing tier!

How can you argue that the selfhosting version is for enterprise with an Apache 2 license ???

khadar1020 commented 2 months ago

Hi @willydouhard I am using RAG model and the chainlit in my application can we deploy it on our own server in the sense by buying our own server.