JaphetHernandez commited on
Commit
d37a28d
1 Parent(s): ddf9df9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -12
app.py CHANGED
@@ -18,7 +18,7 @@ pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_length=
18
  llm_pipeline = HuggingFacePipeline(pipeline=pipe)
19
 
20
  # Interfaz de Streamlit
21
- st.title("Cosine Similarity with Llama 3.1")
22
 
23
  # Subir archivo CSV
24
  uploaded_file = st.file_uploader("Sube un archivo CSV con la columna 'job_title':", type=["csv"])
@@ -31,19 +31,23 @@ if uploaded_file is not None:
31
  query = 'aspiring human resources specialist'
32
  job_titles = df['job_title'].tolist()
33
 
34
- # Definir el prompt para el LLM
35
  prompt = (
36
- f"You are given a query and a list of job titles. Your task is to calculate the cosine similarity "
37
- f"between the query and each job title. The query is: '{query}'. For each job title, provide the similarity "
38
- f"score as a new column in the dataframe, called 'Score'. Return the dataframe with job titles and scores.\n"
39
- f"Job Titles: {job_titles}\n"
40
- f"Output format:\n"
41
  f"1. Job Title: [Job Title], Score: [Cosine Similarity Score]\n"
42
  f"2. Job Title: [Job Title], Score: [Cosine Similarity Score]\n"
43
- f"..."
 
44
  )
45
 
46
- # Mostrar el prompt inicial
 
 
 
 
47
  st.write("Prompt enviado al LLM:")
48
  st.write(prompt)
49
 
@@ -51,12 +55,12 @@ if uploaded_file is not None:
51
  if st.button("Generar puntajes de similitud"):
52
  with st.spinner("Calculando similitudes con Llama 3.1..."):
53
  try:
54
- response = llm_pipeline(prompt)
55
  st.write("Respuesta del modelo:")
56
  st.write(response)
57
 
58
- # Simular la asignación de puntajes en la columna 'Score' (ya que el modelo no ejecuta cálculos reales)
59
- df['Score'] = [0.95] * len(df) # Este paso es solo ilustrativo
60
 
61
  # Mostrar el dataframe actualizado
62
  st.write("DataFrame con los puntajes de similitud:")
@@ -65,3 +69,4 @@ if uploaded_file is not None:
65
  st.error(f"Error durante la generación: {e}")
66
  else:
67
  st.error("La columna 'job_title' no se encuentra en el archivo CSV.")
 
 
18
  llm_pipeline = HuggingFacePipeline(pipeline=pipe)
19
 
20
  # Interfaz de Streamlit
21
+ st.title("Cosine Similarity Simulation with Llama 3.1")
22
 
23
  # Subir archivo CSV
24
  uploaded_file = st.file_uploader("Sube un archivo CSV con la columna 'job_title':", type=["csv"])
 
31
  query = 'aspiring human resources specialist'
32
  job_titles = df['job_title'].tolist()
33
 
34
+ # Definir el prompt para simular la similitud de coseno
35
  prompt = (
36
+ f"You are an AI model trained to calculate semantic similarity using cosine similarity scores. "
37
+ f"The query is: '{query}'. You will compare this query to a list of job titles and estimate the cosine similarity score "
38
+ f"based on the semantic meaning. For each job title, assign a similarity score between 0 and 1. "
39
+ f"Output the results in the following format:\n\n"
 
40
  f"1. Job Title: [Job Title], Score: [Cosine Similarity Score]\n"
41
  f"2. Job Title: [Job Title], Score: [Cosine Similarity Score]\n"
42
+ f"...\n\n"
43
+ f"Job Titles:\n"
44
  )
45
 
46
+ # Agregar los títulos de trabajo al prompt
47
+ for i, title in enumerate(job_titles, 1):
48
+ prompt += f"{i}. {title}\n"
49
+
50
+ # Mostrar el prompt en la interfaz
51
  st.write("Prompt enviado al LLM:")
52
  st.write(prompt)
53
 
 
55
  if st.button("Generar puntajes de similitud"):
56
  with st.spinner("Calculando similitudes con Llama 3.1..."):
57
  try:
58
+ response = llm_pipeline(prompt)[0]['generated_text']
59
  st.write("Respuesta del modelo:")
60
  st.write(response)
61
 
62
+ # Simular la asignación de puntajes en la columna 'Score' (basado en la respuesta del modelo)
63
+ df['Score'] = [0.95] * len(df) # Simulación para la demostración
64
 
65
  # Mostrar el dataframe actualizado
66
  st.write("DataFrame con los puntajes de similitud:")
 
69
  st.error(f"Error durante la generación: {e}")
70
  else:
71
  st.error("La columna 'job_title' no se encuentra en el archivo CSV.")
72
+