rag_1 / app.py
facuvillegas's picture
cambio a chatgpt
8a99543 verified
import streamlit as st
from langchain.vectorstores import FAISS
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.chat_models import ChatOpenAI
from langchain.schema import HumanMessage
import os
# Cargar FAISS + embeddings
@st.cache_resource
def cargar_base():
embedding_model = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2")
return FAISS.load_local("mi_base_faiss", embedding_model, allow_dangerous_deserialization=True)
db = cargar_base()
# Inicializar modelo ChatOpenAI
@st.cache_resource
def cargar_llm():
openai_api_key = os.environ["OPENAI_API_KEY"]
return ChatOpenAI(openai_api_key=openai_api_key, model_name="gpt-3.5-turbo")
llm = cargar_llm()
# Interfaz Streamlit
st.title("Chatbot RAG con GPT-3.5 Turbo 🤖📄")
pregunta = st.text_input("Escribí tu pregunta:")
if pregunta:
docs = db.similarity_search(pregunta, k=3)
contexto = "\n".join([doc.page_content for doc in docs])
prompt = f"""Respondé la siguiente pregunta usando exclusivamente el contexto a continuación. Si no encontrás la respuesta en el contexto, decí "No tengo información suficiente".
Contexto:
{contexto}
Pregunta:
{pregunta}
"""
respuesta = llm([HumanMessage(content=prompt)])
st.write("**Respuesta:**", respuesta.content)