File size: 1,286 Bytes
2214088
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from qdrant_client import QdrantClient
from src.vectorstore import QdrantVectorStoreDB
from src.answerquery import AnswerQuery
from src.embedding import all_minilm_l6_v2
from src.settings import settings


class QAPipeline:
    """
    A class that handles the entire QA pipeline.
    """
    def __init__(self):
        self.embeddings=all_minilm_l6_v2()
        self.qdrant_client=QdrantClient(url=settings.QDRANT_URL, api_key=settings.QDRANT_API_KEY)


        self.vector_store = QdrantVectorStoreDB(qdrant_client=self.qdrant_client,vector_embedding= self.embeddings)
        self.answer_query = AnswerQuery()
    
    async def upload_documents(self, documents, collection_name:str="recipe"):
        """
        Upload documents to the Qdrant vector store.
        """
        await self.vector_store.upload_documents(documents, collection_name)
    

    async def answer_query_(self, query):
        """
        Answer a query using the Groq model.
        """
        return await self.answer_query.answer_query(
            vectorembedding=self.embeddings,
            query=query,
        )
    async def search_web(self, query):
        """
        Search the web for a query.
        """
        return await self.answer_query.search_web(
            query=query
        )