Git Product home page Git Product logo

Comments (10)

npuichigo avatar npuichigo commented on July 21, 2024 1

fantastic repo. kindly ask is there any update on this thread?

from lanarky.

awtkns avatar awtkns commented on July 21, 2024

@ajndkr would you be able to elaborate on this? Is lanarky meant to solely focused on enabling streaming or does it have a broader goal?

from lanarky.

ajndkr avatar ajndkr commented on July 21, 2024

@awtkns yeah sure. So the project is still holds streaming as the key features but from my experience, there are other common functionalities which can be used via lanarky. The broader goal is to provide necessary tooling for deploying without having to build them from scratch.

For example, tracking tokens per user question is something which is not trivial to build but it needs an sql connection. Hence this particular issues.

from lanarky.

npuichigo avatar npuichigo commented on July 21, 2024

user id, conversation id or session id may also be useful for vector store retrieving

from lanarky.

ajndkr avatar ajndkr commented on July 21, 2024

hi! this feature is still part of the roadmap but i'm unable to find time currently. would you like to contribute?

from lanarky.

npuichigo avatar npuichigo commented on July 21, 2024

@ajndkr glad to contribute if have time.

One question, currently the langchain object is created before passing to the LangChainRouter and wrapped in a simple create_langchain_dependency for dependency injection. Actually, langchain already has session support for memory using sqlalchemy, redis or motorhead, but in order to bind with some user session id, the dependency injection should be more flexible.

For example, instead of the simple create_langchain_dependency, maybe it's better for user to pass the dependency, which may use the session_id in input query or body to construct the memory used for langchain object. Do you have any insights on the ideal API for such things?

https://python.langchain.com/docs/integrations/memory/sql_chat_message_history

from lanarky.

npuichigo avatar npuichigo commented on July 21, 2024

@ajndkr In current implementation, the request and response model are dynamically determined by langchain_object with create_request_from_langchain_dependency. What if the constrcution langchain_object needs to parse request first to get something like session_id for db memory? Can u give me some advice on this?

from lanarky.

ajndkr avatar ajndkr commented on July 21, 2024

@npuichigo hi! create_request_from_langchain_dependency as a feature isn't fully mature to handle all use cases. We add new parameters to handle new requirements but in the meantime, you can check this implementation: https://github.com/menloparklab/chatbot-ui/blob/d2d4aa84ebb6351bfacee99429228d091221b60b/backend/app.py#L101-L114

You can directly use the StreamingResponse class and add custom logic in the wrapped function.

from lanarky.

npuichigo avatar npuichigo commented on July 21, 2024

The code linked uses all the features except add_langchain_api_route part of LangchainRouter. So is that also immature since it uses create_request_from_langchain_dependency?

from lanarky.

ajndkr avatar ajndkr commented on July 21, 2024

The code linked uses all the features except add_langchain_api_route part of LangchainRouter. So is that also immature since it uses create_request_from_langchain_dependency?

nope! the linked code is more low level, so you can skip the use of add_langchain_api_route and use the base fastapi route decorator.

from lanarky.

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.