Create New File
This commit is contained in:
parent
052ffd587e
commit
ba21cdf5e2
26
app/rag_chain.py
Normal file
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)
|
||||||
Loading…
Reference in New Issue
Block a user