рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Llama 3.2 рдФрд░ Gradio рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рдПрдХ рдорд▓реНрдЯреАрдореЛрдбрд▓ рд╡реЗрдм рдРрдк рдмрдирд╛рдПрдВ

рдЬрд╛рдиреЗрдВ рдХрд┐ Llama 3.2 11B рд╡рд┐рдЬрд╝рди рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ Gradio рдХреЗ рд╕рд╛рде рдХрд░рдХреЗ рдПрдХ рдорд▓реНрдЯреАрдореЛрдбрд▓ рд╡реЗрдм рдРрдк рдХреИрд╕реЗ рдмрдирд╛рдПрдВ рдЬреЛ рдХрд╕реНрдЯрдорд░ рд╕рдкреЛрд░реНрдЯ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
┬╖ 10 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рд╡рд╣ рд╕рдордп рдЧрдпрд╛ рдЬрдм рд╣рдо рдХреЗрд╡рд▓ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓рд╛рд░реНрдЬ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдореЙрдбрд▓реНрд╕ рд╕реЗ рдЦреБрд╢ рдереЗред рдЕрдм рд╣рдо рдорд▓реНрдЯреАрдореЛрдбрд▓ LLMs рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ, рдЗрдореЗрдЬ рдФрд░ рд╡реАрдбрд┐рдпреЛ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВред

рдкреЗрд╢ рд╣реИрдВ Llama 3.2 11B & 90B рд╡рд┐рдЬрд╝рди рдореЙрдбрд▓реНрд╕тАФMeta AI рдХреЗ рдкрд╣рд▓реЗ рдУрдкрдитАСрд╕реЛрд░реНрд╕ рдорд▓реНрдЯреАрдореЛрдбрд▓ рдореЙрдбрд▓реНрд╕тАФрдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬ рджреЛрдиреЛрдВ рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВред

рдЗрд╕ рд╣реИрдВрдбреНрд╕тАСрдСрди рдЧрд╛рдЗрдб рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ Llama 3.2 рдФрд░ Gradio рдХреА рдорджрдж рд╕реЗ рдПрдХ рдорд▓реНрдЯреАрдореЛрдбрд▓ рдХрд╕реНрдЯрдорд░ рд╕рдкреЛрд░реНрдЯ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд▓реЗ рдЪрд▓реВрдБрдЧрд╛/рдЪрд▓реВрдБрдЧреАред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдЕрдВрдд рддрдХ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреВрд░реА рддрд░рд╣ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╡реЗрдм рдРрдк рд╣реЛрдЧрд╛ рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рд╡рд┐рд╡рд░рдг рдФрд░ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдЗрдореЗрдЬ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рдЙрдкрдпреЛрдЧреА рд╕рдорд╛рдзрд╛рди рдЬрдирд░реЗрдЯ рдХрд░ рд╕рдХреЗтАФрдмрд┐рд▓реНрдХреБрд▓ рд╕рдкреЛрд░реНрдЯ рдЯрд┐рдХрдЯ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХреА рддрд░рд╣!

рдпрджрд┐ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ Llama 3.2 рдХрд╛ рддреНрд╡рд░рд┐рдд рдкрд░рд┐рдЪрдп рдЪрд╛рд╣рд┐рдП, рддреЛ рдпрд╣ Llama 3.2 рдЧрд╛рдЗрдб рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛/рджреЗрддреА рд╣реВрдБред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реЗрдЯрдЕрдк

