Update to gradio 4 and allow upload multiple files at once in UI (#1271)

This commit is contained in:
lopagela 2023-11-18 20:19:43 +01:00 committed by GitHub
parent adaa00ccc8
commit 224812f7f6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 919 additions and 931 deletions

View File

@ -1,10 +1,10 @@
# 🔒 PrivateGPT 📑 # 🔒 PrivateGPT 📑
![Tests](https://github.com/imartinez/privateGPT/actions/workflows/tests.yml/badge.svg) [![Tests](https://github.com/imartinez/privateGPT/actions/workflows/tests.yml/badge.svg)](https://github.com/imartinez/privateGPT/actions/workflows/tests.yml?query=branch%3Amain)
![Website](https://img.shields.io/website?up_message=check%20it&down_message=down&url=https%3A%2F%2Fdocs.privategpt.dev%2F&label=Documentation) [![Website](https://img.shields.io/website?up_message=check%20it&down_message=down&url=https%3A%2F%2Fdocs.privategpt.dev%2F&label=Documentation)](https://docs.privategpt.dev/)
![Discord](https://img.shields.io/discord/1164200432894234644?logo=discord&label=PrivateGPT) [![Discord](https://img.shields.io/discord/1164200432894234644?logo=discord&label=PrivateGPT)](https://discord.gg/bK6mRVpErU)
![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/PrivateGPT_AI) [![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/PrivateGPT_AI)](https://twitter.com/PrivateGPT_AI)
> Install & usage docs: https://docs.privategpt.dev/ > Install & usage docs: https://docs.privategpt.dev/

1823
poetry.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ import itertools
import logging import logging
from collections.abc import Iterable from collections.abc import Iterable
from pathlib import Path from pathlib import Path
from typing import Any, TextIO from typing import Any
import gradio as gr # type: ignore import gradio as gr # type: ignore
from fastapi import FastAPI from fastapi import FastAPI
@ -155,8 +155,11 @@ class PrivateGptUi:
files.add(file_name) files.add(file_name)
return [[row] for row in files] return [[row] for row in files]
def _upload_file(self, file: TextIO) -> None: def _upload_file(self, files: list[str]) -> None:
path = Path(file.name) logger.debug("Loading count=%s files", len(files))
for file in files:
logger.info("Loading file=%s", file)
path = Path(file)
self._ingest_service.ingest(file_name=path.name, file_data=path) self._ingest_service.ingest(file_name=path.name, file_data=path)
def _build_ui_blocks(self) -> gr.Blocks: def _build_ui_blocks(self) -> gr.Blocks:
@ -186,9 +189,9 @@ class PrivateGptUi:
value="Query Docs", value="Query Docs",
) )
upload_button = gr.components.UploadButton( upload_button = gr.components.UploadButton(
"Upload a File", "Upload File(s)",
type="file", type="filepath",
file_count="single", file_count="multiple",
size="sm", size="sm",
) )
ingested_dataset = gr.List( ingested_dataset = gr.List(

View File

@ -31,7 +31,7 @@ types-pyyaml = "^6.0.12.12"
[tool.poetry.group.ui] [tool.poetry.group.ui]
optional = true optional = true
[tool.poetry.group.ui.dependencies] [tool.poetry.group.ui.dependencies]
gradio = "^3.45.2" gradio = "^4.4.1"
[tool.poetry.group.local] [tool.poetry.group.local]
optional = true optional = true