Create New File

This commit is contained in:
localsoo 2025-04-18 01:44:27 +00:00
parent 052ffd587e
commit ba21cdf5e2

26
app/rag_chain.py Normal file

@ -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)