File size: 1,357 Bytes
4f3c848 88bccf2 4f3c848 88bccf2 ad578b5 4f3c848 88bccf2 ad578b5 88bccf2 ad578b5 4f3c848 88bccf2 ad578b5 88bccf2 ad578b5 88bccf2 ad578b5 88bccf2 ad578b5 88bccf2 ad578b5 88bccf2 ad578b5 18c9167 ad578b5 |
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 |
import gradio as gr
from transformers import pipeline
from PIL import Image
import pytesseract
# Initialize chat model
chat_model = pipeline("text-generation", model="gpt2") # عدّل اسم النموذج حسب الحاجة
# Chat function
def chat_fn(history, user_input):
conversation = {"history": history, "user": user_input}
response = chat_model(user_input, max_length=50, num_return_sequences=1)
conversation["bot"] = response[0]['generated_text']
history.append((user_input, conversation["bot"]))
return history, ""
# OCR function
def ocr(image):
text = pytesseract.image_to_string(image)
return text
# Gradio interface
with gr.Blocks() as demo:
gr.Markdown("### الصور والدردشة")
# Image OCR section
with gr.Tab("استخراج النصوص من الصور"):
with gr.Row():
image_input = gr.Image(type="pil")
ocr_output = gr.Textbox()
submit_button = gr.Button("Submit")
submit_button.click(ocr, inputs=image_input, outputs=ocr_output)
# Chat section
with gr.Tab("المحادثة"):
chatbot = gr.Chatbot()
msg = gr.Textbox(label="اكتب رسالتك")
clear = gr.Button("Clear")
msg.submit(chat_fn, [chatbot, msg], [chatbot, msg])
clear.click(lambda: None, None, chatbot)
demo.launch() |