Spaces:
Paused
Paused
# File: retrieval.py | |
from langchain_qdrant import Qdrant | |
from langchain_groq import ChatGroq | |
from langchain_openai import OpenAIEmbeddings | |
from langchain.chains import RetrievalQA | |
from config import * | |
embeddings = OpenAIEmbeddings(model="text-embedding-3-small") | |
llm = ChatGroq(model="llama3-70b-4096", temperature=0.3) | |
def rag_query(query: str) -> str: | |
qdrant = Qdrant.from_existing_collection( | |
embedding=embeddings, | |
collection_name=COLLECTION_NAME, | |
url=QDRANT_API_URL, | |
api_key=QDRANT_API_KEY, | |
prefer_grpc=True, | |
) | |
retriever = qdrant.as_retriever(search_kwargs={"k": 5}) | |
qa_chain = RetrievalQA.from_chain_type( | |
llm=llm, | |
chain_type="stuff", | |
retriever=retriever, | |
return_source_documents=True | |
) | |
result = qa_chain({"query": query}) | |
return result["result"] |