JaphetHernandez commited on
Commit
2e7c9a7
verified
1 Parent(s): 204f860

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -17
app.py CHANGED
@@ -1,18 +1,16 @@
1
  import pandas as pd
2
  from langchain.chains import LLMChain
3
  from langchain_huggingface import HuggingFacePipeline
4
- from transformers import LlamaForCausalLM, LlamaTokenizer
5
  from langchain.llms import HuggingFaceHub
6
  from huggingface_hub import login
7
  import streamlit as st
8
  import sys
9
 
10
-
11
  # Inicializaci贸n de Hugging Face
12
  huggingface_token = st.secrets["SECRET"]
13
  login(huggingface_token)
14
 
15
-
16
  # Cargar el archivo CSV
17
  uploaded_file = st.file_uploader("Sube un archivo CSV con la columna 'job_title':", type=["csv"])
18
 
@@ -20,38 +18,34 @@ if uploaded_file:
20
  df = pd.read_csv(uploaded_file)
21
  st.dataframe(df)
22
 
23
-
24
  # Ingreso del query
25
  query = "aspiring human resources specialist"
26
 
27
-
28
  # Crear un modelo LLaMA
29
- model_name = "meta-llama/Llama-3.2-1B"
30
  modelo = LlamaForCausalLM.from_pretrained(model_name)
 
31
  try:
32
- tokenizer = LlamaTokenizer.from_pretrained(model_name, force_download=True, legacy = True)
33
- print("Vocab file:", tokenizer.vocab_file) # Depurar el archivo de vocabulario
 
34
  except Exception as e:
35
  print(f"Error al cargar el tokenizador: {e}")
36
  sys.exit(1)
37
 
38
-
39
- # Crear una cadena LLM con LangChain
40
- llm = HuggingFaceHub(modelo, tokenizer)
41
- chain = LLMChain(llm)
42
-
43
 
44
  def calcular_similitud(texto):
45
  prompt = f"Calcular el cosine similarity score entre '{query}' y '{texto}'. Responde con el score como un valor num茅rico entre 0 y 1."
46
  resultado = chain.run(prompt)
47
  return float(resultado)
48
 
49
-
50
  # Calcular la similitud para cada job title
51
  df['Score'] = df['job_title'].apply(calcular_similitud)
52
 
53
-
54
  # Reportar los resultados
55
- print(df)
56
  else:
57
- st.write("No se ha subido un archivo")
 
1
  import pandas as pd
2
  from langchain.chains import LLMChain
3
  from langchain_huggingface import HuggingFacePipeline
4
+ from transformers import LlamaForCausalLM, AutoTokenizer
5
  from langchain.llms import HuggingFaceHub
6
  from huggingface_hub import login
7
  import streamlit as st
8
  import sys
9
 
 
10
  # Inicializaci贸n de Hugging Face
11
  huggingface_token = st.secrets["SECRET"]
12
  login(huggingface_token)
13
 
 
14
  # Cargar el archivo CSV
15
  uploaded_file = st.file_uploader("Sube un archivo CSV con la columna 'job_title':", type=["csv"])
16
 
 
18
  df = pd.read_csv(uploaded_file)
19
  st.dataframe(df)
20
 
 
21
  # Ingreso del query
22
  query = "aspiring human resources specialist"
23
 
 
24
  # Crear un modelo LLaMA
25
+ model_name = "meta-llama/Llama-2-7b" # Usa un nombre de modelo v谩lido en Hugging Face
26
  modelo = LlamaForCausalLM.from_pretrained(model_name)
27
+
28
  try:
29
+ # Usar AutoTokenizer para manejar autom谩ticamente el tokenizador adecuado
30
+ tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
31
+ print("Tokenizador cargado con 茅xito.")
32
  except Exception as e:
33
  print(f"Error al cargar el tokenizador: {e}")
34
  sys.exit(1)
35
 
36
+ # Crear una cadena LLM con LangChain usando HuggingFaceHub
37
+ llm = HuggingFaceHub(repo_id=model_name, model_kwargs={"device_map": "auto"})
38
+ chain = LLMChain(llm=llm)
 
 
39
 
40
  def calcular_similitud(texto):
41
  prompt = f"Calcular el cosine similarity score entre '{query}' y '{texto}'. Responde con el score como un valor num茅rico entre 0 y 1."
42
  resultado = chain.run(prompt)
43
  return float(resultado)
44
 
 
45
  # Calcular la similitud para cada job title
46
  df['Score'] = df['job_title'].apply(calcular_similitud)
47
 
 
48
  # Reportar los resultados
49
+ st.write(df)
50
  else:
51
+ st.write("No se ha subido un archivo")