generative_ai.top_level module#
Define functionalities for top level modules.
- create_database(dataset_file: Path, embedding_model: str, database_directory: Path, force: bool) 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:
absolute path to directory storing vector store
- Return type:
- Raises:
FileExistsError -- if
database_directoryalready exists and overriding is not allowedFileNotFoundError -- if
dataset_filedoes not exist
- create_dataset(package_name: str, dataset_file: Path, force: bool) Path#
Generate 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:
FileExistsError -- if
dataset_filealready exists and overriding is not allowed
- get_response(question: 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) Response#
Get answer from large language model.
- Parameters:
question (
str) -- query from userembedding_model (
str) -- name of Sentence Transformers model from Hugging Facedatabase_directory (
pathlib.Path) -- path to load vector store fromsearch_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:
answer from large language model with additional captured details
- Return type:
Response- Raises:
FileNotFoundError -- if
database_directorydoes not exist