Prueba_2 / app.py
JaphetHernandez's picture
Update app.py
9719344 verified
raw
history blame
1.15 kB
import pandas as pd
from langchain.chains import LLMChain
from langchain_huggingface import HuggingFacePipeline
from transformers import LLaMAForCausalLM, LLaMATokenizer
from huggingface_hub import login
import streamlit as st
huggingface_token = st.secrets["SECRET"]
login(huggingface_token)
# Cargar el archivo CSV
uploaded_file = st.file_uploader("Sube un archivo CSV con la columna 'job_title':", type=["csv"])
df = pd.read_csv(uploaded_file)
# Ingreso del query
query = "aspiring human resources specialist"
# Crear un modelo LLaMA
modelo = LLaMAForCausalLM.from_pretrained("meta-llama/Llama-3.2-1B")
tokenizer = LLaMATokenizer.from_pretrained("meta-llama/Llama-3.2-1B")
# Crear una cadena LLM con LangChain
llm = HuggingFaceLLM(modelo, tokenizer)
chain = LLMChain(llm)
def calcular_similitud(texto):
prompt = f"Calcular el cosine similarity score entre '{query}' y '{texto}'. Responde con el score como un valor numérico entre 0 y 1."
resultado = chain.run(prompt)
return float(resultado)
# Calcular la similitud para cada job title
df['Score'] = df['job_title'].apply(calcular_similitud)
# Reportar los resultados
print(df)