Dash-LangChain App Building Challenge

Hey Everyone,
Starting today, we challenge the LLM builder community to develop large language models with LangChain and create front-end app interfaces for them with Dash.

The winning apps will be judged according to the following categories:

  • Usefulness of App
  • App UI/UX Design
  • Use of LangChain LLMs in the Dash app

Please submit your app as a new post in this thread. Please include a link to the app, code on GitHub, and a short description of the app.

Submission deadline is the end of the year, December 31, 2023.

The winners will be announced in January 2024 and will receive a reward of:

:1st_place_medal: $125

:2nd_place_medal: $75

:3rd_place_medal: $50

A few lucky app-challenge participants will get the chance to showcase their app to the world at the Plotly Community Webinar planned for the beginning of 2024.

For any questions, please email Adam at adam@plotly.com.

App Ideas:

  • App that summarizes an earnings report
  • App that summarizes risks and opportunities in a financial report
  • App that can answer questions about a document or a manual
  • App that provides automated customer support
  • App that allows users to engage in interactive storytelling

App Examples:

Dash-LangChain minimal app example:

Dash-LangChain earning report summary example:

5 Likes

Subject: Dash-Langchain App Building Challenge Submission

Hello Plotly Community,

I’m thrilled to submit my entry for the Dash-Langchain App Building Challenge. Introducing my creation, the Financial Report Summarizer!

:rocket: **App Overview: **
Explore financial insights, summarize earnings reports, and gain actionable information with my interactive Dash app. Leveraging the power of LangChain’s language models, this application provides a seamless experience for users to analyze financial data.

:globe_with_meridians: **Try it Live: **
Experience the app interface at Langchain Financial App develop with plotly and dash.

:file_folder: **GitHub Repository: **
Dive into the code on GitHub.

:mag: **Features: **

  • Earnings report summarization
  • Identification of risks and opportunities
  • Interactive querying for deeper insights

:movie_camera: Demonstration video

:raised_hands: **Acknowledgments: **
A special thanks to the Plotly community for this opportunity. Your feedback is invaluable.

:star2: **Join the Journey: **
Feel free to explore, contribute, and share your thoughts. I’m eager to showcase the fusion of LangChain and Dash for financial analysis.

Thank you for considering my submission. Looking forward to the results!

Best regards,
Obaude Ayodeji Michael

Hello, Plotly community

Introduction:

Participating in the building challenge I wanted to explore LLMs in the Dash app. I developed a conversational agent utilizing Chat-GPT to automate responses on biological data. The application leverages data from UniProt.org, a comprehensive knowledge base for proteins and genes. To enrich responses, the gene and protein data undergo a conversion into text embeddings, serving as context for the model when responding.

More info on Github.

Key Features:

  • Retrieval-augmented generation.
  • Interactive storytelling.
  • Answer questions based on the documents retrieved.

App Overview:

The application provides an interactive platform for processing biological data from UniProt, facilitating the formulation of assumptions and dispelling uncertainties. The model can summarize comments, offer insight into gene sequences, and provide identifiers for each gene and protein in external databases.

Video Demo: Screencast from 12-28-2023 01:50:09 PM.webm - Google Drive

Live Demo:
http://ec2-52-90-222-83.compute-1.amazonaws.com

Introducing DashGPT

Having learned alot from these forums and really wanting a proper chat interface in Dash I’m happy to share and introduce DashGPT, a full-featured LLM chat interface template with optimized UI/UX, RAG support and text streaming.

Key functionality:
:sparkles: Retrieval-augmented generation
:person_tipping_hand: User feedback functionality
:gear: Custom user settings and user guides
:satellite: Text streaming functionality
:iphone: Optimized for mobile and desktop

Here’s a brief demo:
dashgpt-demo_v1

:link: Live Demo

A live demo is available here to try: https://dashgpt.live

:file_folder: Repo & Code

The source code can be found here: GitHub - tieandrews/dashGPT: An high quality chat interface built entirely with Plotly Dash incorporating functionality for RAG, feedback and more.

I used LangChain for document retrieval and to get a smooth UX for telling users what’s happening behind the scenes had to write some custom logic.

Acknowledgements

Big thanks to the Plotly team and previous challenge submissions which I’ve learned a lot from!

Please Star/Follow!

If you like this app, want to adapt it for your use case, or collaborate on improving it, please give it a star or reach out and we can continue to make great projects!

Cheers,
Ty
Find me on Linkedin: [Ty Andrews - Intact | LinkedIn](Ty Andrews - Intact | LinkedIn]

3 Likes

Nice app @tieandrews, I was planning to do something similar.

I tried yours out and it seemed to have problems to “forget” the first query. I used one of the preset questions- tell a joke about something. Later on I used another query not related to jokes but creating python code and your app told me jokes about python :rofl:

1 Like

Thanks @AIMPED, yeah I set it up to only remember one previous message to keep my open ai costs down on the demo site :grimacing:.

The system prompt says to try and tell a joke given the question and uses the retrieved Reddit Jokes in the context to answer, so not terribly surprising it told you a python joke! :sweat_smile:

