Spaces:
Sleeping
Sleeping
File size: 2,064 Bytes
e1a53b6 304ffc8 e1a53b6 3eea98c 304ffc8 e1a53b6 304ffc8 e1a53b6 304ffc8 e1a53b6 304ffc8 e1a53b6 6a2930d 65097ed e1a53b6 289b1cb e1a53b6 289b1cb 304ffc8 e1a53b6 6720791 e1a53b6 6720791 e1a53b6 289b1cb 6a2930d 289b1cb e1a53b6 289b1cb e1a53b6 289b1cb e1a53b6 289b1cb e1a53b6 |
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 |
# Generic
import os
import keyfile
import streamlit as st
import warnings
# Add this import at the beginning of your code
from pydantic import BaseModel
warnings.filterwarnings("ignore")
# Langchain Packages
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain.schema import HumanMessage, SystemMessage, AIMessage
from pydantic import BaseModel # Import BaseModel
# First message that will pop on the screen
st.set_page_config(page_title="Magical Healer")
st.header("Welcome, How can I help you?")
# Define the AIMessage class
class AIMessage(BaseModel):
content: str
if "sessionMessages" not in st.session_state:
st.session_state["sessionMessages"] = []
# General Instruction
if "sessionMessages" not in st.session_state:
st.session_state.sessionMessage = [
SystemMessage(content="You are a medievel magical healer known for your peculiar sarcasm")
]
# Configure the key
os.environ["GOOGLE_API_KEY"] = keyfile.GOOGLEKEY
# Create the model
llm = ChatGoogleGenerativeAI(
model="gemini-1.5-pro",
temperature=0.7,
convert_system_message_to_human=True
)
# User message
def load_answer(question):
st.session_state.sessionMessages.append(HumanMessage(content=question))
assistant_response = llm.invoke(st.session_state.sessionMessages)
# Assuming assistant_response is an object with a 'content' attribute
if hasattr(assistant_response, 'content') and isinstance(assistant_response.content, str):
processed_content = assistant_response.content
st.session_state.sessionMessages.append(AIMessage(content=processed_content))
else:
st.error("Invalid response received from AI.")
processed_content = "Sorry, I couldn't process your request."
return processed_content
# Get user input
def get_text():
input_text = st.text_input("You: ", key="input")
return input_text
# Implementing
user_input = get_text()
submit = st.button("Generate")
if submit:
resp = load_answer(user_input)
st.subheader("Answer:")
st.write(resp, key=1)
|