рдЗрд╕ рд╣реИрдВрдбреНрд╕тАСрдСрди рдбреЗрдореЛ рдореЗрдВ рд╣рдо Llama3.2-11B-Vision рдореЙрдбрд▓ (рдорд▓реНрдЯреАрдореЛрдбрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд▓реЗрдВ рдХрд┐ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рдореМрдЬреВрдж рд╣реИрдВред

рд╕рдм рдХреБрдЫ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреБрдЫ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдЪрд╛рд╣рд┐рдПред рдореБрдЦреНрдп рдпреЗ рд╣реИрдВ:

  • Transformers: Llama 3.2 рдЬреИрд╕реЗ рдореЙрдбрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдореБрдЦреНрдп рд▓рд╛рдЗрдмреНрд░реЗрд░реАред
  • Torch: рд╣рдорд╛рд░рд╛ рдореЙрдбрд▓ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реА рдбреАрдк рд▓рд░реНрдирд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реАред
  • Gradio: рд╣рдорд╛рд░рд╛ рдпреВрдЬрд╝рд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЖрд╡рд╢реНрдпрдХ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

!pip3 install -U transformers bitsandbytes accelerate peft -q
!pip3 install gradio -q

Llama 3.2 рдореЙрдбрд▓ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдХрд░реЗрдВ

рдЕрдм Llama 3.2 рдореЙрдбрд▓ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рдХрд░реЗрдВред рд╣рдо Hugging Face рдХреА transformers рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ рддрд╛рдХрд┐ рдореЙрдбрд▓ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб рд╣реЛрдВ, рдФрд░ рдореЙрдбрд▓ GPU рдкрд░ рдЪрд▓реЗ (рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ) рд╡рд░рдирд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ CPU рдкрд░ред 11B рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╛рд▓рд╛ рдпрд╣ рдореЙрдбрд▓ Google Colab рдореЗрдВ A100 GPU рдкрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдХреЛрдб рдмреНрд▓реЙрдХ рдореЗрдВ:

  • рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдЗрдВрдкреЛрд░реНрдЯ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред
  • рд╣рдо рдореЙрдбрд▓ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░тАФрджреЛрдиреЛрдВтАФGPU рд╕рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛред рдЗрд╕рд╕реЗ рдРрдк рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЪрд▓рддрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдирд╛ рд╣реЛред
  • рдпрд╣рд╛рдБ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдХреЛрдб рд╣реИ tie_weight(), рдЬреЛ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдПрдВрдмреЗрдбрд┐рдВрдЧ рд▓реЗрдпрд░реНрд╕ рдХреЗ рд╡реЗрдЯреНрд╕ рдХреЛ рд╕рдорд╛рди рд░рдЦрддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХрдо рд╣реЛрддреА рд╣реИ рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдмреЗрд╣рддрд░ рд╣реЛ рд╕рдХрддреА рд╣реИред
import torch
from PIL import Image
import gradio as gr
from transformers import MllamaForConditionalGeneration, AutoProcessor

def load_model():
    model_id = "meta-llama/Llama-3.2-11B-Vision-Instruct"  
    device = "cuda" if torch.cuda.is_available() else "cpu"  # Check if GPU is available

    model = MllamaForConditionalGeneration.from_pretrained(
        model_id,
        torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,  
        device_map="auto",  # Automatically map to available device
        offload_folder="offload",  # Offload to disk if necessary
    )
    
    model.tie_weights()  # Tying weights for efficiency
    processor = AutoProcessor.from_pretrained(model_id)
    print(f"Model loaded on: {device}")
    
    return model, processor

Gradio рдХреНрдпреЛрдВ?

Gradio рдПрдХ рд╣рд▓реНрдХреАтАСрдлреБрд▓реНрдХреА Python рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рд╡реЗрдмтАСрдЖрдзрд╛рд░рд┐рдд рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдорд╢реАрдитАСрд▓рд░реНрдирд┐рдВрдЧ рдРрдкреНрд╕ рдЬрд▓реНрджреА рдмрдирд╛рдиреЗ рджреЗрддреА рд╣реИред рдЬрдЯрд┐рд▓ HTML рдпрд╛ JavaScript рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЕрдкрдиреЗ рдРрдк рдХреЗ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯреНрд╕ (рдЬреИрд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕, рдмрдЯрди, рдпрд╛ рдЗрдореЗрдЬ) рд╕реАрдзреЗ Python рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдмреЗрд╕рд┐рдХ Gradio UI рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

Gradio рдЗрдВрдЯрд░рдлрд╝реЗрд╕ UI

Gradio рдХреЗ рдХреБрдЫ рдлрд╛рдпрджреЗ рд╣реИрдВ:

  • рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреА рдЭрдВрдЭрдЯ рдирд╣реАрдВ: Gradio рдРрдкреНрд╕ рдХреБрдЫ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ Python рдХреЛрдб рд╕реЗ рд╣реЛрд╕реНрдЯ рдФрд░ рд╢реЗрдпрд░ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдмрд┐рд▓реНрдЯтАСрдЗрди рд╢реЗрдпрд░рд┐рдВрдЧ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд▓рд┐рдВрдХ рдХреЗ рдЬрд░рд┐рдП рдПрдХреНрд╕реЗрд╕ рджреЗрддреА рд╣реИред
  • рд╕рд╣рдпреЛрдЧреА рдЗрдВрдЯрд░рдлреЗрд╕: рдореЙрдбрд▓реНрд╕ рдХреЗ рд▓рд╛рдЗрд╡ рдбреЗрдореЛ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рддреМрд░ рдкрд░ рд╕рд╛рдЭрд╛ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╕рд╛рде рдХрдИ рдпреВрдЬрд╝рд░реНрд╕ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдХрдИ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рдХрд╛рд░ рд╕рдкреЛрд░реНрдЯ: рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬ рд╕реЗ рдЖрдЧреЗ рднреА рд╡рд┐рд╡рд┐рдз рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рдХреЙрдореНрдкреЛрдиреЗрдВрдЯреНрд╕ рджреЗрддрд╛ рд╣реИред
  • рдХреНрд▓рд╛рдЙрдб рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧреНрд░реЗрд╢рди: Hugging Face Spaces рдпрд╛ рдЕрдиреНрдп рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдбрд┐рдкреНрд▓реЙрдп рдХрд░реЗрдВред
  • рдХреНрд░реЙрд╕тАСрдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди: рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдЕрдиреНрдп рд╡реЗрдм рдРрдкреНрд╕, Jupyter Notebooks, рдпрд╛ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯреНрд╕ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • API рдСрдЯреЛтАСрдЬреЗрдирд░реЗрд╢рди: рдРрдк рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ API рдмрдирд╛рддрд╛ рд╣реИред
  • рдмрд┐рд▓реНрдЯтАСрдЗрди рд╕реБрд░рдХреНрд╖рд╛: рдлрд╛рдЗрд▓ рдЖрдХрд╛рд░ рд╕реАрдорд╛рдПрдБ рдФрд░ рдЕрдиреНрдп рдЙрдкрд╛рдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рддрд╛рдХрд┐ рджреБрд░реБрдкрдпреЛрдЧ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХреЗред

рдЗрд╕ рдбреЗрдореЛ рдХреЗ рд▓рд┐рдП, Gradio рдпреВрдЬрд╝рд░реНрд╕ рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬтАФрджреЛрдиреЛрдВтАФрдЗрдирдкреБрдЯ рдХрд░рдиреЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ (рдпрд╛рдиреА рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг) рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рд░рд▓рддрд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ Llama 3.2 рдЬреИрд╕реЗ рдореЙрдбрд▓реНрд╕ рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛тАСрдЕрдиреБрдХреВрд▓ рдорд╛рд╣реМрд▓ рдореЗрдВ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░реАрди рд╣реИред

Llama 3.2 рдорд▓реНрдЯреАрдореЛрдбрд▓ рдРрдк рдмрдирд╛рдирд╛

рдЕрдм рдЬрдмрдХрд┐ рд╣рдордиреЗ рдЗрдВрдкреЛрд░реНрдЯреНрд╕ рд╕реЗрдЯ рдХрд░ рд▓рд┐рдП рд╣реИрдВ рдФрд░ рдореЙрдбрд▓ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реЗрдЯрдЕрдк рд╣реЛ рдЪреБрдХрд╛ рд╣реИ, рдЪрд▓рд┐рдП рдРрдк рдХреЗ рдореБрдЦреНрдп рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдмрдврд╝рддреЗ рд╣реИрдВтАФрдЗрдирдкреБрдЯреНрд╕ (рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬ) рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдирд╛ рдФрд░ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЬрдирд░реЗрдЯ рдХрд░рдирд╛ред

рдЯреЗрдХреНрд╕реНрдЯтАСрдЯреВтАСрдЯреЗрдХреНрд╕реНрдЯ рдЬреЗрдирд░реЗрд╢рди

рд╣рдо рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдпреВрдЬрд╝рд░ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдЗрдореЗрдЬ рд▓реЗрддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдлрд┐рд░ Llama 3.2 рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред

def process_ticket(text, image=None):
    model, processor = load_model()
    
    try:
        if image:
            # Resize the image for consistency
            image = image.convert("RGB").resize((224, 224))
            prompt = f"<|image|><|begin_of_text|>{text}"
            # Process both the image and text input
            inputs = processor(images=[image], text=prompt, return_tensors="pt").to(model.device)
        else:
            prompt = f"<|begin_of_text|>{text}"
            # Process text-only input
            inputs = processor(text=prompt, return_tensors="pt").to(model.device)
        
        # Generate response (restrict token length for faster output)
        outputs = model.generate(**inputs, max_new_tokens=200)
        # Decode the response from tokens to text
        response = processor.decode(outputs[0], skip_special_tokens=True)
        return response
    
    except Exception as e:
        print(f"Error processing ticket: {e}")
        return "An error occurred while processing your request."

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд▓реВрдк рдХреЗ рднреАрддрд░ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдирдкреБрдЯ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ:

  • рд╕рд┐рд░реНрдлрд╝ рдЯреЗрдХреНрд╕реНрдЯ: рдпрджрд┐ рдЗрдореЗрдЬ рдирд╣реАрдВ рджреА рдЧрдИ, рддреЛ рдореЙрдбрд▓ рдЯреЗрдХреНрд╕реНрдЯ рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред
  • рдЯреЗрдХреНрд╕реНрдЯ + рдЗрдореЗрдЬ: рдпрджрд┐ рдЗрдореЗрдЬ рджреА рдЧрдИ рд╣реИ, рддреЛ рдореЙрдбрд▓ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬтАФрджреЛрдиреЛрдВтАФрдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред

рдПрдХ рдмрд╛рд░ рдЗрдирдкреБрдЯ рдкреНрд░рдХрд╛рд░ рдкрд╣рдЪрд╛рди рд▓реЗрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕реЗ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдорд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдЖрдП рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕ рд╣реЛ рд╕рдХреЗред рдлрд┐рд░ рдореЙрдбрд▓ max_new_tokens рдХреА рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рдЖрдЙрдЯрдкреБрдЯ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред

Gradio рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдирд╛

Gradio рдЗрдВрдЯрд░рдлреЗрд╕ рд╕рдм рдХреБрдЫ рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рд╡реЗрдмтАСрдЖрдзрд╛рд░рд┐рдд рдлрд╝реЙрд░реНрдореЗрдЯ рдореЗрдВ рдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдиреЗ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЗрдВрдЯрд░рдлреЗрд╕ рдпреВрдЬрд╝рд░реНрд╕ рдХреЛ рдЙрдирдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬ рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдФрд░ AIтАСрдЬрдирд┐рдд рд╕рдорд╛рдзрд╛рди рджреЗрдЦрдиреЗ рджреЗрддрд╛ рд╣реИред

рдХреЛрдб рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╕рдордЭрд╛рддреЗ рд╣реИрдВред

def create_interface():
    text_input = gr.Textbox(
        label="Describe your issue",
        placeholder="Describe the problem you're experiencing",
        lines=4,
    )
    
    image_input = gr.Image(label="Upload a Screenshot (Optional)", type="pil")
    
    # Output element
    output = gr.Textbox(label="Suggested Solution", lines=5)
    
    # Create the Gradio interface
    interface = gr.Interface(
        fn=process_ticket,  # Function to process inputs
        inputs=[text_input, image_input],  # User inputs (text and image)
        outputs=output,  # AI-generated output
        title="Multimodal Customer Support Assistant",
        description="Submit a description of your issue, along with an optional screenshot, and get AI-powered suggestions.",
    )
    
    # Launch the interface with debug mode
    interface.launch(debug=True)

рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдореЗрдВ, рд╣рдо:

  • рджреЛ рдЗрдирдкреБрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
    • text_input рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд▓рд┐рдП
    • image_input рдЗрдореЗрдЬ рдХреЗ рд▓рд┐рдП
  • рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдЙрдЯрдкреБрдЯ рдмреЙрдХреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
  • рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рдореНрди рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ:
    • рдЗрдирдкреБрдЯреНрд╕
    • рдЗрдирдкреБрдЯ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдлрд╝рдВрдХреНрд╢рди
    • рдореЙрдбрд▓ рд╕реЗ рдЬрдирд░реЗрдЯ рд╣реБрдЖ рдЖрдЙрдЯрдкреБрдЯ
    • рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рд╢реАрд░реНрд╖рдХ
    • рд╡рд┐рд╡рд░рдг (рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ)
  • рдмреЗрд╕рд┐рдХ рдпреВрдЬрд╝рд░ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗрдЯрдЕрдк рдХрд░рддреЗ рд╣реИрдВред
  • рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП debug = True рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдлреЗрд╕ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВред рдХреЛрдб рд╕рд╣реА рдЪрд▓рдиреЗ рд▓рдЧреЗ рддреЛ рдЗрд╕реЗ False рдХрд░ рджреЗрдВред

рдЕрдВрддрд┐рдо рдЗрдВрдЯрд░рдлреЗрд╕ рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:

рдЕрдВрддрд┐рдо Gradio рдЗрдВрдЯрд░рдлрд╝реЗрд╕

рд╣рдорд╛рд░рд╛ рдорд▓реНрдЯреАрдореЛрдбрд▓ рдХрд╕реНрдЯрдорд░ рд╕рдкреЛрд░реНрдЯ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрдЯ Gradio рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддреИрдпрд╛рд░ рд╣реИ! рдордирдЪрд╛рд╣рд╛ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП max_new_tokens рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдХрд░ рджреЗрдЦреЗрдВ рдпрд╛ рдкреНрд░реЙрдореНрдкреНрдЯ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред

Llama 3.2 рдФрд░ Gradio рдХреЗ рдЙрдкрдпреЛрдЧтАСрдорд╛рдорд▓реЗ

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдбреЗрдореЛ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧтАСрдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рд▓рдЧрддрд╛ рд╣реИред рдЗрдирдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

  • рд╢рд┐рдХреНрд╖рд╛ рдФрд░ рдЯреНрдпреВрдЯрд░рд┐рдВрдЧ: рдЫрд╛рддреНрд░ рдЕрдкрдиреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЧреНрд░рд╛рдлрд╝ рдпрд╛ рдбрд╛рдпрдЧреНрд░рд╛рдо рдЬреИрд╕реА рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕рд╛рдордЧреНрд░реА рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдореЙрдбрд▓ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╡ рдЯреЗрдХреНрд╕реНрдЯтАФрджреЛрдиреЛрдВтАФрдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдорд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реБрдП рд╡реНрдпрд╛рдкрдХ рдЙрддреНрддрд░ рдЬрдирд░реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  • рдХреЙрдиреНрдЯреЗрдВрдЯ рдХреНрд░рд┐рдПрд╢рди: рдЗрдореЗрдЬ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рдЬрдирд░реЗрдЯ рдХрд░рдХреЗ рдХреИрдкреНрд╢рдиреНрд╕, рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯреНрд╕ рдФрд░ рд╕реЛрд╢рд▓ рдореАрдбрд┐рдпрд╛ рдХреЙрдиреНрдЯреЗрдВрдЯ рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рдХрд░реЗрдВред
  • рд░рд┐рдпрд▓ рдПрд╕реНрдЯреЗрдЯ рд╡рд░реНрдЪреБрдЕрд▓ рдЕрд╕рд┐рд╕реНрдЯреЗрдВрд╕: рдкреНрд░реЙрдкрд░реНрдЯреА рдЗрдореЗрдЬреЗрд╕ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░ рдПрдЬреЗрдВрдЯреНрд╕ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯреНрд╕ рдХреА рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рджреЗрдХрд░ рдорджрдж рдХрд░реЗрдВред рдкреНрд░реЙрдкрд░реНрдЯреА рд╡рд┐рд╡рд░рдг рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ рдпрд╛ рдлрд╝реЛрдЯреЛ рд╕реЗ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдбрд┐рдЯреЗрд▓реНрд╕ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВред

Llama 3.2 рдФрд░ Gradio рдХреЗ рд╕рд╛рде рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рдЕрднреНрдпрд╛рд╕

рд╣рд░ рдЙрдкрдпреЛрдЧтАСрдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЛрдИ рднреА рдбреЗрд╡рд▓рдкрд░ рд╣рдорд╛рд░реЗ рдЬреИрд╕реЗ рдРрдк рдмрдирд╛рддреЗ рд╕рдордп рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рдмреЗрд╣рддрд░реАрди рдЕрднреНрдпрд╛рд╕ рджрд┐рдП рдЧрдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдбреЗрд╡рд▓рдкрд░ llama3.2 рдЬреИрд╕реЗ рдореЙрдбрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдЯреЗрдВрд╕реА рд╕рдВрднрд╛рд▓рдирд╛

рдЪреВрдБрдХрд┐ рдорд▓реНрдЯреАрдореЛрдбрд▓ рдЯрд╛рд╕реНрдХреНрд╕ рд╕рдВрд╕рд╛рдзрдитАСрдЧрд╣рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдЯреЗрдВрд╕реА рдХрдо рдХрд░рдирд╛ рдЕрд╣рдо рд╣реИред рдХреИрд╢рд┐рдВрдЧ, рдореЙрдбрд▓ рдкреНрд░реВрдирд┐рдВрдЧ, рдпрд╛ рдЬрдирд░реЗрдЯ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЯреЛрдХрдиреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рдХрд░рдХреЗ рдореЙрдбрд▓ рдХреЛ рддреЗрдЬрд╝ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ

рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЬрд╣рд╛рдБ рдореЙрдбрд▓ рд╕рд╛рд░реНрдердХ рдЙрддреНрддрд░ рджреЗрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛ (рдЬреИрд╕реЗ, рдХрдо рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реА рдЗрдореЗрдЬ рдХреЗ рдХрд╛рд░рдг), рд╡рд╣рд╛рдБ рдлреЙрд▓рдмреИрдХ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдпрд╛ рдПрд░рд░ рд╕рдВрджреЗрд╢ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдПрдБред рд╣рдо рдорд╛рдирд╡ рдлреАрдбрдмреИрдХ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рднреА рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдореЙрдбрд▓ рдХреЛ рдмреЗрд╣рддрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ

рдРрдк рдХреА рдкрд░рдлреЙрд░реНрдореЗрдВрд╕тАФрдЬреИрд╕реЗ рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЯрд╛рдЗрдо рдФрд░ рдпреВрдЬрд╝рд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдбреЗрдЯрд╛тАФрдХреЛ рдЯреНрд░реИрдХ рдХрд░рдирд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рдпреВрдЬрд╝рд░ рдЕрдиреБрднрд╡ рд╕реБрдзрд╛рд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЯрд╛рдЗрдо рдХреЛ рдиреЛрдЯ рдХрд░рдХреЗ, рд╣рдо bits and bytes рдЬреИрд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рд╕реЗ рдореЙрдбрд▓ рд▓реЗрдЯреЗрдВрд╕реА рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

рдЗрд╕ рдЧрд╛рдЗрдб рдореЗрдВ, рд╣рдордиреЗ Llama 3.2 рдХреА рдорд▓реНрдЯреАрдореЛрдбрд▓ рдХреНрд╖рдорддрд╛рдУрдВ рдФрд░ Gradio рдХреЗ рд╕рд╣рдЬ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕реАрдЦрд╛ред рдХрд╕реНрдЯрдорд░ рд╕рдкреЛрд░реНрдЯ рд╕реЗ рд▓реЗрдХрд░ рд╢рд┐рдХреНрд╖рд╛ рдФрд░ рдХреЙрдиреНрдЯреЗрдВрдЯ рдХреНрд░рд┐рдПрд╢рди рддрдХ, рд╕рдВрднрд╛рд╡рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рд╡реНрдпрд╛рдкрдХ рдФрд░ рд╡рд┐рд╡рд┐рдз рд╣реИрдВред

рд▓реЗрдЯреЗрдВрд╕реА рдореИрдиреЗрдЬрдореЗрдВрдЯ, рдПрд░рд░ рд╣реИрдВрдбрд▓рд┐рдВрдЧ, рдФрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЬреИрд╕реЗ рдмреЗрд╣рддрд░реАрди рдЕрднреНрдпрд╛рд╕реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдХреЗ, рд╣рдо рдЕрдкрдиреЗ Llama 3.2 рдФрд░ Gradio рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдХреЛ рдордЬрд╝рдмреВрдд, рдХреБрд╢рд▓ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛тАСрдЕрдиреБрдХреВрд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдпреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓реНрд╕ рд╕реБрдЭрд╛рддрд╛/рд╕реБрдЭрд╛рддреА рд╣реВрдБ:

Aashi Dutt

рд▓реЗрдЦрдХ

Aashi Dutt

рдореИрдВ рдПрдордПрд▓ (Gen AI) рдореЗрдВ Google Developers Expert, Kaggle 3x Expert, рдФрд░ Women Techmakers рдПрдВрдмреЗрд╕рдбрд░ рд╣реВрдБ, рддрдерд╛ рддрдХрдиреАрдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ 3+ рд╡рд░реНрд╖реЛрдВ рдХрд╛ рдЕрдиреБрднрд╡ рд░рдЦрддреА рд╣реВрдБред рдореИрдВрдиреЗ 2020 рдореЗрдВ рдПрдХ рд╣реЗрд▓реНрде-рдЯреЗрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреА рд╕рд╣-рд╕реНрдерд╛рдкрдирд╛ рдХреА рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ Georgia Tech рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдХрд░ рд░рд╣реА рд╣реВрдБ, рдЬрд┐рд╕рдореЗрдВ рдореЗрд░рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрддрд╛ рдХреНрд╖реЗрддреНрд░ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд╣реИред

рд╡рд┐рд╖рдп