--- title: '❓ query' --- `.query()` method empowers developers to ask questions and receive relevant answers through a user-friendly query API. Function signature is given below: ### Parameters Question to ask Configure different llm settings such as prompt, temprature, number_documents etc. The purpose is to test the prompt structure without actually running LLM inference. Defaults to `False` A dictionary of key-value pairs to filter the chunks from the vector database. Defaults to `None` Return citations along with the LLM answer. Defaults to `False` ### Returns If `citations=False`, return a stringified answer to the question asked.
If `citations=True`, returns a tuple with answer and citations respectively.
## Usage ### With citations If you want to get the answer to question and return both answer and citations, use the following code snippet: ```python With Citations from embedchain import App # Initialize app app = App() # Add data source app.add("https://www.forbes.com/profile/elon-musk") # Get relevant answer for your query answer, sources = app.query("What is the net worth of Elon?", citations=True) print(answer) # Answer: The net worth of Elon Musk is $221.9 billion. print(sources) # [ # ( # 'Elon Musk PROFILEElon MuskCEO, Tesla$247.1B$2.3B (0.96%)Real Time Net Worthas of 12/7/23 ...', # { # 'url': 'https://www.forbes.com/profile/elon-musk', # 'score': 0.89, # ... # } # ), # ( # '74% of the company, which is now called X.Wealth HistoryHOVER TO REVEAL NET WORTH BY YEARForbes ...', # { # 'url': 'https://www.forbes.com/profile/elon-musk', # 'score': 0.81, # ... # } # ), # ( # 'founded in 2002, is worth nearly $150 billion after a $750 million tender offer in June 2023 ...', # { # 'url': 'https://www.forbes.com/profile/elon-musk', # 'score': 0.73, # ... # } # ) # ] ``` When `citations=True`, note that the returned `sources` are a list of tuples where each tuple has two elements (in the following order): 1. source chunk 2. dictionary with metadata about the source chunk - `url`: url of the source - `doc_id`: document id (used for book keeping purposes) - `score`: score of the source chunk with respect to the question - other metadata you might have added at the time of adding the source ### Without citations If you just want to return answers and don't want to return citations, you can use the following example: ```python Without Citations from embedchain import App # Initialize app app = App() # Add data source app.add("https://www.forbes.com/profile/elon-musk") # Get relevant answer for your query answer = app.query("What is the net worth of Elon?") print(answer) # Answer: The net worth of Elon Musk is $221.9 billion. ```