Adapt a CV or generate a cover letter based on a job description using AI agents and RAG with LlamaIndex.
Methodology
The App has multiple modes:
Guided vs Autonomous
Guided means there are lower level step by step instructions provided by a human, for example 'what are the hard skills required by the job?', 'where does the user demonstrate experience with these hard skills?'. This method might be more reliable but slower than autonomous.
Autonomous means that the AI handles data fetching and synthesis independently after being given a single prompt.
Performant vs Detailed
Performant means results will be fetched quicker. Implemented using ‘compact’ retriever mode and ParallelAgentRunner.
Detailed means the result might take longer but is likely to be more detailed.
Implemented using MultiStepQueryEnginer and ReActAgent. Occasionally the ReAct agent used to output the answer as a ‘thought’ and referred to the CV being available above in its response. Therefore I fetched the LLM’s thought messages using current_reasoning property in task.extra_state and used an LLM to extract the CV from the messages.