Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| from streamlit.runtime.caching.hashing import HashFuncsDict | |
| import knowledge_gpt.core.chunking as chunking | |
| import knowledge_gpt.core.embedding as embedding | |
| import knowledge_gpt.core.parsing as parsing | |
| from knowledge_gpt.core.parsing import File | |
| def file_hash_func(file: File) -> str: | |
| """Get a unique hash for a file""" | |
| return file.id | |
| def bootstrap_caching(): | |
| """Patch module functions with caching""" | |
| # Get all substypes of File from module | |
| file_subtypes = [ | |
| cls for cls in vars(parsing).values() if isinstance(cls, type) and issubclass(cls, File) and cls != File | |
| ] | |
| file_hash_funcs: HashFuncsDict = {cls: file_hash_func for cls in file_subtypes} | |
| parsing.read_file = st.cache_data(show_spinner=False)(parsing.read_file) | |
| chunking.chunk_file = st.cache_data(show_spinner=False, hash_funcs=file_hash_funcs)(chunking.chunk_file) | |
| embedding.embed_files = st.cache_data(show_spinner=False, hash_funcs=file_hash_funcs)(embedding.embed_files) | |