dauid64 commited on
Commit
1bbef28
·
1 Parent(s): 3db6c6f

personalizando interface

Browse files
Files changed (3) hide show
  1. .streamlit/config.toml +5 -0
  2. app.py +10 -14
  3. assets/logo-lamfo.png +0 -0
.streamlit/config.toml ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ [theme]
2
+ backgroundColor="#e3e3ec"
3
+ secondaryBackgroundColor="#4a4949"
4
+ textColor="#071b52"
5
+ font="serif"
app.py CHANGED
@@ -2,37 +2,30 @@ import os
2
  from dotenv import load_dotenv
3
  from langchain_openai import OpenAIEmbeddings
4
  from langchain_core.prompts import PromptTemplate
5
- from langchain_core.messages import SystemMessage
6
  from langchain_qdrant import QdrantVectorStore
7
  from langchain_openai import ChatOpenAI
8
  import streamlit as st
9
 
10
  load_dotenv(dotenv_path=".env", override=True)
11
 
 
12
  base_prompt_content = open("./prompts/base.md").read()
13
-
14
  base_prompt = PromptTemplate.from_template(base_prompt_content)
15
-
16
- if "messages_for_ia" not in st.session_state:
17
- st.session_state.messages_for_ia = [
18
  {
19
  "role": "system",
20
  "content": "Você é um assistente de pesquisa que ajuda a encontrar informações sobre proteomica"
21
  }
22
  ]
23
-
24
  if "messages" not in st.session_state:
25
  st.session_state.messages = []
26
-
27
  for message in st.session_state.messages:
28
  if message["role"] != "system":
29
  with st.chat_message(message["role"]):
30
  st.markdown(message["content"])
31
-
32
  model = ChatOpenAI(model="gpt-4o-mini", api_key=os.getenv('OPENAI_KEY'))
33
-
34
  embeddings = OpenAIEmbeddings(model="text-embedding-3-large", api_key=os.getenv('OPENAI_KEY'))
35
-
36
  vector_store = QdrantVectorStore.from_existing_collection(
37
  url=os.getenv('QDRANT_URL'),
38
  api_key=os.getenv('QDRANT_KEY'),
@@ -40,7 +33,10 @@ vector_store = QdrantVectorStore.from_existing_collection(
40
  collection_name='proteomica',
41
  )
42
 
43
- input = st.chat_input("Digite sua pergunta:")
 
 
 
44
 
45
  if input:
46
  st.chat_message("user").markdown(input)
@@ -59,9 +55,9 @@ if input:
59
 
60
  prompt = base_prompt.format(context=documentos_json, question=input)
61
 
62
- st.session_state.messages_for_ia.append({"role": "assistant", "content": prompt})
63
 
64
- resposta = model.invoke(st.session_state.messages_for_ia)
65
  st.session_state.messages.append({"role": "assistant", "content": resposta.content})
66
- st.session_state.messages_for_ia.append({"role": "assistant", "content": resposta.content})
67
  st.chat_message("assistant").markdown(resposta.content)
 
2
  from dotenv import load_dotenv
3
  from langchain_openai import OpenAIEmbeddings
4
  from langchain_core.prompts import PromptTemplate
 
5
  from langchain_qdrant import QdrantVectorStore
6
  from langchain_openai import ChatOpenAI
7
  import streamlit as st
8
 
9
  load_dotenv(dotenv_path=".env", override=True)
10
 
11
+ # Configuração ChatBot
12
  base_prompt_content = open("./prompts/base.md").read()
 
13
  base_prompt = PromptTemplate.from_template(base_prompt_content)
14
+ if "messages_for_model" not in st.session_state:
15
+ st.session_state.messages_for_model = [
 
16
  {
17
  "role": "system",
18
  "content": "Você é um assistente de pesquisa que ajuda a encontrar informações sobre proteomica"
19
  }
20
  ]
 
21
  if "messages" not in st.session_state:
22
  st.session_state.messages = []
 
23
  for message in st.session_state.messages:
24
  if message["role"] != "system":
25
  with st.chat_message(message["role"]):
26
  st.markdown(message["content"])
 
27
  model = ChatOpenAI(model="gpt-4o-mini", api_key=os.getenv('OPENAI_KEY'))
 
28
  embeddings = OpenAIEmbeddings(model="text-embedding-3-large", api_key=os.getenv('OPENAI_KEY'))
 
29
  vector_store = QdrantVectorStore.from_existing_collection(
30
  url=os.getenv('QDRANT_URL'),
31
  api_key=os.getenv('QDRANT_KEY'),
 
33
  collection_name='proteomica',
34
  )
35
 
36
+ # Interface do ChatBot
37
+ st.title('Chat LAMFO x Proteomica')
38
+ st.logo('./assets/logo-lamfo.png', size='large')
39
+ input = st.chat_input("Digite sua pergunta")
40
 
41
  if input:
42
  st.chat_message("user").markdown(input)
 
55
 
56
  prompt = base_prompt.format(context=documentos_json, question=input)
57
 
58
+ st.session_state.messages_for_model.append({"role": "assistant", "content": prompt})
59
 
60
+ resposta = model.invoke(st.session_state.messages_for_model)
61
  st.session_state.messages.append({"role": "assistant", "content": resposta.content})
62
+ st.session_state.messages_for_model.append({"role": "assistant", "content": resposta.content})
63
  st.chat_message("assistant").markdown(resposta.content)
assets/logo-lamfo.png ADDED