Spaces:
Running
Running
File size: 1,722 Bytes
aeeed0b 2f23ac1 1e69485 2f23ac1 48bf064 2f23ac1 3f2c2f8 48bf064 2f23ac1 48bf064 2f23ac1 6ed4917 47b24d6 df9ff98 3f2c2f8 df9ff98 48bf064 df9ff98 91e1ca4 48bf064 91e1ca4 df9ff98 aeeed0b 2f23ac1 6ed4917 aeeed0b 2f23ac1 aeeed0b 2f23ac1 47b24d6 91e1ca4 aeeed0b 91e1ca4 aeeed0b |
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
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()
|