-
Notifications
You must be signed in to change notification settings - Fork 0
/
neural_network_analyzer.py
61 lines (48 loc) · 1.89 KB
/
neural_network_analyzer.py
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
import requests
import pandas as pd
from config import get_api_key
import streamlit as st
def analyze_data(data, title, x_axis_label, y_axis_label):
"""
Envia dados e informações do gráfico para análise da I.A..
Parâmetros:
data (pd.DataFrame): Dados filtrados.
title (str): Título do gráfico.
x_axis_label (str): Rótulo do eixo X.
y_axis_label (str): Rótulo do eixo Y.
Retorna:
str: Análise gerada pela I.A..
"""
api_key = get_api_key()
if not api_key:
raise ValueError("Chave API não configurada. Por favor, configure a chave API na barra lateral.")
# Definir a URL da API da NNeural
nneural_url = "https://api.nneural.io/analyze"
data_csv = data.to_csv(index=False)
payload = {
"title": title,
"x_axis_label": x_axis_label,
"y_axis_label": y_axis_label,
"data": data_csv
}
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.post(nneural_url, json=payload, headers=headers)
if response.status_code != 200:
raise ValueError(f"Erro na requisição para a API da NNeural: {response.text}")
return response.json().get("analysis", "Nenhuma análise disponível")
# Exemplo de uso
if __name__ == "__main__":
# Supondo que o Streamlit seja usado para capturar os dados e chamar a função
st.title("Análise de Dados com NNeural")
uploaded_file = st.file_uploader("Escolha um arquivo CSV", type="csv")
if uploaded_file is not None:
data = pd.read_csv(uploaded_file)
title = st.text_input("Título do Gráfico")
x_axis_label = st.text_input("Rótulo do Eixo X")
y_axis_label = st.text_input("Rótulo do Eixo Y")
if st.button("Analisar"):
analysis = analyze_data(data, title, x_axis_label, y_axis_label)
st.write(analysis)