Spaces:
Build error
Build error
| import streamlit as st | |
| import openai | |
| from serpapi import GoogleSearch | |
| # Set up your OpenAI API key | |
| openai.api_key = "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" | |
| # Define a function to search images using GoogleSearch API | |
| def search_images(query): | |
| params = { | |
| "engine": "google", | |
| "tbm": "isch", | |
| "q": query, | |
| "api_key": "bebb5ff17b2faddf1eec1636ac6dc093d1892da946c28df6a41c3425f09bb4a3" | |
| } | |
| search = GoogleSearch(params) | |
| data = search.get_dict() | |
| if data.get('search_metadata').get('status') == 'Success': | |
| results = data.get('images_results') | |
| if results: | |
| images = [] | |
| for result in results: | |
| images.append(result['original']) | |
| return images[:10] | |
| else: | |
| return "No results found." | |
| else: | |
| return "Search failed. Please try again later." | |
| # Define a function to generate a response to a given question using OpenAI | |
| def generate_response(question): | |
| response = openai.Completion.create( | |
| engine="text-davinci-002", | |
| prompt=question, | |
| temperature=0.5, | |
| max_tokens=1024, | |
| n=1, | |
| stop=None, | |
| ) | |
| message = response.choices[0].text.strip() | |
| return message | |
| # Set up the Streamlit app | |
| st.title("Welcome to Tourism AI Chatbot") | |
| st.write("Please enter your tourism related query below:") | |
| # Get user input and generate response | |
| query = st.text_area("Your question here") | |
| if st.button("Get Answer"): | |
| response = generate_response(query) | |
| st.write(response) | |
| # Set up the Streamlit app for image search | |
| st.title("Image Search for tourist places") | |
| st.write("Please enter your search query below:") | |
| # Get user input and display image results | |
| query = st.text_input("Search images here") | |
| if st.button("Search"): | |
| images = search_images(query) | |
| if type(images) == str: | |
| st.write(images) | |
| else: | |
| for image in images: | |
| st.image(image, use_column_width=True) | |