Spaces:
Sleeping
Sleeping
Download src/ingest.py from hinogi/cv-chatbot: direct link, hf CLI and curl.
- Browser
- Download file 1.14 kB
-
https://huggingface.co/spaces/hinogi/cv-chatbot/resolve/main/src/ingest.py
- Command line
-
hf download hf://spaces/hinogi/cv-chatbot/src/ingest.py
-
curl -L -o ingest.py https://huggingface.co/spaces/hinogi/cv-chatbot/resolve/main/src/ingest.py
1.14 kB
| from langchain_community.document_loaders import PyPDFLoader | |
| from langchain_huggingface import HuggingFaceEmbeddings | |
| from langchain_chroma import Chroma | |
| from langchain_text_splitters import RecursiveCharacterTextSplitter | |
| def ingest_documents(pdf_path: str): | |
| loader = PyPDFLoader(pdf_path) | |
| documents = loader.load() | |
| print(f"{len(documents)} Dokumente eingelesen") | |
| return documents | |
| def generate_chunks(documents): | |
| splitter = RecursiveCharacterTextSplitter(chunk_size=300, chunk_overlap=50) | |
| chunks = splitter.split_documents(documents) | |
| return chunks | |
| def generate_embeddings(chunks, persist_dir: str = "./chroma_db"): | |
| embeddings = HuggingFaceEmbeddings( | |
| model_name="sentence-transformers/all-MiniLM-L6-v2" | |
| ) | |
| vectorstore = Chroma.from_documents( | |
| documents=chunks, embedding=embeddings, persist_directory=persist_dir | |
| ) | |
| print(f"{len(chunks)} Chunks gespeichert") | |
| return vectorstore | |
| if __name__ == "__main__": | |
| documents = ingest_documents("docs/Stefan_Schneider_Lebenslauf.pdf") | |
| chunks = generate_chunks(documents) | |
| store = generate_embeddings(chunks) | |