Spaces:
Sleeping
Sleeping
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) |