import requests
from bs4 import BeautifulSoup
from transformers import AutoTokenizer, AutoModelForCausalLM

# Fetching the web page
def fetch_web_page(url):
    response = requests.get(url)
    response.raise_for_status()
    return response.text

# Extracting text
def extract_text(html):
    soup = BeautifulSoup(html, 'html.parser')
    paragraphs = soup.find_all('p')
    return "\n".join(paragraph.get_text() for paragraph in paragraphs)

# Summarizing text with LLaMA 2
def summarize_text(text):
    inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
    outputs = model.generate(**inputs, max_length=500)
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# Load model and tokenizer
model_name = "meta-llama/Llama-3.2-11B-Vision-Instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name,device_map="auto", torch_dtype="auto")

# URL to read
url = "https://www.aveda.co.uk/product/20192/87258/hair-care/all-hair-care/shampowder-dry-shampoo?size=56_g"
html_content = fetch_web_page(url)
text_content = extract_text(html_content)
summary = summarize_text(text_content)
print("Summary:", summary)
