robertolofaro commited on
Commit
ffdd234
·
verified ·
1 Parent(s): 5404e5b

Delete qa_common.py

Browse files
Files changed (1) hide show
  1. qa_common.py +0 -66
qa_common.py DELETED
@@ -1,66 +0,0 @@
1
- #!/usr/bin/env python3
2
- import argparse
3
- import datetime
4
- from llama_cpp import Llama
5
-
6
- # ====================== COMMON CONFIG & PROMPT ======================
7
- SYSTEM_PROMPT = """You are the reference expert for the articles contained in this database, all extracted from the website robertolofaro.com, and all focused on change.
8
- #Your Mission:
9
- When a user asks a question, your goal is to provide a structured response based ONLY on the articles provided in your training. Do not provide general advice from outside these sources.
10
- # Response Format:
11
- 1. Executive Summary: A 2-3 sentence overview answering the core query.
12
- 2. Guidelines & Hints: A markdown list of specific "answers/guidelines/hints" found in the source material.
13
- """
14
-
15
- def build_prompt(query: str, context: str = "") -> str:
16
- prompt = f"<|im_start|>system\n{SYSTEM_PROMPT}<|im_end|>\n"
17
-
18
- if context:
19
- prompt += f"<|im_start|>user\nContext:\n{context}\n\nQuestion: {query}<|im_end|>\n"
20
- else:
21
- prompt += f"<|im_start|>user\n{query}<|im_end|>\n"
22
-
23
- prompt += "<|im_start|>assistant\n"
24
- return prompt
25
-
26
-
27
- def generate_answer(llm, prompt: str, max_tokens=1200):
28
- output = llm(
29
- prompt,
30
- max_tokens=max_tokens,
31
- temperature=0.65,
32
- top_p=0.9,
33
- stop=["<|im_end|>", "<|im_start|>"],
34
- echo=False,
35
- )
36
- return output["choices"][0]["text"].strip()
37
-
38
-
39
- def save_result(query: str, answer: str, output_file="answer.md"):
40
- now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
41
-
42
- markdown = f"""# Q&A Result
43
-
44
- ## Timestamp
45
- {now}
46
-
47
- ## Question
48
- {query}
49
-
50
- ## Answer
51
- {answer}
52
- """
53
- with open(output_file, "w", encoding="utf-8") as f:
54
- f.write(markdown)
55
-
56
- print(f"✅ Saved to: {output_file}")
57
- print("="*80)
58
- print(answer)
59
- print("="*80)
60
-
61
-
62
- def parse_args():
63
- parser = argparse.ArgumentParser()
64
- parser.add_argument("--prompt", type=str, help="Question to ask")
65
- parser.add_argument("--output", type=str, default="answer.md")
66
- return parser.parse_args()