noddysnots's picture
Update app.py
2f23ac1 verified
raw
history blame
1.72 kB
import gradio as gr
from transformers import pipeline
# πŸ”Ή Load Qwen2.5-14B-Instruct-1M with a pipeline
pipe = pipeline("text-generation", model="Qwen/Qwen2.5-14B-Instruct-1M")
# 🎯 Function to extract interests from user input
def extract_interests(text):
prompt = f"Extract 3-5 relevant interests from this request: '{text}'. Focus on hobbies and product preferences."
response = pipe(prompt, max_length=50, num_return_sequences=1)
interests = response[0]["generated_text"].replace(prompt, "").strip()
return interests.split(", ")
# 🎁 Web search for gift suggestions
def search_gifts(interests):
query = "+".join(interests)
amazon_url = f"https://www.amazon.in/s?k={query}"
flipkart_url = f"https://www.flipkart.com/search?q={query}"
igp_url = f"https://www.igp.com/search?q={query}"
indiamart_url = f"https://dir.indiamart.com/search.mp?ss={query}"
return {
"Amazon": amazon_url,
"Flipkart": flipkart_url,
"IGP": igp_url,
"IndiaMart": indiamart_url
}
# 🎯 Main function for gift recommendation
def recommend_gifts(text):
if not text:
return "Please enter a description."
interests = extract_interests(text)
links = search_gifts(interests)
return {
"Predicted Interests": interests,
"Gift Suggestions": links
}
# 🎨 Gradio UI for easy interaction
demo = gr.Interface(
fn=recommend_gifts,
inputs="text",
outputs="json",
title="🎁 AI Gift Recommender",
description="Enter details about the person you are buying a gift for, and get personalized suggestions with shopping links!",
)
# πŸš€ Launch Gradio App
if __name__ == "__main__":
demo.launch()