| import gradio as gr |
| import PyPDF2 |
| import google.generativeai as genai |
| import os |
|
|
| |
| genai.configure(api_key="AIzaSyBsLnEsu1UB1pG-UKYH6HKTH4MDyakHO3E") |
|
|
| |
| 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") |
|
|
| |
| 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 |
|
|
| |
| iface = gr.Interface( |
| fn=chatbot, |
| inputs=gr.Textbox(label="Сұрақ қойыңыз"), |
| outputs="text", |
| title="PDF Chatbot (Gemini)", |
| description="Бұл бот тек алдын ала жүктелген PDF құжатына сүйеніп жауап береді." |
| ) |
|
|
| iface.launch() |
|
|