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 📑
![Tests](https://github.com/imartinez/privateGPT/actions/workflows/tests.yml/badge.svg)
![Website](https://img.shields.io/website?up_message=check%20it&down_message=down&url=https%3A%2F%2Fdocs.privategpt.dev%2F&label=Documentation)
[![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)](https://docs.privategpt.dev/)
![Discord](https://img.shields.io/discord/1164200432894234644?logo=discord&label=PrivateGPT)
![X (formerly Twitter) Follow](https://img.shields.io/twitter/follow/PrivateGPT_AI)
[![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)](https://twitter.com/PrivateGPT_AI)
> 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
from collections.abc import Iterable
from pathlib import Path
from typing import Any, TextIO
from typing import Any
import gradio as gr # type: ignore
from fastapi import FastAPI
@ -155,9 +155,12 @@ class PrivateGptUi:
files.add(file_name)
return [[row] for row in files]
def _upload_file(self, file: TextIO) -> None:
path = Path(file.name)
self._ingest_service.ingest(file_name=path.name, file_data=path)
def _upload_file(self, files: list[str]) -> None:
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)
def _build_ui_blocks(self) -> gr.Blocks:
logger.debug("Creating the UI blocks")
@ -186,9 +189,9 @@ class PrivateGptUi:
value="Query Docs",
)
upload_button = gr.components.UploadButton(
"Upload a File",
type="file",
file_count="single",
"Upload File(s)",
type="filepath",
file_count="multiple",
size="sm",
)
ingested_dataset = gr.List(

View File

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