Spaces:
Runtime error
Runtime error
title: langchain-streamlit-demo | |
emoji: 🦜 | |
colorFrom: green | |
colorTo: red | |
sdk: docker | |
app_port: 7860 | |
pinned: true | |
tags: [langchain, streamlit, docker] | |
# langchain-streamlit-demo | |
[](https://opensource.org/licenses/MIT) | |
[](https://www.python.org) | |
[](https://github.com/joshuasundance-swca/langchain-streamlit-demo/actions/workflows/docker-hub.yml) | |
[](https://hub.docker.com/r/joshuasundance/langchain-streamlit-demo) | |
[](https://github.com/joshuasundance-swca/langchain-streamlit-demo/actions/workflows/hf-space.yml) | |
[](https://huggingface.co/spaces/joshuasundance/langchain-streamlit-demo) | |
 | |
 | |
 | |
[](https://github.com/pre-commit/pre-commit) | |
[](https://github.com/charliermarsh/ruff) | |
[](http://mypy-lang.org/) | |
[](https://github.com/psf/black) | |
[](https://github.com/PyCQA/bandit) | |
 | |
[](https://github.com/joshuasundance-swca/langchain-streamlit-demo/actions/workflows/ai_changelog.yml) | |
This project shows how to build a simple chatbot UI with [Streamlit](https://streamlit.io) and [LangChain](https://langchain.com). | |
This `README` was originally written by [Claude 2](https://www.anthropic.com/index/claude-2), an LLM from [Anthropic](https://www.anthropic.com/). | |
# Features | |
- Chat interface for talking to AI assistant | |
- Supports models from | |
- [OpenAI](https://openai.com/) | |
- `gpt-3.5-turbo` | |
- `gpt-4` | |
- [Anthropic](https://www.anthropic.com/) | |
- `claude-instant-v1` | |
- `claude-2` | |
- [Anyscale Endpoints](https://endpoints.anyscale.com/) | |
- `meta-llama/Llama-2-7b-chat-hf` | |
- `meta-llama/Llama-2-13b-chat-hf` | |
- `meta-llama/Llama-2-70b-chat-hf` | |
- `codellama/CodeLlama-34b-Instruct-hf` | |
- `mistralai/Mistral-7B-Instruct-v0.1` | |
- [Azure OpenAI Service](https://azure.microsoft.com/en-us/products/ai-services/openai-service/) | |
- `[configurable]` | |
- Streaming output of assistant responses | |
- Leverages LangChain for dialogue and memory management | |
- Integrates with [LangSmith](https://smith.langchain.com) for tracing conversations | |
- Allows giving feedback on assistant's responses | |
- Tries reading API keys and default values from environment variables | |
- Parameters in sidebar can be customized | |
- Includes various forms of document chat | |
- Question/Answer Pair Generation | |
- Summarization | |
- Standard retrieval chains | |
# Deployment | |
`langchain-streamlit-demo` is deployed as a [Docker image](https://hub.docker.com/r/joshuasundance/langchain-streamlit-demo) based on the [`python:3.11-slim-bookworm`](https://github.com/docker-library/python/blob/81b6e5f0643965618d633cd6b811bf0879dee360/3.11/slim-bookworm/Dockerfile) image. | |
CI/CD workflows in `.github/workflows` handle building and publishing the image as well as pushing it to Hugging Face. | |
## Run on HuggingFace Spaces | |
[](https://huggingface.co/spaces/joshuasundance/langchain-streamlit-demo) | |
## With Docker (pull from Docker Hub) | |
1. _Optional_: Create a `.env` file based on `.env-example` | |
2. Run in terminal: | |
`docker run -p 7860:7860 joshuasundance/langchain-streamlit-demo:latest` | |
or | |
`docker run -p 7860:7860 --env-file .env joshuasundance/langchain-streamlit-demo:latest` | |
3. Open http://localhost:7860 in your browser | |
## Docker Compose (build locally) | |
1. Clone the repo. Navigate to cloned repo directory | |
2. _Optional_: Create a `.env` file based on `.env-example` | |
3. Run in terminal: | |
`docker compose up` | |
4. Open http://localhost:7860 in your browser | |
## Kubernetes | |
1. Clone the repo. Navigate to cloned repo directory | |
2. Create a `.env` file based on `.env-example` | |
3. Run bash script: `/bin/bash ./kubernetes/deploy.sh` | |
4. Get the IP address for your new service: `kubectl get service langchain-streamlit-demo` | |
# Links | |
- [Streamlit](https://streamlit.io) | |
- [LangChain](https://langchain.com) | |
- [LangSmith](https://smith.langchain.com) | |
- [OpenAI](https://openai.com/) | |
- [Anthropic](https://www.anthropic.com/) | |
- [Anyscale Endpoints](https://endpoints.anyscale.com/) | |
- [Azure OpenAI Service](https://azure.microsoft.com/en-us/products/ai-services/openai-service/) | |