Download rag_chain.py from armaanalam/CodeBase-Agent: direct link, hf CLI and curl.
- Browser
- Download file 764 Bytes
-
https://huggingface.co/armaanalam/CodeBase-Agent/resolve/main/rag_chain.py
- Command line
-
hf download hf://armaanalam/CodeBase-Agent/rag_chain.py
-
curl -L -o rag_chain.py https://huggingface.co/armaanalam/CodeBase-Agent/resolve/main/rag_chain.py
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], | |
| } |