gnosticdev's picture
Update app.py
db13793 verified
raw
history blame
4.27 kB
if selected == "System Prompt":
st.title("Configuraci贸n del System Prompt")
new_system_prompt = st.text_area(
"Ingresa las instrucciones para el AI (System Prompt)",
value=st.session_state.system_prompt,
height=300,
help="Escribe aqu铆 las instrucciones que definir谩n el comportamiento del AI"
)
# Campo para ingresar URLs
urls_input = st.text_area(
"Ingresa URLs de informaci贸n y documentos (separadas por comas)",
value=st.session_state.get('cookie_urls', ""),
height=100,
help="Escribe aqu铆 las URLs que el AI puede usar como referencia, separadas por comas."
)
if st.button("Guardar System Prompt y URLs"):
st.session_state.system_prompt = new_system_prompt
st.session_state.cookie_system_prompt = new_system_prompt
st.session_state.cookie_urls = urls_input.split(",") # Guardar las URLs en una lista
if "chat_session" in st.session_state:
del st.session_state.chat_session
st.success("System Prompt y URLs actualizados con 茅xito!")
if st.session_state.system_prompt:
st.markdown("### System Prompt Actual:")
st.info(st.session_state.system_prompt)
if st.session_state.get('cookie_urls'):
st.markdown("### URLs Guardadas:")
st.info(", ".join(st.session_state.cookie_urls))
elif selected == "Chatbot":
model = load_gemini_pro()
# Inicializar o cargar sesi贸n de chat
if "chat_session" not in st.session_state:
loaded_chat = load_chat_history()
if loaded_chat:
st.session_state.chat_session = loaded_chat
else:
st.session_state.chat_session = model.start_chat(history=[])
if st.session_state.system_prompt:
st.session_state.chat_session.send_message(st.session_state.system_prompt)
st.title("Gnosticdev Chatbot")
if st.session_state.system_prompt:
with st.expander("Ver System Prompt actual"):
st.info(st.session_state.system_prompt)
# Mostrar historial
for message in st.session_state.chat_session.history:
with st.chat_message(translate_role_to_streamlit(message.role)):
st.markdown(message.parts[0].text)
# Campo de entrada
user_prompt = st.chat_input("Preguntame algo...")
if user_prompt:
st.chat_message("user").markdown(user_prompt)
# Aqu铆 es donde puedes modificar la l贸gica para que el bot consulte las URLs
urls = st.session_state.get('cookie_urls', [])
if urls:
# L贸gica para consultar las URLs y obtener informaci贸n
# Esto es un ejemplo, necesitar谩s implementar la l贸gica real para hacer las solicitudes HTTP
for url in urls:
# Aqu铆 podr铆as hacer una solicitud HTTP a cada URL y procesar la respuesta
# Por ejemplo, usando requests.get(url) y luego analizando el contenido
pass
gemini_response = st.session_state.chat_session.send_message(user_prompt)
with st.chat_message("assistant"):
st.markdown(gemini_response.text)
# Guardar historial actualizado
save_chat_history(st.session_state.chat_session.history)
# Opci贸n para descargar el historial del chat
if st.button("Descargar Historial del Chat"):
chat_history = download_chat_history(st.session_state.chat_session.history)
st.download_button(
label="Descargar",
data=chat_history,
file_name="historial_chat.txt",
mime="text/plain"
)
elif selected == "Image Captioning":
st.title("Image Caption Generation馃摳")
upload_image = st.file_uploader("Upload an image...", type=["jpg", "jpeg", "png"])
if upload_image and st.button("Generate"):
image = Image.open(upload_image)
col1, col2 = st.columns(2)
with col1:
st.image(image, caption="Uploaded Image", use_column_width=True)
default_prompt = "Write a caption for this image"
caption = gemini_pro_vision_responce(default_prompt, image)
with col2:
st.info(caption)
# Fin del script