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 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." ), result_type = customModel.Planet ) 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())