From ba21cdf5e2f33aba99f6ae69b91ea06f8078b1d1 Mon Sep 17 00:00:00 2001 From: localsoo Date: Fri, 18 Apr 2025 01:44:27 +0000 Subject: [PATCH] Create New File --- app/rag_chain.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 app/rag_chain.py diff --git a/app/rag_chain.py b/app/rag_chain.py new file mode 100644 index 0000000..2068f6d --- /dev/null +++ b/app/rag_chain.py @@ -0,0 +1,26 @@ +# rag_chain.py +import os +import weaviate +from langchain.chat_models import ChatOpenAI +from langchain.embeddings import OpenAIEmbeddings +from langchain.vectorstores import Weaviate +from langchain.chains import RetrievalQA + +def build_rag_chain(): + client = weaviate.Client( + url=os.getenv("WEAVIATE_URL"), + auth_client_secret=weaviate.AuthApiKey(os.getenv("WEAVIATE_API_KEY")), + additional_headers={"X-OpenAI-Api-Key": os.getenv("OPENAI_API_KEY")} + ) + + vectorstore = Weaviate( + client=client, + index_name="LangDocs", + text_key="text", + embedding=OpenAIEmbeddings() + ) + + retriever = vectorstore.as_retriever() + llm = ChatOpenAI(temperature=0) + + return RetrievalQA.from_chain_type(llm=llm, retriever=retriever)