3 Likes

Hi Everyone! And Happy New Year! :christmas_tree:

Introduction

I developed my project, Document Assistant , with the hope of being able to create and safely use AI/ML applications based on customers’ private sensitive data. Additionally, it can serve as a useful tool for novice AI/ML enthusiasts like myself and students to create and utilize RAG.

APP - Framework Overview
The Document Assistant project is a RAG (Retrieval-Augmented Generation) end-to-end framework designed to merge private vector stores with unstructured documents and LLMs, facilitating a locally runnable D.O.T. (Document Of Things) - Chat/QA application. It utilizes LangChain, ChromaDB, and PyTorch, and is compatible with multiple document formats.

The application’s setup involves creating a vector store and transforming documents into textual splits. The project’s core is its ability to create a private, customized database for enhanced retrieval and generation tasks, demonstrating a significant advancement in leveraging LLMs for personalized and efficient data handling​.

:link: More information can be found in my GitHub project .
:partying_face: You are welcome to use or contribute to it.

Demo

  1. :link: Creating Vector Store
  2. :link: D.O.T. as Q/A about Quantum Computing

Regards,
– George [LinkedIn]

1 Like

StockSavvy

Happy New Year everyone! I wanted to share a dash app that I developed for this competition I’m calling StockSavvy. This app showcases Dash integrated with LangChain in order to provide users with an AI agent that can read recent news stories about stocks in the S&P500, summarize the news and answer questions about it. It uses the LangChain conversational retrieval agent, so the agent will remember the previous elements of the conversation, which allows you to ask follow up questions.

Demo
You can test the live demo here:
http://34.207.77.108:8050/market

This app does require an OpenAI API key as well as an AlphaVantage API Key in order to download market news through. You can get a free API key here: Customer Support | Alpha Vantage

Features
The main feature is the conversational agent that answers questions about stock market news. The page also lists up to 50 news stories that are organized in a dash-ag-grid table for easy search. There is a polar graph that shows the relative strength of different financial metrics (price to earnings, debt to equity, etc) for each stock relative to the other stocks in the S&P500, as well as a chart of the stock price over the past 2 years.

Github Code
The source code can be found here:

Acknowledgements
Appreciate the Plotly team for the fantastic tools and the community for the opportunity to learn.

Troy Scribner

1 Like

A bit late to the party :tada:
RAG-LLM using Chroma.
Discover what top institutions really think about current economic conditions (price inflation, unemployment, interest rates). Plotly Dash App is built to extract main highlights and query latest central banking publications/pdfs from Fed, ECB, Bank of England…

Download here: GitHub Link
and here is the Tutorial!
Part 1:
Part1

Part 2:
Part2

2 Likes

Thank you everyone for your app submissions. These apps are incredible and they are a testament of how much one can do when combining Langchain with Dash :star:

We will review all apps and post the results in a couple of weeks.

2 Likes

Thank you everyone for participating in the Dash-Langchain App Building Challenge. The apps that were submitted by the community went far and beyond our expectations! Absolutely amazing.

Over the last couple of weeks, a group of Plotly staff judges had the pleasure of reviewing each app and voted for the top three app winners. And the winners are…:drum:

:1st_place_medal: StockSavvy Dash App, created by Troy, with the following code.

This app combines LangChain LLMs with Dash AG Grid and the Plotly Polar Bar chart in flawless fashion.

Using your openAI API key and a free Alphavantage API key, you can choose a stock ticker and get the latest news stories relevant to that stock. Then, you can access the conversational agent that answers questions about the stock market news.

The Polar Bar chart shows the relative strength of different financial metrics (price to earnings, debt to equity, etc) for each stock, relative to the other stocks in the S&P 500.

This app is a great tool for a quick visual stock analysis.

:2nd_place_medal: CentralBank-LLM Dash App, created by Vic, with the following code.

An impressive app, indeed! We loved the user interface and the clear description of steps needed for exploring the three currencies.

Using your openAI API key, you simply need to select a currency, let the latest reports download and process into a vectorized database; then, ask your question.

Once you get an answer to your prompt, the model tells you where in the documents it found the information to put together your answer.

The graphs at the bottom part of the app is a sweet addition so you’re not just reading text but can quickly visualize currency trends over time.

:3rd_place_medal: Document Assistant Dash App, created by George, with the following code.

This app combines technical innovation with practical business applications. It is locally runnable and uses private data as well, which means it can be customized according to users’ needs.

The app is a RAG (Retrieval-Augmented Generation) end-to-end framework designed to merge private vector stores with unstructured documents and LLMs, facilitating a locally runnable D.O.T. (Document Of Things) - Chat/QA application.

Simply git-clone the repository, install the libraries from the requirements.txt file, and follow the Quick Start guide to run the app on your computer.

A big thank-you and a shout-out to all the other community members and the apps that they submitted to the challenge:

Join us on January 30 to see the apps submitted to this challenge in action. This is a great opportunity to see how much is possible when combining Dash with LangChain as well as learn from the Dash app creators themselves.