Coder Social home page Coder Social logo

orthomax2020 / streamlit-agent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from langchain-ai/streamlit-agent

0.0 0.0 0.0 12.08 MB

Reference implementations of several LangChain agents as Streamlit apps

License: Apache License 2.0

Python 97.37% Dockerfile 2.63%

streamlit-agent's Introduction

๐Ÿฆœ๏ธ๐Ÿ”— LangChain ๐Ÿค Streamlit agent examples

Open in GitHub Codespaces

This repository contains reference implementations of various LangChain agents as Streamlit apps including:

  • basic_streaming.py: Simple streaming app with langchain.chat_models.ChatOpenAI (View the app)
  • basic_memory.py: Simple app using StreamlitChatMessageHistory for LLM conversation memory (View the app)
  • mrkl_demo.py: An agent that replicates the MRKL demo (View the app)
  • minimal_agent.py: A minimal agent with search (requires setting OPENAI_API_KEY env to run)
  • search_and_chat.py: A search-enabled chatbot that remembers chat history (View the app)
  • simple_feedback.py: A chat app that allows the user to add feedback on responses using streamlit-feedback, and link to the traces in LangSmith (View the app)
  • chat_with_documents.py: Chatbot capable of answering queries by referring custom documents (View the app)
  • chat_with_sql_db.py: Chatbot which can communicate with your database (View the app)
  • chat_pandas_df.py: Chatbot to ask questions about a pandas DF (Note: uses PythonAstREPLTool which is vulnerable to arbitrary code execution, see langchain #7700)

Apps feature LangChain ๐Ÿค Streamlit integrations such as the Callback integration and StreamlitChatMessageHistory.

More great app examples

Check out some other full examples of apps that utilize LangChain + Streamlit:

Setup

This project uses Poetry for dependency management.

# Create Python environment
$ poetry install

# Install git pre-commit hooks
$ poetry shell
$ pre-commit install

Running

# Run mrkl_demo.py or another app the same way
$ streamlit run streamlit_agent/mrkl_demo.py

Running with Docker

This project includes Dockerfile to run the app in Docker container. In order to optimise the Docker Image is optimised for size and building time with cache techniques.

To generate Image with DOCKER_BUILDKIT, follow below command

DOCKER_BUILDKIT=1 docker build --target=runtime . -t langchain-streamlit-agent:latest

  1. Run the docker container directly

docker run -d --name langchain-streamlit-agent -p 8051:8051 langchain-streamlit-agent:latest

  1. Run the docker container using docker-compose (Recommended)

Edit the Command in docker-compose with target streamlit app

docker-compose up

Contributing

We plan to add more agent and chain examples over time and improve the existing ones - PRs welcome! ๐Ÿš€

streamlit-agent's People

Contributors

sfc-gh-jcarroll avatar tconkling avatar amjadraza avatar shashankdeshpande avatar baskaryan avatar bruno-uy avatar muhtasham avatar lukasmasuch avatar

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.