Skip to content

Commit 2cccf31

Browse files
committed
feat(Vector Stores): Move the OpenAI and MCP servers to use pluggable stores.
1 parent a49c037 commit 2cccf31

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

wiki_rag/mcp_server/main.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
from dotenv import load_dotenv
1313
from langfuse.langchain import CallbackHandler
1414

15-
import wiki_rag.index as index
1615
import wiki_rag.mcp_server as mcp_global
16+
import wiki_rag.vector as vector
1717

1818
from wiki_rag import LOG_LEVEL, ROOT_DIR, __version__, server
1919
from wiki_rag.search.util import ContextSchema
2020
from wiki_rag.util import setup_logging
21+
from wiki_rag.vector import load_vector_store
2122

2223

2324
def main():
@@ -68,10 +69,10 @@ def main():
6869
sys.exit(1)
6970
# TODO: Validate that only numbers, letters and underscores are used.
7071

71-
index.milvus_url = os.getenv("MILVUS_URL")
72-
if not index.milvus_url:
73-
logger.error("Milvus URL not found in environment. Exiting.")
74-
sys.exit(1)
72+
index_vendor = os.getenv("INDEX_VENDOR")
73+
if not index_vendor:
74+
logger.warning("Index vendor (INDEX_VENDOR) not found in environment. Defaulting to 'milvus'.")
75+
index_vendor = "milvus"
7576

7677
# If LangSmith tracing is enabled, put a name for the project and verify that all required env vars are set.
7778
if os.getenv("LANGSMITH_TRACING", "false") == "true":
@@ -163,6 +164,8 @@ def main():
163164
else:
164165
mcp_port = 8081
165166

167+
vector.store = load_vector_store(index_vendor) # Set up the global wiki_rag.vector.store to be used elsewhere.
168+
166169
# Calculate the file that we are going to use as source for the resources.
167170
input_candidate = ""
168171
for file in sorted(loader_dump_path.iterdir()):

wiki_rag/server/main.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414
from dotenv import load_dotenv
1515
from langfuse.langchain import CallbackHandler
1616

17-
import wiki_rag.index as index
17+
import wiki_rag.vector as vector
1818

1919
from wiki_rag import LOG_LEVEL, ROOT_DIR, __version__, server
2020
from wiki_rag.search.util import ContextSchema, build_graph
2121
from wiki_rag.util import setup_logging
22+
from wiki_rag.vector import load_vector_store
2223

2324

2425
def main():
@@ -69,10 +70,10 @@ def main():
6970
sys.exit(1)
7071
# TODO: Validate that only numbers, letters and underscores are used.
7172

72-
index.milvus_url = os.getenv("MILVUS_URL")
73-
if not index.milvus_url:
74-
logger.error("Milvus URL not found in environment. Exiting.")
75-
sys.exit(1)
73+
index_vendor = os.getenv("INDEX_VENDOR")
74+
if not index_vendor:
75+
logger.warning("Index vendor (INDEX_VENDOR) not found in environment. Defaulting to 'milvus'.")
76+
index_vendor = "milvus"
7677

7778
# If LangSmith tracing is enabled, put a name for the project and verify that all required env vars are set.
7879
if os.getenv("LANGSMITH_TRACING", "false") == "true":
@@ -141,6 +142,8 @@ def main():
141142

142143
contextualisation_model = os.getenv("CONTEXTUALISATION_MODEL")
143144

145+
vector.store = load_vector_store(index_vendor) # Set up the global wiki_rag.vector.store to be used elsewhere.
146+
144147
wrapper_api_base = os.getenv("WRAPPER_API_BASE")
145148
if not wrapper_api_base:
146149
logger.error("Wrapper API base not found in environment. Exiting.")

0 commit comments

Comments
 (0)