Page 1 of 1

💼 Job Application -

Software Engineer (AI/NLP)

Location: Bangalore / Hybrid

Years of Experience: 1-3 years or more

Compensation: INR 10-15 LPA + ESOPs Please note that failure to submit the required assignment with this form will result in the rejection of your application.



Create an LLM-powered application that takes user queries related to company performance metrics and converts them into a structured JSON format.

Requirements: 1. Use llama-3.1-8b-instant model from https://console.groq.com/

2. The application should be able to extract the following information from user queries:

- Entity: The company name mentioned in the query (e.g., Flipkart, Amazon).

- Parameter: The performance metric mentioned in the query (e.g., GMV, revenue, profit).

- Start Date: The start date of the time period for which the metric is requested.

- End Date: The end date of the time period for which the metric is requested.

3. If the user query does not explicitly mention the start date and/or end date, assume the following defaults:

- Start Date: Today's date minus one year.

- End Date: Today's date.

4. The extracted information should be converted into a JSON format with the following structure:

https://storage.tally.so/967f1bec-cbbe-45a9-b4a5-aa1b0d202b81/Screenshot-2024-05-02-at-6.23.10-PM.png
5. If the user query mentions multiple companies or requests a comparison, the JSON output should include multiple objects, one for each company mentioned.
6. The start date and end date should be converted to the ISO 8601 format (YYYY-MM-DD) before including them in the JSON output.
7. Use a combination of LLM calls and Python code to accomplish the task. The LLM can be used to understand the user query and extract relevant information, while Python can be used for data manipulation and JSON conversion.
https://storage.tally.so/d0ce32c4-5230-4be2-b064-dc718e5203a3/Screenshot-2024-05-02-at-6.25.11-PM.png

Additional Considerations:

- Handle variations in user queries, such as different spellings or abbreviations of company names and metric parameters.
- Implement error handling for cases where the LLM fails to extract the necessary information from the user query.
- Consider a history length of 6 messages while processing the given query.
- Consider adding support for additional date formats or relative date ranges (e.g., "last quarter", "previous month").
- Provide clear instructions on how to set up and run the application, including any required dependencies and API credentials.
- Submit a python notebook

Evaluation Criteria:

- Correctness of the JSON output based on the user queries.
- Proper handling of default start and end dates when not explicitly mentioned.
- Ability to handle multiple companies and comparison requests in a single query.
- Code quality, readability, and documentation.
- Effective use of the LLM for understanding user queries and extracting relevant information.
- Error handling and robustness of the application.

Feel free to explore additional features or enhancements to showcase your skills and creativity in working with LLMs and Python

Submit Here 👇