AI-FInal / app.py
Nurisslam's picture
Update app.py
c5d999a verified
import gradio as gr
import PyPDF2
import google.generativeai as genai
import os
# --- API KEY ---
genai.configure(api_key="AIzaSyBsLnEsu1UB1pG-UKYH6HKTH4MDyakHO3E") # Hugging Face Secrets-ке сақтау жақсырақ
# --- PDF алдын ала оқу ---
def load_pdf(file_path):
reader = PyPDF2.PdfReader(file_path)
text = ""
for page in reader.pages:
text += page.extract_text() + "\n"
return text
pdf_text = load_pdf("INDEXHTML.pdf") # Мында сенің PDF файлыңның аты
# --- Gemini модель ---
model = genai.GenerativeModel("gemini-2.5-pro")
def chatbot(question):
prompt = f"""
Сен тек PDF мазмұнына байланысты жауап бересің.
PDF мәтіні:
---
{pdf_text[:7000]}
---
Сұрақ: {question}
Егер сұрақ PDF мазмұнымен байланысты болмаса:
"Кешіріңіз, бұл сұрақ PDF мазмұнымен байланысты емес" деп жауап бер.
"""
response = model.generate_content(prompt)
return response.text
# --- Gradio UI ---
iface = gr.Interface(
fn=chatbot,
inputs=gr.Textbox(label="Сұрақ қойыңыз"),
outputs="text",
title="PDF Chatbot (Gemini)",
description="Бұл бот тек алдын ала жүктелген PDF құжатына сүйеніп жауап береді."
)
iface.launch()