okoliechykwuka commited on
Commit
0d06c0b
·
1 Parent(s): 9f031f6

Add OLLAMA_BASE_URL support for chat and embeddings

Browse files
Files changed (2) hide show
  1. src/chat_service.py +6 -1
  2. src/ingest.py +3 -2
src/chat_service.py CHANGED
@@ -13,6 +13,7 @@ from src.ingest import get_or_build_vectorstore
13
 
14
  MAX_MEMORY_TURNS = int(os.getenv("RAG_MEMORY_TURNS", "6"))
15
  LLM_MODEL = os.getenv("LLM_MODEL", "hf.co/LiquidAI/LFM2-1.2B-RAG-GGUF:Q5_K_M")
 
16
 
17
 
18
  @dataclass
@@ -59,7 +60,11 @@ class RagChatService:
59
 
60
  def _get_llm(self) -> ChatOllama:
61
  if self._llm is None:
62
- self._llm = ChatOllama(model=LLM_MODEL, temperature=0.2)
 
 
 
 
63
  return self._llm
64
 
65
  def _format_context(self, question: str) -> str:
 
13
 
14
  MAX_MEMORY_TURNS = int(os.getenv("RAG_MEMORY_TURNS", "6"))
15
  LLM_MODEL = os.getenv("LLM_MODEL", "hf.co/LiquidAI/LFM2-1.2B-RAG-GGUF:Q5_K_M")
16
+ OLLAMA_BASE_URL = os.getenv("OLLAMA_BASE_URL", "http://localhost:11434")
17
 
18
 
19
  @dataclass
 
60
 
61
  def _get_llm(self) -> ChatOllama:
62
  if self._llm is None:
63
+ self._llm = ChatOllama(
64
+ model=LLM_MODEL,
65
+ temperature=0.2,
66
+ base_url=OLLAMA_BASE_URL,
67
+ )
68
  return self._llm
69
 
70
  def _format_context(self, question: str) -> str:
src/ingest.py CHANGED
@@ -23,6 +23,7 @@ FAQ_PATH = _RAG_DIR / "faq.json"
23
  CHROMA_DIR = _RAG_DIR / "chroma_db"
24
 
25
  EMBED_MODEL = os.getenv("EMBED_MODEL", "embeddinggemma:latest")
 
26
  COLLECTION_NAME = "naijalingo_faq"
27
 
28
 
@@ -50,7 +51,7 @@ def build_vectorstore(
50
  embed_model: str = EMBED_MODEL,
51
  ) -> Chroma:
52
  docs = load_faq_documents(faq_path)
53
- embeddings = OllamaEmbeddings(model=embed_model)
54
 
55
  chroma_dir.mkdir(parents=True, exist_ok=True)
56
  vectorstore = Chroma.from_documents(
@@ -67,7 +68,7 @@ def load_vectorstore(
67
  chroma_dir: Path = CHROMA_DIR,
68
  embed_model: str = EMBED_MODEL,
69
  ) -> Chroma:
70
- embeddings = OllamaEmbeddings(model=embed_model)
71
  return Chroma(
72
  collection_name=COLLECTION_NAME,
73
  embedding_function=embeddings,
 
23
  CHROMA_DIR = _RAG_DIR / "chroma_db"
24
 
25
  EMBED_MODEL = os.getenv("EMBED_MODEL", "embeddinggemma:latest")
26
+ OLLAMA_BASE_URL = os.getenv("OLLAMA_BASE_URL", "http://localhost:11434")
27
  COLLECTION_NAME = "naijalingo_faq"
28
 
29
 
 
51
  embed_model: str = EMBED_MODEL,
52
  ) -> Chroma:
53
  docs = load_faq_documents(faq_path)
54
+ embeddings = OllamaEmbeddings(model=embed_model, base_url=OLLAMA_BASE_URL)
55
 
56
  chroma_dir.mkdir(parents=True, exist_ok=True)
57
  vectorstore = Chroma.from_documents(
 
68
  chroma_dir: Path = CHROMA_DIR,
69
  embed_model: str = EMBED_MODEL,
70
  ) -> Chroma:
71
+ embeddings = OllamaEmbeddings(model=embed_model, base_url=OLLAMA_BASE_URL)
72
  return Chroma(
73
  collection_name=COLLECTION_NAME,
74
  embedding_function=embeddings,