robertolofaro commited on
Commit
7f2f944
·
verified ·
1 Parent(s): ffdd234

Delete qa_markdown_faiss_hnsw_externalized.py

Browse files
qa_markdown_faiss_hnsw_externalized.py DELETED
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env python3
2
- from qa_common import parse_args, build_prompt, generate_answer, save_result
3
- import faiss
4
- import pickle
5
- from sentence_transformers import SentenceTransformer
6
- from llama_cpp import Llama
7
-
8
- # ====================== FAISS HNSW SPECIFIC ======================
9
- INDEX_PATH = "faiss_hnsw/vector_search.index"
10
- METADATA_PATH = "faiss_hnsw/metadata.pkl"
11
- MODEL_PATH = "articles-Q4_K_M.gguf"
12
-
13
- print("Loading embedding model...")
14
- embed_model = SentenceTransformer("BAAI/bge-small-en-v1.5")
15
-
16
- print("Loading FAISS HNSW index...")
17
- index = faiss.read_index(INDEX_PATH)
18
-
19
- print("Loading metadata...")
20
- with open(METADATA_PATH, "rb") as f:
21
- metadata = pickle.load(f)
22
-
23
- print("Loading LLM...")
24
- llm = Llama(model_path=MODEL_PATH, n_ctx=25000, n_threads=8, verbose=False)
25
-
26
-
27
- def get_context(query: str, k=5) -> str:
28
- query_vec = embed_model.encode([query], normalize_embeddings=True).astype('float32')
29
- _, indices = index.search(query_vec, k)
30
-
31
- chunks = []
32
- for idx in indices[0]:
33
- row = metadata.iloc[idx]
34
- chunk = f"[Article: {row['article_title']}] \n{row['article_content']}"
35
- chunks.append(chunk)
36
- return "\n\n".join(chunks)
37
-
38
-
39
- if __name__ == "__main__":
40
- args = parse_args()
41
- query = args.prompt if args.prompt else input("\nQuestion: ")
42
-
43
- print("Retrieving context and generating answer...\n")
44
-
45
- context = get_context(query, k=5)
46
- prompt = build_prompt(query, context)
47
- answer = generate_answer(llm, prompt)
48
-
49
- save_result(query, answer, args.output)