Spaces:
Sleeping
Sleeping
File size: 5,149 Bytes
85ad972 05650ec 0f7ceaf 05650ec 0f7ceaf 05650ec e5dc2b1 b909630 b2a494b 6ad76d6 aff374c b2a494b 9e12e9c 6ad76d6 b2a494b 6ad76d6 b2a494b 6ad76d6 b2a494b 6ad76d6 b79cdd4 b2a494b 6ad76d6 b2a494b 6ad76d6 b2a494b 6ad76d6 b2a494b 6ad76d6 e4ad9d2 6ad76d6 5ef9654 6ad76d6 b2a494b 7e97ebd 6ad76d6 951f385 6ad76d6 7e97ebd 6ad76d6 7e97ebd b2a494b 6ad76d6 b2a494b 6ad76d6 b2a494b 05650ec b2a494b 9719344 2e7c9a7 992a0a7 e5dc2b1 15fed86 992a0a7 e5dc2b1 992a0a7 15fed86 e5dc2b1 992a0a7 e5dc2b1 15fed86 992a0a7 b19e79b 992a0a7 2e7c9a7 992a0a7 2e7c9a7 992a0a7 2e7c9a7 611a5f2 2e7c9a7 992a0a7 2e7c9a7 992a0a7 2e7c9a7 b2a494b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
from llama_index.llms.HuggingFaceLLM import HuggingFaceLLM
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain.indexes import RagIndex
from langchain.retrievers import HuggingFaceRetriever
# Inicializar el modelo LLaMA 3.2 desde Hugging Face usando HuggingFaceLLM
llm = HuggingFaceLLM.from_pretrained("meta-llama/Llama-3.2", model_kwargs={"temperature": 0})
# Crear un prompt para la similitud de coseno
prompt_template = (
"Dado el siguiente par de frases, calcula la similitud de coseno: "
"Frase 1: '{phrase_1}' y Frase 2: '{phrase_2}'. "
"Proporciona solo el puntaje de similitud de coseno como un número entre 0 y 1."
)
# Crear el template de prompt
prompt = PromptTemplate.from_template(prompt_template)
# Crear un RAG Index usando LangChain y Hugging Face Retriever
retriever = HuggingFaceRetriever.from_pretrained(
"facebook/rag-token-nq", index_name="exact"
)
index = Ra
'''
import pandas as pd
from langchain.chains import LLMChain, RAGChain
from langchain.prompts import PromptTemplate
from langchain_community.llms import HuggingFaceHub
from langchain.llms.rag import RagIndex
import streamlit as st
import sys
import re
from transformers import LlamaForCausalLM, AutoTokenizer
from huggingface_hub import login
# Inicialización de Hugging Face
huggingface_token = st.secrets["SECRET"]
login(huggingface_token)
# Cargar archivo CSV
uploaded_file = st.file_uploader("Sube un archivo CSV con la columna 'job_title':", type=["csv"])
if uploaded_file:
df = pd.read_csv(uploaded_file)
st.dataframe(df)
query = "aspiring human resources specialist"
# Modelo LLaMA
model_name = "meta-llama/Llama-3.2-1B"
modelo = LlamaForCausalLM.from_pretrained(model_name)
# Tokenizador
try:
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
print("Tokenizador cargado con éxito.")
except Exception as e:
print(f"Error al cargar el tokenizador: {e}")
sys.exit(1)
# Prompt para cadena LLM
prompt_template = PromptTemplate(
input_variables=["query", "texto"],
template=(
"Calcular el cosine similarity score entre '{query}' y '{texto}'. "
"Responde solo con un número entre 0 y 1 en formato float, sin texto adicional."
)
)
# Cargar índice RAG
rag_index = RagIndex.from_huggingface("meta-llama/Llama-3.2-1B")
# Crear cadena RAG
llm = HuggingFaceHub(repo_id=model_name, huggingfacehub_api_token=huggingface_token, model_kwargs={"max_new_tokens": 3})
rag_chain = RAGChain(llm=llm, index=rag_index, prompt=prompt_template)
def calcular_similitud(texto):
prompt = {"query": query, "texto": texto}
resultado = rag_chain.run(prompt)
print("Resultado del modelo:", resultado)
match = re.search(r"\b(0\.\d+|1\.0)\b", resultado)
if match:
score = float(match.group(1))
return score
else:
st.error(f"No se pudo extraer el puntaje de similitud: {resultado}")
return None
# Calcular similitud para cada job title
df['Score'] = df['job_title'].apply(calcular_similitud)
# Reportar resultados
st.write(df)
else:
st.write("No se ha subido un archivo")
'''
'''
import pandas as pd
from langchain.chains import LLMChain
from langchain_huggingface import HuggingFacePipeline
from transformers import LlamaForCausalLM, AutoTokenizer
from langchain.llms import HuggingFaceHub
from huggingface_hub import login
import streamlit as st
import sys
# Inicialización de Hugging Face
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"])
if uploaded_file:
df = pd.read_csv(uploaded_file)
st.dataframe(df)
# Ingreso del query
query = "aspiring human resources specialist"
# Crear un modelo LLaMA
model_name = "meta-llama/Llama-3.2-1B" # Usa un nombre de modelo válido en Hugging Face
modelo = LlamaForCausalLM.from_pretrained(model_name)
try:
# Usar AutoTokenizer para manejar automáticamente el tokenizador adecuado
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=True)
print("Tokenizador cargado con éxito.")
except Exception as e:
print(f"Error al cargar el tokenizador: {e}")
sys.exit(1)
# Crear una cadena LLM con LangChain usando HuggingFaceHub
llm = HuggingFaceHub(repo_id=model_name, model_kwargs={"device_map": "auto"}, huggingfacehub_api_token=huggingface_token)
chain = LLMChain(llm=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
st.write(df)
else:
st.write("No se ha subido un archivo")
''' |