Giter VIP home page Giter VIP logo

Comments (4)

sebderhy avatar sebderhy commented on June 1, 2024 1

Ah great, indeed, I had a few unused tabs opened. I didn't know that they could get reactivated like this. Thanks for the insight!

from chainlit.

willydouhard avatar willydouhard commented on June 1, 2024

You have to be in a chainlit context to use user session. Meaning calling that code in on_chat_start or langchain_factory or action_callback. Any context will do.

The reason is that in this context Chainlit knows which websocket session is running and is able to store information for this session. Outside of the context there is not way to know which websocket session (if any) is active.

from chainlit.

sebderhy avatar sebderhy commented on June 1, 2024

Sorry, but it is still a bit unclear to me how to do that... I've tried running this code

@cl.on_chat_start
def init_session():
    user_session.set('chat_history', [])
    print("chat_history: ", user_session.get('chat_history'))
    user_session.set('path_out', create_output_path())
    print("path_out: ", user_session.get('path_out'))

But I see that this code is being called several times when launching the app.

from chainlit.

willydouhard avatar willydouhard commented on June 1, 2024

This is the right way to use the user_session.

Do you have multiple tabs/windows of the chainlit app opened? If that is the case each tab/window is going to connect and trigger on_chat_start. Each will have its own user session.

from chainlit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.