gui module#
Define graphical user interface using Gradio.
- validate_dataset(dataset_file: Path) Path#
Check if dataset exists already.
- Parameters:
dataset_file (
pathlib.Path) -- path to directory for storing vector store- Returns:
absolute path to file storing JSON dataset
- Return type:
- Raises:
gradio.Error -- if
dataset_filedoes not exist
- validate_database(database_directory: Path) Path#
Check if dataset exists already.
- Parameters:
database_directory (
pathlib.Path) -- path to directory storing vector store- Returns:
absolute path to directory storing vector store
- Return type:
- Raises:
gradio.Error -- if
database_directorydoes not exist
- switch_tab() tuple[Tab, Tab]#
Modify interactive state of tabs.
- Returns:
gradio.Tab-- updated current tab as non-interactivegradio.Tab-- updated new (previous or next) tab as interactive
- Return type:
tuple[Tab, Tab]
- activate_button() Button#
Make button interactive.
- Returns:
updated button as interactive
- Return type:
gradio.Button
- update_textbox_value(text: str) Textbox#
Update textbox with value from another textbox.
- Parameters:
text (
str) -- value to update textbox with- Returns:
updated textbox with value from
text- Return type:
gradio.Textbox
- generate_dataset(package_name: str, dataset_file: Path, force: bool) Path#
Create JSON dataset for querying a package documentation.
- Parameters:
package_name (
str) -- name of the root package to import withdataset_file (
pathlib.Path) -- path to store JSON datasetforce (
bool, optional) -- override ifdataset_filealready exists
- Returns:
absolute path storing JSON dataset
- Return type:
- Raises:
gradio.Error -- if
dataset_filealready exists and overriding is not allowed
- generate_database(dataset_file: Path, embedding_model: str, database_directory: Path, force: bool) tuple[str, Path]#
Generate embedding database for querying a package documentation.
- Parameters:
dataset_file (
pathlib.Path) -- path storing JSON datasetembedding_model (
str) -- name of Sentence Transformers model from Hugging Facedatabase_directory (
pathlib.Path) -- path to directory for storing vector storeforce (
bool) -- override ifdatabase_directoryalready exists
- Returns:
str-- name of Sentence Transformers model from Hugging Face used to create vector storepathlib.Path-- absolute path to directory storing vector store
- Raises:
gradio.Error -- if
database_directoryalready exists and overriding is not allowed or ifdataset_filedoes not exist- Return type:
- answer_query(query: str, embedding_model: str, database_directory: Path, search_type: RetrievalType, number_of_documents: int, initial_number_of_documents: int, diversity_level: float, language_model_type: TransformerType, standard_pipeline_type: PipelineType, standard_model_name: str, quantised_model_name: str, quantised_model_file: str, quantised_model_type: str) tuple[str, list[str], str, float]#
Get response from large language model.
- Parameters:
query (
str) -- question from userembedding_model (
str) -- name of Sentence Transformers model used for vector storedatabase_directory (
pathlib.Path) -- path to directory storing vector storesearch_type (
RetrievalType) -- kind of retrieval algorithm for searching vector storenumber_of_documents (
int) -- number of documents to retrieveinitial_number_of_documents (
int) -- initial number of documents to considerdiversity_level (
float) -- similarity between retrieved documentslanguage_model_type (
TransformerType) -- kind of language modelstandard_pipeline_type (
PipelineType) -- kind of Hugging Face pipelinestandard_model_name (
str) -- name oftransformerscompatible Hugging Face modelquantised_model_name (
str) -- name ofctransformerscompatible Hugging Face modelquantised_model_file (
str) -- named of quantised model filequantised_model_type (
str) -- type of quantised model
- Returns:
- Raises:
gradio.Error -- if
database_directorydoes not exist- Return type:
- step1_tab_flow() Textbox#
Orchestrate flow of first step to generate retieval and tuning documents.
- Returns:
absolute path to file storing JSON dataset
- Return type:
gradio.Textbox
- step2_tab_flow() tuple[Textbox, Textbox, Textbox]#
Orchestrate flow of second step to generate vector embeddings for retrieval.
- Returns:
gradio.Textbox-- absolute path to file storing JSON datasetgradio.Textbox-- Sentence Transformers model used to create vector storegradio.Textbox-- absolute path to directory storing vector store
- Return type:
tuple[Textbox, Textbox, Textbox]
- step3_tab_flow() tuple[Textbox, Textbox]#
Orchestrate flow of third step to generate response from large language model.
- Returns:
gradio.Textbox-- absolute path to directory storing vector storegradio.Textbox-- Sentence Transformers model used to create vector store
- Return type:
tuple[Textbox, Textbox]