File size: 3,953 Bytes
6756892
daaf146
 
12326ed
7d05081
5417c06
7118e1c
b476ae0
 
7d05081
45ae199
daaf146
067d940
 
aac615e
067d940
d83aa35
 
7d05081
daaf146
067d940
7c4c147
d56b69d
12c0550
 
 
 
 
 
 
 
 
 
591058c
 
d56b69d
3f375cd
d56b69d
 
1238834
d56b69d
45ae199
1238834
067d940
aac615e
 
daaf146
2ffa216
 
067d940
daaf146
 
 
 
 
 
 
 
4232196
d66e9c7
067d940
 
aac615e
 
 
 
5417c06
aac615e
067d940
d56b69d
067d940
 
aac615e
45ae199
 
 
 
 
 
2ffa216
 
 
12326ed
2ffa216
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
import streamlit as st
from pydantic_ai import Agent
from pydantic_ai.models.groq import GroqModel
import nest_asyncio
import random
import planet_model as customModel
from typing import List, Dict


random_number = random.randint(3000, 10000)

model = GroqModel('llama-3.1-70b-versatile', api_key='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')


async def onClick(vacationType,familyType,duration,purpose,interests):
    agent = Agent(model,system_prompt=(
    "You are a highly advanced travel agent specializing in intergalactic vacations",
    "Planet Name: A creative, fictional planet name.",
    f"imagine the year is {random_number} and space travel is normal", 
    "Mankind has discovered aliens some are more advance then us some are not",
    "You are a travel agent and depending on the" + vacationType +"you will list down some destinations",
    "Also answer based on "+familyType+ "," + duration +","+purpose + "and"+interests,
    "Be creative made-up different kinds of planets, aliens, atmosphere",
    "Draw inspiration from sources like No Man’s Sky, Hitchhiker’s Guide to the Galaxy, and original creative ideas. Be imaginative, and ensure variety in your suggestions to cater to different tastes.",
    "Cosmic Myths: Stories from Norse (Yggdrasil), Hindu (Churning of the Ocean), or Aboriginal (Dreamtime) traditions.",
    "Alien Archetypes: Trickster gods, celestial guardians, or ancient interstellar ruins.",
    "Astrobiology: Speculate on alien life forms based on real theories (e.g., extremophiles or silicon-based life).",
    "Physics: Use concepts like wormholes, Dyson spheres, or FTL (faster-than-light) travel.",
    "Exoplanet Studies: Real planets discovered by NASA or ESA (e.g., TRAPPIST-1 system).",
    "Utopian/Dystopian Visions: Consider societal structures from Brave New World or 1984.",
    "Cultural Exchange: Speculate on how humans and aliens might interact, inspired by Arrival.",
    "Music: Cosmic and futuristic soundscapes from artists like Vangelis (Blade Runner soundtrack) or Daft Punk (Tron soundtrack).",
    "Visual Arts: Imagery from H.R. Giger (Alien) or Moebius (The Incal).",
    "Graphic Novels: Saga, Transmetropolitan.",
    "Give alteast 5 destinations"
    ),
    #result_type = List[customModel.TravelAgency]
    )
    result_1 = agent.run_sync(user_prompt="for space travel which planet is the best")
    result = result_1
    st.caption(result.data)
    print(result_1)
    
    
def asyncOnClick(vacationType,familyType,duration,purpose,interests):
    asyncio.run(onClick(vacationType,familyType,duration,purpose,interests))

async def main():

    #result_1 = agent.run_sync("for space travel which planet is the best")
##The Zorvath


#print(result_1.data)

#result_2 = agent.run_sync("What are the major tourust attraction in planet The Zorvath",message_history=result_1.new_messages())

#print(result_2.data)
    

    #st.markdown(result_1.data)
    #st.button(label="Search",type="primary",on_click=onClick)
    st.subheader("Travel Preferences")
    vacationType = st.selectbox(label="Travel Style",options=("Budget","Mid-budget","High-end"))
    family = st.selectbox(label="Group Size",options=("Solo","Small family","Large family","Destination weeding"))
    duration = st.selectbox(label="Duration of Trip",options=("5 days","2 weeks","1 month","more then 1 month"))
    purpose = st.selectbox(label="Purpose of Travel",options=("Honeymoon","anniversary","family vacation","corporate retreat","vacation","Food tour"))
    interests = st.selectbox(label="Special Interestl",options=("Photography","gastronomy","wildlife","art"))

   

    if st.button("Search"):
        asyncOnClick(vacationType,family,duration,purpose,interests)
        vacationType = ""
        family = ""
        duration = ""
        purpose = ""
        interests = ""
        

if __name__ == '__main__':
    import asyncio
    nest_asyncio.apply()
    asyncio.run(main())