Spaces:
Runtime error
Runtime error
File size: 3,420 Bytes
b264622 bf47ce6 6186e20 d0407f9 bf47ce6 47ab876 bf47ce6 d0407f9 ff6c2c1 c44c1cb ff6c2c1 c44c1cb d78882f 0b1b639 d6c9fac 0b1b639 4ae12f3 c44c1cb 2897af9 c44c1cb ff6c2c1 c44c1cb 0b1b639 6186e20 c44c1cb | 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 86 87 88 89 | import streamlit as st
import pathlib
import textwrap
import requests
import google.generativeai as genai
import json
from frame_gen import gen_movie
import os
# VIDEO_URL = "https://example.com/not-youtube.mp4"
# st.video(VIDEO_URL)
# print(str(title))
# print(lyrics)
# print(genre)
st.set_page_config(page_title="NutriMentor", page_icon=":robot:")
st.header("NutriMentor")
if "generated" not in st.session_state:
st.session_state["generated"] = []
if "past" not in st.session_state:
st.session_state["past"] = []
if "messages" not in st.session_state:
st.session_state["messages"] = []
init_alr = False
def init_model(user_input):
os.environ["API_KEY"] = "AIzaSyCADQk7KaP90mSKslhtEC3qRjyeUVxBkvI"
genai.configure(api_key=os.environ.get("API_KEY"))
model = genai.GenerativeModel('gemini-pro')
userInput = user_input #"Give me an afrofunk beat along with a cool melody and catchy drums, along with an opera style"
prompt = userInput + ". Output ONLY the specific music genre that the user would like that fits their requirements, with no excess words. Simply the genre, NO APOSTROPHES. If required, add more than one genre to best fit the user's prompt by adding a comma and space and a another genre. Desired Output: <all_lowercase_comma_separated_genres>"
response = model.generate_content(prompt)
genre = response.text
userInput = "Genre: " + genre + ". Generate lyrics that would best fit into the required genre. The lyrics should not be about the genre, but would best fit into the genre. Generate around 1 minutes worth of lyrics. Separate verses using [Verse #] and NO APOSTROPHES AT ALL. If you must use them, please remove them from the word, even if it mispells the word. Desired Format: <seperate_each_verse_no_asteriks_or_apostrophes>"
response = model.generate_content(userInput)
lyrics = response.text
lyricInput = "Lyrics: " + lyrics + ". Based upon the following lyrics, please generate a title for this song. Desired Format: <title_case_without_genre>"
response = model.generate_content(lyricInput)
userInput = "Lyrics: " + lyrics + ". Split the following lyrics into ONLY 10 slices with each slice enhanced to describe a music video. You may slightlly alter the lyrics to best cater to this requirment. Each section is separated by a |. Use only 10 |'s. Delete ALL \n characters and Verse seperators as well. Desired Output: <|_separated>"
response = model.generate_content(userInput)
sepTen = response.text
whollySplit = sepTen.split("|")
#Add code for list of frame
#call separate script for frame generation
#gen_movie(whollySplit[:10])
#call webscraping script
return genre
#st_callback = StreamlitCallbackHandler(st.container())
if prompt := st.chat_input():
st.chat_message("user").write(prompt)
with st.chat_message("assistant"):
#st_callback = StreamlitCallbackHandler(st.container())
if init_alr == False:
init_alr = True
genre = init_model(prompt)
#Call query generator with text_input
#query = prompty(date_input, prompt)
#result = qa({"query": query})
st.write('Based on the interesting description you have provided, we will generate a ' + genre + ' music experience for you:')
st.video('combined_video.mp4')
st.stop()
|