File size: 1,252 Bytes
8cf4b8e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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:"""

    # Gửi request tới Gemini
    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