Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,19 +1,24 @@
|
|
| 1 |
import streamlit as st
|
| 2 |
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM, AutoConfig, AutoModelForSequenceClassification
|
| 3 |
-
from
|
| 4 |
from langchain.prompts import PromptTemplate
|
| 5 |
from langchain.chains import LLMChain
|
| 6 |
-
from
|
| 7 |
from PyPDF2 import PdfReader
|
| 8 |
from docx import Document
|
| 9 |
import csv
|
| 10 |
import json
|
| 11 |
import torch
|
| 12 |
-
from
|
| 13 |
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
# Configurar modelo y tokenizador
|
| 16 |
-
model_name = 'mistralai/Mistral-7B-Instruct-v0.
|
| 17 |
model_config = AutoConfig.from_pretrained(model_name)
|
| 18 |
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
|
| 19 |
tokenizer.pad_token = tokenizer.eos_token
|
|
@@ -173,17 +178,20 @@ def main():
|
|
| 173 |
document_text = handle_uploaded_file(uploaded_file)
|
| 174 |
if operation == "Traducir":
|
| 175 |
target_language = st.selectbox("Selecciona el idioma de traducci贸n", ["espa帽ol", "ingl茅s", "franc茅s", "alem谩n"])
|
| 176 |
-
|
|
|
|
|
|
|
| 177 |
elif operation == "Resumir":
|
| 178 |
summary_length = st.selectbox("Selecciona la longitud del resumen", ["corto", "medio", "largo"])
|
| 179 |
-
if summary_length
|
| 180 |
-
|
| 181 |
-
|
| 182 |
-
|
| 183 |
-
|
| 184 |
-
|
| 185 |
-
|
| 186 |
-
|
|
|
|
| 187 |
|
| 188 |
if __name__ == "__main__":
|
| 189 |
main()
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM, AutoConfig, AutoModelForSequenceClassification
|
| 3 |
+
from langchain_community.llms import HuggingFacePipeline
|
| 4 |
from langchain.prompts import PromptTemplate
|
| 5 |
from langchain.chains import LLMChain
|
| 6 |
+
from langchain_community.embeddings import HuggingFaceEmbeddings
|
| 7 |
from PyPDF2 import PdfReader
|
| 8 |
from docx import Document
|
| 9 |
import csv
|
| 10 |
import json
|
| 11 |
import torch
|
| 12 |
+
from langchain_community.vectorstores import FAISS
|
| 13 |
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
| 14 |
+
from huggingface_hub import login
|
| 15 |
+
|
| 16 |
+
# Autenticaci贸n en Hugging Face
|
| 17 |
+
huggingface_token = st.secrets["HUGGINGFACE_TOKEN"]
|
| 18 |
+
login(huggingface_token)
|
| 19 |
|
| 20 |
# Configurar modelo y tokenizador
|
| 21 |
+
model_name = 'mistralai/Mistral-7B-Instruct-v0.1'
|
| 22 |
model_config = AutoConfig.from_pretrained(model_name)
|
| 23 |
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
|
| 24 |
tokenizer.pad_token = tokenizer.eos_token
|
|
|
|
| 178 |
document_text = handle_uploaded_file(uploaded_file)
|
| 179 |
if operation == "Traducir":
|
| 180 |
target_language = st.selectbox("Selecciona el idioma de traducci贸n", ["espa帽ol", "ingl茅s", "franc茅s", "alem谩n"])
|
| 181 |
+
if target_language:
|
| 182 |
+
bot_response = translate(document_text, target_language)
|
| 183 |
+
st.write(f"**Assistant:** {bot_response}")
|
| 184 |
elif operation == "Resumir":
|
| 185 |
summary_length = st.selectbox("Selecciona la longitud del resumen", ["corto", "medio", "largo"])
|
| 186 |
+
if summary_length:
|
| 187 |
+
if summary_length == "corto":
|
| 188 |
+
length = "de aproximadamente 50 palabras"
|
| 189 |
+
elif summary_length == "medio":
|
| 190 |
+
length = "de aproximadamente 100 palabras"
|
| 191 |
+
elif summary_length == "largo":
|
| 192 |
+
length = "de aproximadamente 500 palabras"
|
| 193 |
+
bot_response = summarize(document_text, length)
|
| 194 |
+
st.write(f"**Assistant:** {bot_response}")
|
| 195 |
|
| 196 |
if __name__ == "__main__":
|
| 197 |
main()
|