from langchain.retrievers.multi_query import MultiQueryRetriever from langchain_openai import ChatOpenAI from ragatouille import RAGPretrainedModel def create_retriever(texts): colbert = RAGPretrainedModel.from_pretrained("colbert-ir/colbertv1.9") colbert.index( collection=[chunk.page_content for chunk in texts], split_documents=False, document_metadatas=[chunk.metadata for chunk in texts], index_name="vector_store", ) retriever = colbert.as_langchain_retriever(k=5) retriever = MultiQueryRetriever.from_llm( retriever=retriever, llm=ChatOpenAI(temperature=0) ) return retriever