Spaces:
Sleeping
Sleeping
04/08/2023
Browse files
app.py
CHANGED
|
@@ -11,11 +11,45 @@ from langchain.text_splitter import RecursiveCharacterTextSplitter
|
|
| 11 |
from langchain.embeddings.openai import OpenAIEmbeddings
|
| 12 |
from openai.embeddings_utils import get_embedding
|
| 13 |
from openai.embeddings_utils import cosine_similarity
|
| 14 |
-
|
|
|
|
|
|
|
| 15 |
|
| 16 |
# API de OpenAI
|
| 17 |
openai.api_key = os.getenv("OPENAI_API_KEY")
|
| 18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
# Cargar el archivo
|
| 20 |
#df_Normas_Embeddings = pd.read_csv( 'datos/CLEAN_EMBEDDINGS/Textos_Normas.csv' )
|
| 21 |
df_Normas_Embeddings = pd.read_csv( 'https://raw.githubusercontent.com/benjov/Data_Fiscal/main/Textos_Normas.csv' )
|
|
@@ -126,6 +160,18 @@ def get_respuesta( user_message, informacion ):
|
|
| 126 |
#
|
| 127 |
|
| 128 |
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
def Chat( user_message_1 ):
|
| 130 |
#
|
| 131 |
norma_y_tema_response_1 = get_topic( user_message_1 )
|
|
@@ -144,6 +190,9 @@ def Chat( user_message_1 ):
|
|
| 144 |
#
|
| 145 |
Textos = df_final[ 'Final_Text' ].tolist()
|
| 146 |
#
|
|
|
|
|
|
|
|
|
|
| 147 |
return get_respuesta( user_message_1, Textos ), '\n'.join(Textos)
|
| 148 |
|
| 149 |
|
|
|
|
| 11 |
from langchain.embeddings.openai import OpenAIEmbeddings
|
| 12 |
from openai.embeddings_utils import get_embedding
|
| 13 |
from openai.embeddings_utils import cosine_similarity
|
| 14 |
+
import gspread # See: https://docs.gspread.org/en/v5.10.0/user-guide.html
|
| 15 |
+
from oauth2client.service_account import ServiceAccountCredentials
|
| 16 |
+
from datetime import datetime
|
| 17 |
|
| 18 |
# API de OpenAI
|
| 19 |
openai.api_key = os.getenv("OPENAI_API_KEY")
|
| 20 |
|
| 21 |
+
# Establece las credenciales y la API
|
| 22 |
+
type_s = os.getenv("type_s")
|
| 23 |
+
project_id = os.getenv("project_id")
|
| 24 |
+
private_key_id = os.getenv("private_key_id")
|
| 25 |
+
private_key = os.getenv("private_key")
|
| 26 |
+
client_email = os.getenv("client_email")
|
| 27 |
+
client_id = os.getenv("client_id")
|
| 28 |
+
auth_uri = os.getenv("auth_uri")
|
| 29 |
+
token_uri = os.getenv("token_uri")
|
| 30 |
+
auth_provider_x509_cert_url = os.getenv("auth_provider_x509_cert_url")
|
| 31 |
+
client_x509_cert_url = os.getenv("client_x509_cert_url")
|
| 32 |
+
universe_domain = os.getenv("universe_domain")
|
| 33 |
+
|
| 34 |
+
credentials = {
|
| 35 |
+
"type": type_s,
|
| 36 |
+
"project_id": project_id,
|
| 37 |
+
"private_key_id": private_key_id,
|
| 38 |
+
"private_key": private_key,
|
| 39 |
+
"client_email": client_email,
|
| 40 |
+
"client_id": client_id,
|
| 41 |
+
"auth_uri": auth_uri,
|
| 42 |
+
"token_uri": token_uri,
|
| 43 |
+
"auth_provider_x509_cert_url": auth_provider_x509_cert_url,
|
| 44 |
+
"client_x509_cert_url": client_x509_cert_url,
|
| 45 |
+
"universe_domain": universe_domain
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
gc = gspread.service_account_from_dict(credentials)
|
| 49 |
+
|
| 50 |
+
Google_URL = os.getenv("Google_URL")
|
| 51 |
+
sht = gc.open_by_url(Google_URL)
|
| 52 |
+
|
| 53 |
# Cargar el archivo
|
| 54 |
#df_Normas_Embeddings = pd.read_csv( 'datos/CLEAN_EMBEDDINGS/Textos_Normas.csv' )
|
| 55 |
df_Normas_Embeddings = pd.read_csv( 'https://raw.githubusercontent.com/benjov/Data_Fiscal/main/Textos_Normas.csv' )
|
|
|
|
| 160 |
#
|
| 161 |
|
| 162 |
#
|
| 163 |
+
|
| 164 |
+
#
|
| 165 |
+
def update_records( user_message ):
|
| 166 |
+
#
|
| 167 |
+
sht.sheet1.get_all_records()
|
| 168 |
+
#
|
| 169 |
+
sht.sheet1.update_cell( len( sht.sheet1.get_all_records()[:] ) + 2 ,
|
| 170 |
+
1 , datetime.now().strftime("%m/%d/%Y, %H:%M:%S") )
|
| 171 |
+
#
|
| 172 |
+
sht.sheet1.update_cell( len( sht.sheet1.get_all_records()[:] ) + 1 ,
|
| 173 |
+
2 , user_message )
|
| 174 |
+
#
|
| 175 |
def Chat( user_message_1 ):
|
| 176 |
#
|
| 177 |
norma_y_tema_response_1 = get_topic( user_message_1 )
|
|
|
|
| 190 |
#
|
| 191 |
Textos = df_final[ 'Final_Text' ].tolist()
|
| 192 |
#
|
| 193 |
+
# Save Question and date time
|
| 194 |
+
update_records( user_message_1 )
|
| 195 |
+
#
|
| 196 |
return get_respuesta( user_message_1, Textos ), '\n'.join(Textos)
|
| 197 |
|
| 198 |
|