Spaces:
Running
Running
Create app.py
Browse files
app.py
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
from transformers import pipeline
|
3 |
+
import requests
|
4 |
+
from flask import Flask, jsonify, request
|
5 |
+
|
6 |
+
|
7 |
+
app = Flask(__name__)
|
8 |
+
@app.route('/compararnoticias', methods=['POST'])
|
9 |
+
def get_crypto_news_compare():
|
10 |
+
|
11 |
+
fulfillment_text = ""
|
12 |
+
pipe = pipeline('sentiment-analysis')
|
13 |
+
# Realizar la solicitud a la API
|
14 |
+
req = request.get_json()
|
15 |
+
query_result = req.get('queryResult', {})
|
16 |
+
parameters = query_result.get('parameters', {})
|
17 |
+
noticias = req.get('sessionInfo', {}).get('parameters', {}).get('cryptoparam', '').lower()
|
18 |
+
|
19 |
+
# Configuraci贸n de los par谩metros para la solicitud a la API
|
20 |
+
params = {
|
21 |
+
'categories': noticias,
|
22 |
+
}
|
23 |
+
|
24 |
+
out = pipe(noticias)
|
25 |
+
st.json(out)
|
26 |
+
resultado = out[0]['label']
|
27 |
+
accuracy = out[0]['score']
|
28 |
+
|
29 |
+
if resultado == "POSITIVE":
|
30 |
+
fulfillment_text = f"Mi an谩lisis al {accuracy*100:.2.f}% indica que es buena noticia para esta criptomoneda, puede ser una oportunidad valiosa para vender\n"
|
31 |
+
else:
|
32 |
+
fulfillment_text = f"Mi an谩lisis al {accuracy*100:.2.f}% indica que es mala noticia para esta criptomoneda, puede ser una oportunidad para comprar\n"
|
33 |
+
|
34 |
+
return jsonify({
|
35 |
+
"fulfillmentResponse": {
|
36 |
+
"messages": [{
|
37 |
+
"text": {
|
38 |
+
"text": [fulfillment_text]
|
39 |
+
}
|
40 |
+
}]
|
41 |
+
}
|
42 |
+
})
|