Skip to content

Commit 17fe6a8

Browse files
Merge pull request #2 from RndmCodeGuy20/temporary
Migrate to Github Directory Loader
2 parents ec5e8e7 + a3f3745 commit 17fe6a8

3 files changed

Lines changed: 21 additions & 3 deletions

File tree

api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ async def reload_chroma():
315315
# First check if we can write to the directory
316316
logging.info("Checking ChromaDB directory permissions: %s", CHROMA_DB_PATH)
317317

318-
return {"message": "Reloading ChromaDB..."}
318+
# return {"message": "Reloading ChromaDB..."}
319319

320320
# Create parent directory if it doesn't exist
321321
os.makedirs(os.path.dirname(CHROMA_DB_PATH), exist_ok=True)

embeddings.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import logging
44
from dotenv import load_dotenv
55
from langchain_community.document_loaders import DirectoryLoader
6+
from langchain_community.document_loaders import GithubFileLoader
67
from langchain.text_splitter import RecursiveCharacterTextSplitter
78
from langchain.schema import Document
89
from langchain_google_genai import GoogleGenerativeAIEmbeddings
@@ -17,6 +18,7 @@
1718

1819
CHROMA_DB_PATH = os.getenv("CHROMA_PATH")
1920
DATA_STORE_PATH = os.getenv("DATA_STORE_PATH")
21+
GITHUB_TOKEN = os.getenv("GITHUB_TOKEN")
2022
EMBEDDING_MODEL_NAME = "models/text-embedding-004"
2123
CHUNK_SIZE = 1000
2224
CHUNK_OVERLAP = 500
@@ -36,7 +38,13 @@ def load_documents(directory: str) -> list[Document]:
3638
logging.info(f"Loading documents from: {directory}")
3739
if not os.path.exists(directory):
3840
raise FileNotFoundError(f"Directory not found: {directory}")
39-
loader = DirectoryLoader(directory, glob="**/*.md")
41+
# loader = DirectoryLoader(directory, glob="**/*.md")
42+
loader = GithubFileLoader(
43+
repo="rndmcodeguy20/model-builder",
44+
branch="master",
45+
file_filter=lambda file_path: file_path.endswith(".md") and file_path.startswith("docs/"),
46+
access_token=GITHUB_TOKEN,
47+
)
4048
documents = loader.load()
4149
logging.info(f"Loaded {len(documents)} documents from: {directory}")
4250
return documents

requirements.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
1+
## The following requirements were added by pip freeze:
12
aiofiles==24.1.0
23
aiohappyeyeballs==2.6.1
34
aiohttp==3.11.16
45
aiosignal==1.3.2
56
annotated-types==0.7.0
67
anyio==4.9.0
78
asgiref==3.8.1
9+
astroid==3.3.9
810
attrs==25.3.0
911
backoff==2.2.1
1012
bcrypt==4.3.0
1113
beautifulsoup4==4.13.3
14+
black==25.1.0
1215
build==1.2.2.post1
1316
cachetools==5.5.2
1417
certifi==2025.1.31
@@ -22,6 +25,7 @@ coloredlogs==15.0.1
2225
cryptography==44.0.2
2326
dataclasses-json==0.6.7
2427
Deprecated==1.2.18
28+
dill==0.3.9
2529
distro==1.9.0
2630
durationpy==0.9
2731
emoji==2.14.1
@@ -50,6 +54,7 @@ humanfriendly==10.0
5054
idna==3.10
5155
importlib_metadata==8.6.1
5256
importlib_resources==6.5.2
57+
isort==6.0.1
5358
joblib==1.4.2
5459
jsonpatch==1.33
5560
jsonpointer==3.0.0
@@ -68,6 +73,7 @@ lxml==5.3.2
6873
Markdown==3.7
6974
markdown-it-py==3.0.0
7075
marshmallow==3.26.1
76+
mccabe==0.7.0
7177
mdurl==0.1.2
7278
mmh3==5.1.0
7379
monotonic==1.6
@@ -79,7 +85,7 @@ nltk==3.9.1
7985
numpy==1.26.4
8086
oauthlib==3.2.2
8187
olefile==0.47
82-
onnxruntime==1.21.0
88+
onnxruntime==1.19.0
8389
opentelemetry-api==1.31.1
8490
opentelemetry-exporter-otlp-proto-common==1.31.1
8591
opentelemetry-exporter-otlp-proto-grpc==1.31.1
@@ -93,6 +99,8 @@ opentelemetry-util-http==0.52b1
9399
orjson==3.10.16
94100
overrides==7.7.0
95101
packaging==24.2
102+
pathspec==0.12.1
103+
platformdirs==4.3.7
96104
posthog==3.23.0
97105
propcache==0.3.1
98106
proto-plus==1.26.1
@@ -105,6 +113,7 @@ pydantic==2.11.3
105113
pydantic-settings==2.8.1
106114
pydantic_core==2.33.1
107115
Pygments==2.19.1
116+
pylint==3.3.6
108117
pypdf==5.4.0
109118
PyPika==0.48.9
110119
pyproject_hooks==1.2.0
@@ -132,6 +141,7 @@ starlette==0.45.3
132141
sympy==1.13.3
133142
tenacity==9.1.2
134143
tokenizers==0.21.1
144+
tomlkit==0.13.2
135145
tqdm==4.67.1
136146
typer==0.15.2
137147
typing-inspect==0.9.0

0 commit comments

Comments
 (0)