gradio/js
Abubakar Abid 5a511f02af
A high-level ChatInterface abstraction (#4869)
* push

* chat interface

* remove video artifact

* changes

* restore

* changes

* more functions

* clean

* chat interface

* chat interface

* Update gradio/chat_interface.py

* nit

* changes

* api fix

* chat interface

* guide

* guide

* changes

* fixes

* Added ChatInterface Examples for Langchain, OpenAI Streaming, and HF's Text Generation Inference (StarChat)

* docstring

* tests

* tests

* tests

* tests

* rename

* guide

* chatbot

* conclusion

* demo notebooks

* clog

* test

* chat interface

* fixes

* functional test

* test

* notebook

* guides

* typing

* docstring

* script

* upgrade pyright

* upgrade pyright

* Update CHANGELOG.md

* revert pyright upgrade

* typing

* redirects

* Update CHANGELOG.md

* guide

* guide

* readme

* screenshot

* add to readme

* quickstart

* readme

* Added transformers open-source LLM example using ChatInterface

* Minor nits to guide

* Minor tweak to test - use connect fixture

* website fixes

* nav

* guide

* fix tests'

* fix

* type

* clear

* chat interface

* fix test

* fix guide

* handle edge case

* edge case

* typing

* fix example caching with streaming

* typing

---------

Co-authored-by: pngwn <hello@pngwn.io>
Co-authored-by: Yuvraj Sharma <48665385+yvrjsharma@users.noreply.github.com>
Co-authored-by: freddyaboulton <alfonsoboulton@gmail.com>
Co-authored-by: aliabd <ali.si3luwa@gmail.com>
2023-07-17 13:22:47 -04:00
..
_cdn-test format (#4810) 2023-07-06 18:43:49 +01:00
_spaces-test format (#4810) 2023-07-06 18:43:49 +01:00
_website A high-level ChatInterface abstraction (#4869) 2023-07-17 13:22:47 -04:00
accordion Keep hidden Accordion content in DOM (#4073) 2023-05-06 08:00:05 -05:00
app A high-level ChatInterface abstraction (#4869) 2023-07-17 13:22:47 -04:00
atoms Fix gr.Group, container=False (#4916) 2023-07-17 10:05:46 -07:00
audio Share button (#4651) 2023-07-05 19:50:17 -05:00
button Fix gr.Group, container=False (#4916) 2023-07-17 10:05:46 -07:00
chart move files (#3605) 2023-03-27 16:12:58 -07:00
chatbot Fix gr.Group, container=False (#4916) 2023-07-17 10:05:46 -07:00
code UI fix (#4447) 2023-06-08 21:24:13 +09:00
file UI fix (#4447) 2023-06-08 21:24:13 +09:00
form Fix gr.Group, container=False (#4916) 2023-07-17 10:05:46 -07:00
gallery Fix gr.Group, container=False (#4916) 2023-07-17 10:05:46 -07:00
highlighted-text update deps + fix tests (#4675) 2023-06-28 22:40:53 +01:00
html move files (#3605) 2023-03-27 16:12:58 -07:00
icons Share button (#4651) 2023-07-05 19:50:17 -05:00
image Fixes .change() in Video, Audio, Image (#4793) 2023-07-11 16:56:46 +01:00
json move files (#3605) 2023-03-27 16:12:58 -07:00
label Fix show_label for Label component (#4713) 2023-06-29 11:42:26 -04:00
lite format (#4810) 2023-07-06 18:43:49 +01:00
markdown Add RTL support to Textbox, Markdown, Chatbot (#4933) 2023-07-17 12:53:23 -04:00
model3D Remove a bunch of unused frontend code (#4275) 2023-05-30 12:02:04 +09:00
plot format (#4810) 2023-07-06 18:43:49 +01:00
storybook Improve chromatic workflow (#4770) 2023-07-05 15:18:21 +02:00
table UI hotfixes for Examples and Dataframe (#4455) 2023-06-08 15:33:43 -07:00
tabs fix tab layout (#4419) 2023-06-09 01:07:04 +09:00
theme chore(deps): update dependency postcss-custom-media to v9 (#4630) 2023-06-22 13:43:34 +01:00
tooltip move files (#3605) 2023-03-27 16:12:58 -07:00
tootils update deps + fix tests (#4675) 2023-06-28 22:40:53 +01:00
upload update deps + fix tests (#4675) 2023-06-28 22:40:53 +01:00
upload-button 4701 upload button unit tests (#4744) 2023-07-04 19:47:31 +01:00
utils Share button (#4651) 2023-07-05 19:50:17 -05:00
video Share button (#4651) 2023-07-05 19:50:17 -05:00
wasm Lint website (#4879) 2023-07-11 21:00:52 -04:00
.npmrc move files (#3605) 2023-03-27 16:12:58 -07:00
jsx.d.ts update deps + fix tests (#4675) 2023-06-28 22:40:53 +01:00
README.md Updated CI info in contributing docs (#4415) 2023-06-06 08:52:29 -04:00

gradio-ui

This folder contains all of the Gradio UI and component source code.

setup

This folder is managed as 'monorepo' a multi-package repository which make dependency management very simple. In order to do this we use pnpm as our package manager.

Make sure pnpm is installed by following the installation instructions for your system.

You will also need node which you probably already have

running the application

Install all dependencies:

pnpm i

This will install the dependencies for all packages and link any local packages

local development

To develop locally, open two terminal tabs from the root of the repository.

Run the python test server, from the root directory:

cd demo/kitchen_sink
python run.py

This will start a development server on port 7860 that the web app is expecting.

Run the web app:

pnpm dev

building for production

Run the build:

pnpm build

This will create the necessary files in js/app/public and also in gradio/templates/frontend.

quality checks

The repos currently has two quality checks that can be run locally and are run in CI.

formatting

Formatting is handled by prettier to ensure consistent formatting and prevent style-focused conversations. Formatting failures will fails CI and should be reoslve before merging.

To check formatting:

pnpm format:check

If you have formatting failures then you can run the following command to fix them:

pnpm format:write

type checking

We use TypeScript to provide static types to javascript code. These checks are also run in CI.

to typecheck the code:

pnpm ts:check

ci checks

Currently the following checks are run in CI:

static checks

  • Format check (pnpm format:check)
  • Build css (pnpm css)
  • Build client (pnpm build)
  • Type check (pnpm ts:check)
  • Unit tests (pnpm test:run)

functional test

pip install -r demo/outbreak_forecast/requirements.txt
pnpm exec playwright install chromium
pnpm exec playwright install-deps chromium
pnpm test:browser:full