CodeBase-Agent / rag_chain.py
armaanalam's picture
Upload 9 files
93df7ed verified
Raw History Blame
764 Bytes
from rag.retriever import retrieve_relevant_chunks
from llm import get_llm_client, build_prompt
def build_context(chunks: list[dict]) -> str:
parts = []
for c in chunks:
meta = c["metadata"]
header = f"# {meta['file_path']} (lines {meta['start_line']}-{meta['end_line']})"
parts.append(f"{header}\n{c['content']}")
return "\n\n---\n\n".join(parts)
def run_rag_query(query: str, k: int = 5) -> dict:
chunks = retrieve_relevant_chunks(query, k)
context = build_context(chunks)
prompt = build_prompt(query, context, task_type="qa")
llm = get_llm_client()
answer = llm.generate(prompt)
return {
"answer": answer,
"sources": [c["metadata"] for c in chunks],
}