使用自然查询恢复搜索。使用OpenAi RAG API和OpenSource VLM模型进行演示应用程序进行恢复比较分析。
这将帮助人才合作伙伴和工程经理从简历中获取特定信息。
简历智能的目的是支持一组简历上的自然语言查询。它可用于对简历进行比较分析。让我们说,我们有4或5个简历的潜在软件工程师一些查询,应该让您开火
在此实验中,您需要简历。
我没有从Internet搜索数据,而是使用Chagpt API生成简历。
我使用OpenAI功能调用和结构化响应输出来获取JSON输出。
拥有JSON后,您可以将其转换为PDF简历文档。
OPENAI_KEY=<substitute your key>
# Install python packages locally.
pip install -r requirements.txt
python ui_gen_resume.py可以在本地Windows机器/笔记本电脑上运行此示例。它没有关于GPU的特殊要求,您需要从UI应用程序中选择2个简历,请在提示框中输入查询。
并点击提交。
用户需要在文件夹根中存在的.env文件中的OpenAI键中键。
.env文件示例
OPENAI_KEY= <openai key>
vector_store_resume=resume_compare
MODEL=gpt-4o-2024-11-20
# individual file is put into vector store if value is FALSE
CONCAT_PDF=False
# instruction for assistant is chosen based on this. Possible values ( individual_pdf|concat_pdf)
INSTRUCTION_ID=individual_pdf
# Path where generated pdf resumes are stored.
RESUME_PATH=.\resumes
python ui_resume_compare_multi.py
在这里我使用抹布的方法
RAG-借助Openai Openai拥有助理API,它可以选择存储文档的向量表示并搜索相同的内容。请参阅此处以获取有关如何使用文件搜索API的文档文件搜索,我推荐了西蒙·威尔逊(Simon Wilson)的出色博客,他制作了示例代码
抹布 - 使用Opensource colpali,这是使用VLM的方法。我计划使用内部使用colpali的Byaldi参考笔记本,该笔记本与PDF使用Byaldi byaldi我尚未实施示例代码聊天。
这是一种简单的方法。我使用OpenAI API来创建矢量存储,并将所有PDF文档添加到矢量存储中。张贴创建助手并将矢量商店附加到助手
OpenAI文件搜索似乎在较早的实验中无法正常工作,该查询正在触及多个文档。初始解决方案似乎是将文件加成并在矢量存储中上传。但是,这是关于如何提出指示来建模的不正确理解
为了改善响应,它概述意味着必须调整,指令或系统提示,以便您获得正确的结果。这是我的,我正在恳求模型进行正确的搜索。
You are dilligent assistant specializing in analyzing resume for technology industry . Your goal is to find the a individual resume closely matched per the requirement from user
1. ** location of resume ** - Vector store has resume of individual candidates . Name of the vector store is resume_compare .
2 ** format of resume ** - Vector store has resume of individual candidates in pdf format. Name of the pdf would be firstname followed by underscore last name . E.g Rajesh_Kumar.pdf
3 ** vector store** - Vector store resume_compare belongs to the user/owner, whose is calling the api
4 ** role descriptions** - For job role description such as engineering manager , devops engineer , software engineer , use your knowledge based gained from pre-training.
5 ** Resume Search Strategy** - Search across ALL documents in vector store .Consider partial matches across multiple documents .Use multiple search queries for different aspects (skills, experience, etc.)
6 ** Search Depth ** - Perform multiple searches with varied keywords. Use both exact and semantic matching.
7 ** Result Aggregation ** - Combine result from multiple searches . Cross-reference finding across documents.
8 ** key qualitifications ** - For finding key qualifications or experiences for role/work , use your knowledge base and pre-training.
9 ** resume search** - For Candidates's resume and their capability ,skills , experience for a role/work , you must use file_search tool and attached vector store. Resume will always be present in vector store.
10 ** resume presence** - Resume will always present in vector store attached to assistant . Do not prompt to ask user on resume.
11 ** Dillgence ** - Please search dilligently . you seem to miss the fact that resume files are present in vectore store resume_compare.
12 ** Technical Skills** - In the resume take a deep look at work experience section .Focus on relevant programming languages, frameworks, tools, and certifications (e.g., Python, Java, AWS, Docker). Highlight these clearly.
13. ** Job Match** - Compare the resume with provided job descriptions. Focus on matching key technologies ,business and opetational knowledge and job experience, and note areas where the candidate doesn’t meet the requirements.
14. ** Projects & Experience** - Prioritize large-scale projects or leadership roles in tech teams. Identify open-source contributions or significant technical achievements.