JaphetHernandez commited on
Commit
992a0a7
verified
1 Parent(s): f04beeb

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -33
app.py CHANGED
@@ -1,43 +1,57 @@
1
  import pandas as pd
2
  from langchain.chains import LLMChain
3
  from langchain_huggingface import HuggingFacePipeline
4
- from transformers import LlamaForCausalLM, LlamaTokenizer, pipeline
5
- from langchain.llms import HuggingFaceHub#HuggingFaceLLM
6
  from huggingface_hub import login
7
  import streamlit as st
 
8
 
 
 
9
  huggingface_token = st.secrets["SECRET"]
10
  login(huggingface_token)
 
 
11
  # Cargar el archivo CSV
12
  uploaded_file = st.file_uploader("Sube un archivo CSV con la columna 'job_title':", type=["csv"])
13
- df = pd.read_csv(uploaded_file)
14
- st.write(df)
15
-
16
- # Ingreso del query
17
- query = "aspiring human resources specialist"
18
-
19
-
20
- # Crear un modelo LLaMA
21
- model_name = "meta-llama/Llama-3.2-1B"
22
- modelo = LlamaForCausalLM.from_pretrained(model_name)
23
- try:
24
- tokenizer = LlamaTokenizer.from_pretrained(model_id, force_download=True)
25
- print("Vocab file:", tokenizer.vocab_file) # Depurar el archivo de vocabulario
26
- except Exception as e:
27
- print(f"Error al cargar el tokenizador: {e}")
28
-
29
- # Crear una cadena LLM con LangChain
30
- llm = HuggingFaceHub(modelo, tokenizer)
31
- #llm = HuggingFaceLLM(modelo, tokenizer)
32
- chain = LLMChain(llm)
33
-
34
- def calcular_similitud(texto):
35
- prompt = f"Calcular el cosine similarity score entre '{query}' y '{texto}'. Responde con el score como un valor num茅rico entre 0 y 1."
36
- resultado = chain.run(prompt)
37
- return float(resultado)
38
-
39
- # Calcular la similitud para cada job title
40
- df['Score'] = df['job_title'].apply(calcular_similitud)
41
-
42
- # Reportar los resultados
43
- print(df)
 
 
 
 
 
 
 
 
 
 
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
+
19
+ 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)
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")