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()