|
import requests
|
|
from retriever import retrieve_docs
|
|
|
|
API_KEY = "AIzaSyClqQssVMjt02qKrGKnghYAK9RkGf0lkS4"
|
|
|
|
def answer_query(query, model="Gemini Pro", temperature=0.2):
|
|
docs = retrieve_docs(query)
|
|
context = "\n\n".join([doc.page_content for doc in docs])
|
|
prompt = f"""Dựa trên các tài liệu sau, hãy trả lời ngắn gọn, chính xác:
|
|
|
|
{context}
|
|
|
|
Câu hỏi: {query}
|
|
Trả lời:"""
|
|
|
|
|
|
url = f"https://generativelanguage.googleapis.com/v1/models/gemini-1.5-pro:generateContent?key={API_KEY}"
|
|
|
|
headers = {
|
|
"Content-Type": "application/json",
|
|
}
|
|
|
|
payload = {
|
|
"contents": [
|
|
{
|
|
"parts": [
|
|
{"text": prompt}
|
|
]
|
|
}
|
|
],
|
|
"generationConfig": {
|
|
"temperature": temperature
|
|
}
|
|
}
|
|
|
|
response = requests.post(url, headers=headers, json=payload)
|
|
data = response.json()
|
|
|
|
try:
|
|
answer = data['candidates'][0]['content']['parts'][0]['text']
|
|
except Exception as e:
|
|
print("🔴 Response từ Gemini:", data)
|
|
answer = "Lỗi khi gọi Gemini API: " + str(e)
|
|
|
|
return answer, docs
|
|
|