MuhammadKhoirul010 commited on
Commit
a1eeaa2
·
verified ·
1 Parent(s): 2d779f2

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -0
app.py ADDED
@@ -0,0 +1 @@
 
 
1
+ {"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"},"language_info":{"name":"python","version":"3.11.11","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"colab":{"machine_shape":"hm","gpuType":"T4"},"accelerator":"GPU","kaggle":{"accelerator":"nvidiaTeslaT4","dataSources":[],"dockerImageVersionId":31041,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":true}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"!pip install gradio transformers torch","metadata":{"colab_type":"code","trusted":true,"execution":{"iopub.status.busy":"2025-06-11T22:41:58.711990Z","iopub.execute_input":"2025-06-11T22:41:58.712749Z","iopub.status.idle":"2025-06-11T22:42:02.256792Z","shell.execute_reply.started":"2025-06-11T22:41:58.712723Z","shell.execute_reply":"2025-06-11T22:42:02.256055Z"}},"outputs":[{"name":"stderr","text":"huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\nTo disable this warning, you can either:\n\t- Avoid using `tokenizers` before the fork if possible\n\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n","output_type":"stream"},{"name":"stdout","text":"Requirement already satisfied: gradio in /usr/local/lib/python3.11/dist-packages (5.33.2)\nRequirement already satisfied: transformers in /usr/local/lib/python3.11/dist-packages (4.52.4)\nRequirement already satisfied: torch in /usr/local/lib/python3.11/dist-packages (2.6.0+cu124)\nRequirement already satisfied: aiofiles<25.0,>=22.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (22.1.0)\nRequirement already satisfied: anyio<5.0,>=3.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (4.9.0)\nRequirement already satisfied: fastapi<1.0,>=0.115.2 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.115.12)\nRequirement already satisfied: ffmpy in /usr/local/lib/python3.11/dist-packages (from gradio) (0.6.0)\nRequirement already satisfied: gradio-client==1.10.3 in /usr/local/lib/python3.11/dist-packages (from gradio) (1.10.3)\nRequirement already satisfied: groovy~=0.1 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.1.2)\nRequirement already satisfied: httpx>=0.24.1 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.28.1)\nRequirement already satisfied: huggingface-hub>=0.28.1 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.31.1)\nRequirement already satisfied: jinja2<4.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (3.1.6)\nRequirement already satisfied: markupsafe<4.0,>=2.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (3.0.2)\nRequirement already satisfied: numpy<3.0,>=1.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (1.26.4)\nRequirement already satisfied: orjson~=3.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (3.10.16)\nRequirement already satisfied: packaging in /usr/local/lib/python3.11/dist-packages (from gradio) (25.0)\nRequirement already satisfied: pandas<3.0,>=1.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (2.2.3)\nRequirement already satisfied: pillow<12.0,>=8.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (11.1.0)\nRequirement already satisfied: pydantic<2.12,>=2.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (2.11.4)\nRequirement already satisfied: pydub in /usr/local/lib/python3.11/dist-packages (from gradio) (0.25.1)\nRequirement already satisfied: python-multipart>=0.0.18 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.0.20)\nRequirement already satisfied: pyyaml<7.0,>=5.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (6.0.2)\nRequirement already satisfied: ruff>=0.9.3 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.11.13)\nRequirement already satisfied: safehttpx<0.2.0,>=0.1.6 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.1.6)\nRequirement already satisfied: semantic-version~=2.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (2.10.0)\nRequirement already satisfied: starlette<1.0,>=0.40.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.46.2)\nRequirement already satisfied: tomlkit<0.14.0,>=0.12.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.13.3)\nRequirement already satisfied: typer<1.0,>=0.12 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.15.2)\nRequirement already satisfied: typing-extensions~=4.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (4.13.2)\nRequirement already satisfied: uvicorn>=0.14.0 in /usr/local/lib/python3.11/dist-packages (from gradio) (0.34.3)\nRequirement already satisfied: fsspec in /usr/local/lib/python3.11/dist-packages (from gradio-client==1.10.3->gradio) (2025.3.2)\nRequirement already satisfied: websockets<16.0,>=10.0 in /usr/local/lib/python3.11/dist-packages (from gradio-client==1.10.3->gradio) (15.0.1)\nRequirement already satisfied: filelock in /usr/local/lib/python3.11/dist-packages (from transformers) (3.18.0)\nRequirement already satisfied: regex!=2019.12.17 in /usr/local/lib/python3.11/dist-packages (from transformers) (2024.11.6)\nRequirement already satisfied: requests in /usr/local/lib/python3.11/dist-packages (from transformers) (2.32.3)\nRequirement already satisfied: tokenizers<0.22,>=0.21 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.21.1)\nRequirement already satisfied: safetensors>=0.4.3 in /usr/local/lib/python3.11/dist-packages (from transformers) (0.5.3)\nRequirement already satisfied: tqdm>=4.27 in /usr/local/lib/python3.11/dist-packages (from transformers) (4.67.1)\nRequirement already satisfied: networkx in /usr/local/lib/python3.11/dist-packages (from torch) (3.4.2)\nRequirement already satisfied: nvidia-cuda-nvrtc-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch) (12.4.127)\nRequirement already satisfied: nvidia-cuda-runtime-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch) (12.4.127)\nRequirement already satisfied: nvidia-cuda-cupti-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch) (12.4.127)\nRequirement already satisfied: nvidia-cudnn-cu12==9.1.0.70 in /usr/local/lib/python3.11/dist-packages (from torch) (9.1.0.70)\nRequirement already satisfied: nvidia-cublas-cu12==12.4.5.8 in /usr/local/lib/python3.11/dist-packages (from torch) (12.4.5.8)\nRequirement already satisfied: nvidia-cufft-cu12==11.2.1.3 in /usr/local/lib/python3.11/dist-packages (from torch) (11.2.1.3)\nRequirement already satisfied: nvidia-curand-cu12==10.3.5.147 in /usr/local/lib/python3.11/dist-packages (from torch) (10.3.5.147)\nRequirement already satisfied: nvidia-cusolver-cu12==11.6.1.9 in /usr/local/lib/python3.11/dist-packages (from torch) (11.6.1.9)\nRequirement already satisfied: nvidia-cusparse-cu12==12.3.1.170 in /usr/local/lib/python3.11/dist-packages (from torch) (12.3.1.170)\nRequirement already satisfied: nvidia-cusparselt-cu12==0.6.2 in /usr/local/lib/python3.11/dist-packages (from torch) (0.6.2)\nRequirement already satisfied: nvidia-nccl-cu12==2.21.5 in /usr/local/lib/python3.11/dist-packages (from torch) (2.21.5)\nRequirement already satisfied: nvidia-nvtx-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch) (12.4.127)\nRequirement already satisfied: nvidia-nvjitlink-cu12==12.4.127 in /usr/local/lib/python3.11/dist-packages (from torch) (12.4.127)\nRequirement already satisfied: triton==3.2.0 in /usr/local/lib/python3.11/dist-packages (from torch) (3.2.0)\nRequirement already satisfied: sympy==1.13.1 in /usr/local/lib/python3.11/dist-packages (from torch) (1.13.1)\nRequirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from sympy==1.13.1->torch) (1.3.0)\nRequirement already satisfied: idna>=2.8 in /usr/local/lib/python3.11/dist-packages (from anyio<5.0,>=3.0->gradio) (3.10)\nRequirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.11/dist-packages (from anyio<5.0,>=3.0->gradio) (1.3.1)\nRequirement already satisfied: certifi in /usr/local/lib/python3.11/dist-packages (from httpx>=0.24.1->gradio) (2025.4.26)\nRequirement already satisfied: httpcore==1.* in /usr/local/lib/python3.11/dist-packages (from httpx>=0.24.1->gradio) (1.0.7)\nRequirement already satisfied: h11<0.15,>=0.13 in /usr/local/lib/python3.11/dist-packages (from httpcore==1.*->httpx>=0.24.1->gradio) (0.14.0)\nRequirement already satisfied: hf-xet<2.0.0,>=1.1.0 in /usr/local/lib/python3.11/dist-packages (from huggingface-hub>=0.28.1->gradio) (1.1.0)\nRequirement already satisfied: mkl_fft in /usr/local/lib/python3.11/dist-packages (from numpy<3.0,>=1.0->gradio) (1.3.8)\nRequirement already satisfied: mkl_random in /usr/local/lib/python3.11/dist-packages (from numpy<3.0,>=1.0->gradio) (1.2.4)\nRequirement already satisfied: mkl_umath in /usr/local/lib/python3.11/dist-packages (from numpy<3.0,>=1.0->gradio) (0.1.1)\nRequirement already satisfied: mkl in /usr/local/lib/python3.11/dist-packages (from numpy<3.0,>=1.0->gradio) (2025.1.0)\nRequirement already satisfied: tbb4py in /usr/local/lib/python3.11/dist-packages (from numpy<3.0,>=1.0->gradio) (2022.1.0)\nRequirement already satisfied: mkl-service in /usr/local/lib/python3.11/dist-packages (from numpy<3.0,>=1.0->gradio) (2.4.1)\nRequirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.11/dist-packages (from pandas<3.0,>=1.0->gradio) (2.9.0.post0)\nRequirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.11/dist-packages (from pandas<3.0,>=1.0->gradio) (2025.2)\nRequirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.11/dist-packages (from pandas<3.0,>=1.0->gradio) (2025.2)\nRequirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.11/dist-packages (from pydantic<2.12,>=2.0->gradio) (0.7.0)\nRequirement already satisfied: pydantic-core==2.33.2 in /usr/local/lib/python3.11/dist-packages (from pydantic<2.12,>=2.0->gradio) (2.33.2)\nRequirement already satisfied: typing-inspection>=0.4.0 in /usr/local/lib/python3.11/dist-packages (from pydantic<2.12,>=2.0->gradio) (0.4.0)\nRequirement already satisfied: click>=8.0.0 in /usr/local/lib/python3.11/dist-packages (from typer<1.0,>=0.12->gradio) (8.1.8)\nRequirement already satisfied: shellingham>=1.3.0 in /usr/local/lib/python3.11/dist-packages (from typer<1.0,>=0.12->gradio) (1.5.4)\nRequirement already satisfied: rich>=10.11.0 in /usr/local/lib/python3.11/dist-packages (from typer<1.0,>=0.12->gradio) (14.0.0)\nRequirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (3.4.2)\nRequirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/dist-packages (from requests->transformers) (2.4.0)\nRequirement already satisfied: six>=1.5 in /usr/local/lib/python3.11/dist-packages (from python-dateutil>=2.8.2->pandas<3.0,>=1.0->gradio) (1.17.0)\nRequirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.11/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (3.0.0)\nRequirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.11/dist-packages (from rich>=10.11.0->typer<1.0,>=0.12->gradio) (2.19.1)\nRequirement already satisfied: intel-openmp<2026,>=2024 in /usr/local/lib/python3.11/dist-packages (from mkl->numpy<3.0,>=1.0->gradio) (2024.2.0)\nRequirement already satisfied: tbb==2022.* in /usr/local/lib/python3.11/dist-packages (from mkl->numpy<3.0,>=1.0->gradio) (2022.1.0)\nRequirement already satisfied: tcmlib==1.* in /usr/local/lib/python3.11/dist-packages (from tbb==2022.*->mkl->numpy<3.0,>=1.0->gradio) (1.3.0)\nRequirement already satisfied: intel-cmplr-lib-rt in /usr/local/lib/python3.11/dist-packages (from mkl_umath->numpy<3.0,>=1.0->gradio) (2024.2.0)\nRequirement already satisfied: intel-cmplr-lib-ur==2024.2.0 in /usr/local/lib/python3.11/dist-packages (from intel-openmp<2026,>=2024->mkl->numpy<3.0,>=1.0->gradio) (2024.2.0)\nRequirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.11/dist-packages (from markdown-it-py>=2.2.0->rich>=10.11.0->typer<1.0,>=0.12->gradio) (0.1.2)\n","output_type":"stream"}],"execution_count":23},{"cell_type":"code","source":"import gradio as gr\nfrom transformers import pipeline\nimport torch","metadata":{"colab_type":"code","trusted":true,"execution":{"iopub.status.busy":"2025-06-11T22:42:02.258476Z","iopub.execute_input":"2025-06-11T22:42:02.258735Z","iopub.status.idle":"2025-06-11T22:42:02.262927Z","shell.execute_reply.started":"2025-06-11T22:42:02.258712Z","shell.execute_reply":"2025-06-11T22:42:02.262205Z"}},"outputs":[],"execution_count":24},{"cell_type":"code","source":"try:\n # Memuat model BART Large CNN untuk tugas summarization\n summarizer = pipeline(\"summarization\", model=\"facebook/bart-large-cnn\")\n print(\"Model summarization berhasil dimuat.\")\nexcept Exception as e:\n summarizer = None\n print(f\"Error saat memuat model summarization: {str(e)}\") # Cetak error ke konsol jika gagal dimuat","metadata":{"colab_type":"code","trusted":true,"execution":{"iopub.status.busy":"2025-06-11T22:42:02.263590Z","iopub.execute_input":"2025-06-11T22:42:02.263813Z","iopub.status.idle":"2025-06-11T22:42:04.102254Z","shell.execute_reply.started":"2025-06-11T22:42:02.263798Z","shell.execute_reply":"2025-06-11T22:42:04.101581Z"}},"outputs":[{"name":"stderr","text":"Device set to use cuda:0\n","output_type":"stream"},{"name":"stdout","text":"Model summarization berhasil dimuat.\n","output_type":"stream"}],"execution_count":25},{"cell_type":"code","source":"def summarize_text_simple(text_input, min_length_val=30, max_length_val=150): # Ubah nama parameter untuk kejelasan\n # Cek apakah model berhasil dimuat\n if summarizer is None:\n return \"❌ Error: Model ringkasan gagal dimuat. Coba lagi nanti.\"\n\n if not text_input.strip():\n return \"⚠️ Mohon masukkan teks yang ingin diringkas!\"\n\n # Pastikan panjang minimum dan maksimum masuk akal\n if min_length_val >= max_length_val: # Gunakan parameter yang diperbarui\n return \"⚠️ Panjang minimum harus lebih kecil dari panjang maksimum!\"\n if min_length_val <= 0 or max_length_val <= 0: # Gunakan parameter yang diperbarui\n return \"⚠️ Panjang tidak boleh nol atau negatif!\"\n \n try:\n # Lakukan ringkasan\n # Pastikan min_length dan max_length diteruskan ke summarizer\n summary = summarizer(\n text_input,\n min_length=int(min_length_val), # Pastikan nilai adalah integer\n max_length=int(max_length_val), # Pastikan nilai adalah integer\n truncation=True # Penting: Potong input jika terlalu panjang untuk model\n )\n \n # Hasil ringkasan ada di 'summary_text'\n summarized_text = summary[0]['summary_text']\n \n result_message = f\"\"\"\n <h3>Teks Ringkasan Anda:</h3>\n <p>{summarized_text}</p>\n \"\"\"\n \n return result_message\n \n except Exception as e:\n return f\"❌ Terjadi kesalahan saat meringkas: {str(e)}\"\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-11T22:42:04.103689Z","iopub.execute_input":"2025-06-11T22:42:04.103917Z","iopub.status.idle":"2025-06-11T22:42:04.109071Z","shell.execute_reply.started":"2025-06-11T22:42:04.103900Z","shell.execute_reply":"2025-06-11T22:42:04.108480Z"}},"outputs":[],"execution_count":26},{"cell_type":"code","source":"with gr.Blocks(title=\"Aplikasi Ringkasan Teks Sederhana\") as demo:\n gr.Markdown(\"# 📝 Aplikasi Ringkasan Teks Sederhana\")\n gr.Markdown(\"Masukkan teks panjang di bawah ini untuk mendapatkan versi ringkasnya.\")\n\n with gr.Row():\n text_input = gr.Textbox(\n label=\"Teks Asli\",\n placeholder=\"Masukkan teks panjang yang ingin Anda ringkas di sini...\",\n lines=10\n )\n \n with gr.Row():\n min_length_slider = gr.Slider(\n minimum=10,\n maximum=100,\n value=30,\n step=1,\n label=\"Panjang Ringkasan Minimum\"\n )\n max_length_slider = gr.Slider(\n minimum=50, # Ubah minimum agar selalu lebih besar dari max slider min_length\n maximum=200,\n value=80,\n step=1,\n label=\"Panjang Ringkasan Maksimum\"\n )\n\n summarize_btn = gr.Button(\"✨ Ringkas Sekarang\")\n\n summary_output = gr.HTML(label=\"Hasil Ringkasan\")\n\n # Menghubungkan tombol ke fungsi ringkasan\n summarize_btn.click(\n fn=summarize_text_simple,\n inputs=[text_input, min_length_slider, max_length_slider], # Pastikan Anda melewati kedua slider\n outputs=summary_output\n )\n\n gr.Markdown(\"\"\"\n ---\n <div style='text-align: center; margin-top: 20px;'>\n <p>Didukung oleh Hugging Face Transformers (Model: facebook/bart-large-cnn) dan Gradio.</p>\n </div>\n \"\"\")","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-11T22:46:55.081640Z","iopub.execute_input":"2025-06-11T22:46:55.082012Z","iopub.status.idle":"2025-06-11T22:46:55.851330Z","shell.execute_reply.started":"2025-06-11T22:46:55.081988Z","shell.execute_reply":"2025-06-11T22:46:55.850737Z"}},"outputs":[],"execution_count":31},{"cell_type":"code","source":"if __name__ == \"__main__\":\n demo.launch()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-11T22:46:58.667674Z","iopub.execute_input":"2025-06-11T22:46:58.667971Z","iopub.status.idle":"2025-06-11T22:46:59.423922Z","shell.execute_reply.started":"2025-06-11T22:46:58.667949Z","shell.execute_reply":"2025-06-11T22:46:59.423255Z"}},"outputs":[{"name":"stdout","text":"* Running on local URL: http://127.0.0.1:7864\nIt looks like you are running Gradio on a hosted Jupyter notebook, which requires `share=True`. Automatically setting `share=True` (you can turn this off by setting `share=False` in `launch()` explicitly).\n\n* Running on public URL: https://4cef58d1a8fad816a5.gradio.live\n\nThis share link expires in 1 week. For free permanent hosting and GPU upgrades, run `gradio deploy` from the terminal in the working directory to deploy to Hugging Face Spaces (https://huggingface.co/spaces)\n","output_type":"stream"},{"output_type":"display_data","data":{"text/plain":"<IPython.core.display.HTML object>","text/html":"<div><iframe src=\"https://4cef58d1a8fad816a5.gradio.live\" width=\"100%\" height=\"500\" allow=\"autoplay; camera; microphone; clipboard-read; clipboard-write;\" frameborder=\"0\" allowfullscreen></iframe></div>"},"metadata":{}}],"execution_count":32}]}