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)