Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Me sale un Error a la hora de ejecutar el codigo en el prompt del RAG

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
A la hora de ejecutar el codigo, me sale este problema

2 respuestas
solución!

Prueba con langchain_classic:

from langchain_core.prompts import ChatPromptTemplate
from langchain_classic.chains.combine_documents import create_stuff_documents_chain

prompt_rag = ChatPromptTemplate(
    [
        ("system",
            """Eres el especialista en RR.HH. de la empresa Carraro Desarrollo de Software.
            Responde siempre utilizando los conocimientos del contexto que te fue pasado a ti.
            Si no hay informacion sobre la pregunta en los datos, responde solo 'No lo se'.
            """
        ),
        ("human", "Contexto: {context}\nPregunta del empleado: {input}")
    ]
)

document_chain = create_stuff_documents_chain(llm, prompt_rag)

Otra Opcíon:

from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser

# 1. Definimos el mismo prompt de 'La Escaloneta'
prompt_rag = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            """Eres el especialista en RR.HH. de la empresa 'La Escaloneta Desarrollo de Software'.
            Tu tarea es responder las dudas de los empleados utilizando únicamente el contexto provisto a continuación.
            
            Contexto disponible:
            {context}
            
            Reglas estrictas:
            - Responde de forma clara, profesional y empática.
            - Si la respuesta no se encuentra explícitamente en el contexto provisto, responde exactamente: 'No lo sé'."""
        ),
        (
            "human", 
            "{input}"
        )
    ]
)

# 2. Función auxiliar para juntar los textos de los chunks encontrados por FAISS
def format_docs(docs):
    return "\n\n".join(doc.page_content for doc in docs)

# 3. Construimos el pipeline completo (RAG Chain) usando el operador "|"
rag_chain = (
    {
        "context": retriever | format_docs,  # Busca en FAISS y formatea los textos
        "input": RunnablePassthrough()       # Pasa la pregunta del usuario derecho
    }
    | prompt_rag                             # Inyecta todo en el prompt
    | llm_groq                               # Se lo manda a Llama 3.3
    | StrOutputParser()                      # Nos devuelve solo el texto limpio (.content)
)

print(" ¡Cadena RAG nativa de 'La Escaloneta' creada con éxito mediante LCEL!")