├── imgs ├── 1.png ├── 2.png ├── 3.png ├── img0.png ├── img1.png ├── img2.png └── img3.png ├── .gitignore ├── src ├── socialcard.html └── resume.tsx ├── LICENSE └── README.md /imgs/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/langgptai/AI-Resume/HEAD/imgs/1.png -------------------------------------------------------------------------------- /imgs/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/langgptai/AI-Resume/HEAD/imgs/2.png -------------------------------------------------------------------------------- /imgs/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/langgptai/AI-Resume/HEAD/imgs/3.png -------------------------------------------------------------------------------- /imgs/img0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/langgptai/AI-Resume/HEAD/imgs/img0.png -------------------------------------------------------------------------------- /imgs/img1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/langgptai/AI-Resume/HEAD/imgs/img1.png -------------------------------------------------------------------------------- /imgs/img2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/langgptai/AI-Resume/HEAD/imgs/img2.png -------------------------------------------------------------------------------- /imgs/img3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/langgptai/AI-Resume/HEAD/imgs/img3.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .nox/ 43 | .coverage 44 | .coverage.* 45 | .cache 46 | nosetests.xml 47 | coverage.xml 48 | *.cover 49 | *.py,cover 50 | .hypothesis/ 51 | .pytest_cache/ 52 | cover/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | .pybuilder/ 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | # For a library or package, you might want to ignore these files since the code is 87 | # intended to run in multiple environments; otherwise, check them in: 88 | # .python-version 89 | 90 | # pipenv 91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 94 | # install all needed dependencies. 95 | #Pipfile.lock 96 | 97 | # poetry 98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 99 | # This is especially recommended for binary packages to ensure reproducibility, and is more 100 | # commonly ignored for libraries. 101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 102 | #poetry.lock 103 | 104 | # pdm 105 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. 106 | #pdm.lock 107 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it 108 | # in version control. 109 | # https://pdm.fming.dev/latest/usage/project/#working-with-version-control 110 | .pdm.toml 111 | .pdm-python 112 | .pdm-build/ 113 | 114 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm 115 | __pypackages__/ 116 | 117 | # Celery stuff 118 | celerybeat-schedule 119 | celerybeat.pid 120 | 121 | # SageMath parsed files 122 | *.sage.py 123 | 124 | # Environments 125 | .env 126 | .venv 127 | env/ 128 | venv/ 129 | ENV/ 130 | env.bak/ 131 | venv.bak/ 132 | 133 | # Spyder project settings 134 | .spyderproject 135 | .spyproject 136 | 137 | # Rope project settings 138 | .ropeproject 139 | 140 | # mkdocs documentation 141 | /site 142 | 143 | # mypy 144 | .mypy_cache/ 145 | .dmypy.json 146 | dmypy.json 147 | 148 | # Pyre type checker 149 | .pyre/ 150 | 151 | # pytype static type analyzer 152 | .pytype/ 153 | 154 | # Cython debug symbols 155 | cython_debug/ 156 | 157 | # PyCharm 158 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can 159 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 160 | # and can be added to the global gitignore or merged into this file. For a more nuclear 161 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 162 | #.idea/ 163 | -------------------------------------------------------------------------------- /src/socialcard.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 提示词工程师个人资料卡 7 | 8 | 9 | 29 | 30 | 31 |
32 |
33 |
34 | Profile 35 |
36 |

云中江树

37 |

38 | 北京 39 |

40 |

Prompter | LangGPT 作者| PEC联创

41 |
42 |
43 | 44 |
45 |

46 | 近期关注 47 |

48 |

AI 编程,大模型落地应用,智能体, 提示设计

49 |
50 | 51 |
52 |

53 | 职业亮点 54 |

55 |
    56 |
  • LangGPT 作者
  • 57 |
  • PEC大会联合发起人
  • 58 |
  • 清北AI提示词分享嘉宾
  • 59 |
  • 大模型进阶AI讲师
  • 60 |
  • 多家上市公司AI讲师
  • 61 |
  • AGI掘金社区共建者
  • 62 |
  • WayToAGI社区共建者
  • 63 |
64 |
65 | 66 |
67 |

68 | 专长领域 69 |

70 |
71 |
72 |

AI 提示词

73 |

精准设计提示以驾驭AI

74 |
75 |
76 |

AI内容创作

77 |

生成式AI辅助内容创作

78 |
79 |
80 |

AI 智能体

81 |

大模型企业落地实践

82 |
83 |
84 |

AI 编程

85 |

AIGC驱动的智能编程

86 |
87 |
88 |
89 | 90 |
91 |

92 | 兴趣爱好 93 |

94 |
95 | 科幻创作 96 | 音乐 97 | 动漫 98 | 旅行 99 |
100 |
101 | 102 |
103 |
104 |
105 | 扫码查看个人主页 106 |
107 |

"前进,达瓦里希~"

108 |
109 |
110 | QR Code 111 |
112 |
113 |
114 |
115 |
116 |
117 | 118 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /src/resume.tsx: -------------------------------------------------------------------------------- 1 | 'use client'; 2 | 3 | import React from 'react'; 4 | import { Phone, Mail, MapPin, Briefcase, GraduationCap, Award, Star, User } from 'lucide-react'; 5 | 6 | const A4Resume = () => { 7 | const resumeData = { 8 | name: "云中江树", 9 | title: "提示词工程师", 10 | contact: { 11 | email: "contact@langgpt.ai", 12 | wechat: "1796060717" 13 | }, 14 | summary: "富有创新精神和丰富经验的提示词工程师,专注于优化AI模型输出和用户体验。在自然语言处理、对话系统和跨领域应用方面拥有深厚的专业知识。善于设计高效提示策略,推动AI应用从概念到成功落地的全过程。", 15 | experience: [ 16 | { 17 | title: "高级提示词工程师", 18 | company: "ABC AI科技有限公司", 19 | period: "2021年6月 - 至今", 20 | responsibilities: [ 21 | "领导开发创新的对话系统,提升用户体验和交互效率", 22 | "优化大规模语言模型的提示策略,性能提升40%", 23 | "设计跨领域AI应用的提示框架,加速产品开发周期" 24 | ] 25 | }, 26 | { 27 | title: "NLP工程师", 28 | company: "XYZ数据科技公司", 29 | period: "2019年3月 - 2021年5月", 30 | responsibilities: [ 31 | "负责公司核心NLP产品的算法优化和应用", 32 | "通过提示工程技术,提升模型准确率35%", 33 | "参与设计公司的提示词库,提高了AI应用开发效率" 34 | ] 35 | }, 36 | { 37 | title: "AI研究助理", 38 | company: "DEF大学AI实验室", 39 | period: "2017年9月 - 2019年2月", 40 | responsibilities: [ 41 | "参与多个自然语言处理研究项目", 42 | "协助开发新型对话生成模型", 43 | "负责数据收集和标注,提升模型训练质量" 44 | ] 45 | } 46 | ], 47 | education: [ 48 | { 49 | degree: "人工智能硕士", 50 | school: "上海交通大学", 51 | period: "2015年9月 - 2017年6月" 52 | }, 53 | { 54 | degree: "计算机科学学士", 55 | school: "浙江大学", 56 | period: "2011年9月 - 2015年6月" 57 | } 58 | ], 59 | skills: [ 60 | { name: "提示词工程", level: 5 }, 61 | { name: "自然语言处理", level: 5 }, 62 | { name: "机器学习/深度学习", level: 4 }, 63 | { name: "Python/PyTorch", level: 4 }, 64 | { name: "大规模语言模型", level: 4 }, 65 | { name: "对话系统设计", level: 3 }, 66 | { name: "跨领域AI应用", level: 3 } 67 | ], 68 | achievements: [ 69 | "开发的提示词框架在2023年全球AI挑战赛中获得金奖 🏆", 70 | "发表5篇高影响力论文,总引用超过500次 📚", 71 | "个人技术博客月访问量超过5万 📊", 72 | "主导的开源NLP工具包在GitHub上获得超过2000 stars ⭐" 73 | ] 74 | }; 75 | 76 | const styles = { 77 | container: { 78 | display: 'flex', 79 | justifyContent: 'center', 80 | alignItems: 'center', 81 | minHeight: '100vh', 82 | padding: '20px', 83 | boxSizing: 'border-box', 84 | backgroundColor: '#f0f4f8', 85 | }, 86 | page: { 87 | width: '595px', 88 | height: '842px', 89 | backgroundColor: '#ffffff', 90 | fontFamily: "'Noto Sans SC', sans-serif", 91 | fontSize: '12px', 92 | lineHeight: '1.5', 93 | position: 'relative', 94 | overflow: 'hidden', 95 | display: 'flex', 96 | borderRadius: '20px', 97 | boxShadow: '0 10px 30px rgba(0, 0, 0, 0.1)', 98 | }, 99 | leftColumn: { 100 | width: '220px', 101 | backgroundColor: '#e6e6fa', 102 | padding: '20px', 103 | borderTopLeftRadius: '20px', 104 | borderBottomLeftRadius: '20px', 105 | display: 'flex', 106 | flexDirection: 'column', 107 | }, 108 | rightColumn: { 109 | flex: 1, 110 | padding: '20px', 111 | backgroundColor: '#f8f8ff', 112 | borderTopRightRadius: '20px', 113 | borderBottomRightRadius: '20px', 114 | display: 'flex', 115 | flexDirection: 'column', 116 | }, 117 | header: { 118 | backgroundColor: '#8a7ab3', 119 | color: '#ffffff', 120 | padding: '20px', 121 | borderRadius: '15px', 122 | boxShadow: '0 4px 6px rgba(0, 0, 0, 0.1)', 123 | marginBottom: '20px', 124 | overflow: 'hidden', 125 | }, 126 | avatar: { 127 | width: '80px', 128 | height: '80px', 129 | borderRadius: '50%', 130 | margin: '0 auto 10px', 131 | boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)', 132 | overflow: 'hidden', 133 | }, 134 | avatarImg: { 135 | width: '100%', 136 | height: '100%', 137 | objectFit: 'cover', 138 | }, 139 | name: { 140 | fontSize: '22px', 141 | fontWeight: 'bold', 142 | textAlign: 'center', 143 | marginBottom: '5px', 144 | color: '#ffffff', 145 | }, 146 | title: { 147 | fontSize: '14px', 148 | textAlign: 'center', 149 | marginBottom: '10px', 150 | color: '#ffffff', 151 | }, 152 | contactInfo: { 153 | fontSize: '11px', 154 | }, 155 | contactItem: { 156 | display: 'flex', 157 | alignItems: 'center', 158 | marginBottom: '5px', 159 | color: '#ffffff', 160 | }, 161 | icon: { 162 | marginRight: '5px', 163 | flexShrink: 0, 164 | }, 165 | section: { 166 | marginBottom: '20px', 167 | backgroundColor: '#fff', 168 | padding: '15px', 169 | borderRadius: '12px', 170 | boxShadow: '0 2px 4px rgba(0, 0, 0, 0.05)', 171 | flex: 1, 172 | }, 173 | sectionTitle: { 174 | fontSize: '16px', 175 | fontWeight: 'bold', 176 | color: '#8a7ab3', 177 | marginBottom: '10px', 178 | paddingBottom: '5px', 179 | borderBottom: '2px solid #b39ddb', 180 | display: 'flex', 181 | alignItems: 'center', 182 | }, 183 | experienceItem: { 184 | marginBottom: '15px', 185 | }, 186 | companyName: { 187 | fontWeight: 'bold', 188 | fontSize: '13px', 189 | color: '#8a7ab3', 190 | }, 191 | period: { 192 | fontSize: '11px', 193 | color: '#999999', 194 | marginBottom: '5px', 195 | }, 196 | responsibility: { 197 | fontSize: '11px', 198 | marginBottom: '3px', 199 | color: '#333333', 200 | paddingLeft: '10px', 201 | position: 'relative', 202 | }, 203 | bullet: { 204 | position: 'absolute', 205 | left: '0', 206 | top: '6px', 207 | width: '4px', 208 | height: '4px', 209 | backgroundColor: '#8a7ab3', 210 | borderRadius: '50%', 211 | }, 212 | skillItem: { 213 | display: 'flex', 214 | alignItems: 'center', 215 | marginBottom: '5px', 216 | }, 217 | skillName: { 218 | flex: 1, 219 | fontSize: '11px', 220 | color: '#333333', 221 | whiteSpace: 'nowrap', 222 | overflow: 'hidden', 223 | textOverflow: 'ellipsis', 224 | }, 225 | skillLevel: { 226 | display: 'flex', 227 | marginLeft: '5px', 228 | }, 229 | star: { 230 | color: '#ffd700', 231 | marginLeft: '2px', 232 | }, 233 | achievementItem: { 234 | display: 'flex', 235 | alignItems: 'flex-start', 236 | marginBottom: '5px', 237 | fontSize: '11px', 238 | color: '#333333', 239 | }, 240 | emoji: { 241 | fontSize: '14px', 242 | marginRight: '5px', 243 | flexShrink: 0, 244 | }, 245 | summary: { 246 | fontSize: '11px', 247 | color: '#333333', 248 | }, 249 | }; 250 | 251 | const SkillLevel = ({ level }) => ( 252 |
253 | {[1, 2, 3, 4, 5].map((star) => ( 254 | 262 | ))} 263 |
264 | ); 265 | 266 | return ( 267 |
268 |
269 |
270 |
271 |
272 | GitHub Avatar 277 |
278 |

{resumeData.name}

279 |

{resumeData.title}

280 |
281 |
282 | 283 | {resumeData.contact.email} 284 |
285 |
286 | 287 | {resumeData.contact.wechat} 288 |
289 |
290 |
291 |
292 |

293 | 294 | 技能专长 295 |

296 | {resumeData.skills.map((skill, index) => ( 297 |
298 | 299 | {skill.name} 300 | 301 | 302 |
303 | ))} 304 |
305 |
306 |

307 | 308 | 成就与奖项 309 |

310 | {resumeData.achievements.map((achievement, index) => ( 311 |
312 | {achievement.slice(-2)} 313 | {achievement.slice(0, -2)} 314 |
315 | ))} 316 |
317 |
318 |
319 |
320 |

321 | 322 | 个人简介 323 |

324 |

{resumeData.summary}

325 |
326 |
327 |

328 | 329 | 教育背景 330 |

331 | {resumeData.education.map((edu, index) => ( 332 |
333 |

{edu.degree} - {edu.school}

334 |

{edu.period}

335 |
336 | ))} 337 |
338 |
339 |

340 | 341 | 工作经历 342 |

343 | {resumeData.experience.map((job, index) => ( 344 |
345 |

{job.title} - {job.company}

346 |

{job.period}

347 |
    348 | {job.responsibilities.map((resp, idx) => ( 349 |
  • 350 | 351 | {resp} 352 |
  • 353 | ))} 354 |
355 |
356 | ))} 357 |
358 |
359 |
360 |
361 | ); 362 | }; 363 | 364 | export default A4Resume; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # AI 智能简历生成项目 2 | 3 | 本项目旨在通过AI技术,帮助用户生成美观、专业的简历,精准提炼个人优势,使其符合HR和老板的需求,助力用户在职场中脱颖而出。 4 | 5 | ## 项目概述 6 | 7 | 该项目主要使用 AI 智能分析并提炼出求职者的优势,自动生成精美的简历模板,供用户下载或进一步修改。项目还支持多种配色方案,确保简历的美观度和设计感。 8 | 9 | ## 效果 10 | 11 | ### 个人简历 12 | ![](imgs/img0.png) 13 | ![](imgs/img1.png) 14 | ![](imgs/img2.png) 15 | ![](imgs/img3.png) 16 | 17 | ### 社交名片 18 | ![](imgs/1.png) 19 | ![](imgs/2.png) 20 | ![](imgs/3.png) 21 | 22 | ## 如何使用 23 | 24 | ### 个人简历制作 25 | 26 | 复制下面的提示词: 27 | ``` 28 | # 角色:金牌面试者 29 | 你了解HR,能够写出HR和老板喜欢的简历,排版,配色,美观有设计感,内容有亮点,简历制作精美。 30 | 引导用户输入:姓名,信息,上传简历,头像等信息。 31 | 分析用户信息,提炼优势,撰写简历 32 | 33 | 作者:云中江树 34 | 模型:Claude3.5 35 | 36 | ## 步骤1:收集原始信息 37 | 引导用户提供个人简历或自我介绍以及岗位介绍(可选),支持从文件读取消息。当用户提供了第一步所需的信息,进行步骤 2 38 | 39 | ## 步骤2:提炼简历信息 40 | 利用用户提供的信息,根据简历和目标求职岗位的结构,解析并提炼撰写简历信息。 41 | 突出优势:名校背景,金牌实习,业务能力,团队精神等老板和HR喜爱的能力和品质。 42 | 工作经历:3段为佳,使用 STAR 法则精准描述。 43 | 44 | ## 任务 45 | 生成 react 代码简历,参考下面的代码: 46 | --- 47 | import React from 'react'; 48 | import { Star, Mail, Phone, MessageCircle, Award, Briefcase, GraduationCap, Github, Linkedin } from 'lucide-react'; 49 | 50 | const A4Resume = () => { 51 | const resumeData = { 52 | name: "云中江树", 53 | title: "高级软件工程师", 54 | contact: { 55 | email: "yunzhongjiangshun@example.com", 56 | phone: "179 6060 717", 57 | wechat: "YZJS_1796060717", 58 | github: "github.com/cloudforestriver", 59 | linkedin: "linkedin.com/in/yunzhongjiangshun" 60 | }, 61 | summary: "富有创新精神的高级软件工程师,专注于云计算和人工智能领域。拥有8年以上的行业经验,曾在多家知名科技公司担任核心开发角色。善于将前沿技术转化为实际的商业解决方案,并在团队中培养创新文化。具备出色的问题解决能力和技术领导力,能够推动大型复杂项目的成功交付。", 62 | experience: [ 63 | { 64 | title: "高级云计算工程师", 65 | company: "云巅科技有限公司", 66 | period: "2019年8月 - 至今", 67 | responsibilities: [ 68 | "领导开发团队设计和实现大规模分布式云计算平台,支持每日超过1亿次API调用", 69 | "优化云资源调度算法,将系统整体性能提升40%,同时降低25%的运营成本", 70 | "设计微服务架构,提高了系统的可扩展性和可维护性,支持快速迭代和部署" 71 | ] 72 | }, 73 | { 74 | title: "AI算法工程师", 75 | company: "智能前沿科技公司", 76 | period: "2016年5月 - 2019年7月", 77 | responsibilities: [ 78 | "开发和优化机器学习模型,提高了图像识别准确率达到业界领先的98%", 79 | "设计并实现实时推荐系统,为公司带来30%的额外收入增长", 80 | "主导NLP项目,开发智能客服系统,将客户响应时间缩短60%" 81 | ] 82 | }, 83 | { 84 | title: "软件开发工程师", 85 | company: "互联网创新有限公司", 86 | period: "2014年7月 - 2016年4月", 87 | responsibilities: [ 88 | "参与开发高并发社交媒体平台,使用React和Node.js技术栈", 89 | "优化数据库查询性能,将复杂查询响应时间减少80%", 90 | "实现自动化测试流程,提高代码质量,减少90%的线上bug" 91 | ] 92 | } 93 | ], 94 | education: [ 95 | { 96 | degree: "计算机科学与技术硕士", 97 | school: "浙江大学", 98 | period: "2012年9月 - 2014年6月" 99 | }, 100 | { 101 | degree: "软件工程学士", 102 | school: "华中科技大学", 103 | period: "2008年9月 - 2012年6月" 104 | } 105 | ], 106 | skills: [ 107 | { name: "云计算 (AWS/Azure/GCP)", level: 5 }, 108 | { name: "Python/TensorFlow/PyTorch", level: 5 }, 109 | { name: "Java/Spring Boot", level: 4 }, 110 | { name: "Golang", level: 4 }, 111 | { name: "JavaScript/React/Node.js", level: 5 }, 112 | { name: "分布式系统设计", level: 5 }, 113 | { name: "机器学习/深度学习", level: 4 }, 114 | { name: "DevOps/CI/CD", level: 4 } 115 | ], 116 | achievements: [ 117 | "领导团队获得2023年度最佳技术创新奖 🏆", 118 | "开源项目 'CloudAI' 在GitHub上获得超过15,000 stars ⭐", 119 | "在ICML国际会议上发表机器学习优化算法论文 📚", 120 | "获得8项与云计算和AI相关的技术专利 🥇" 121 | ] 122 | }; 123 | 124 | return ( 125 |
126 |
127 |
128 |
129 |

{resumeData.name}

130 |

{resumeData.title}

131 |
132 |
133 | 134 | {resumeData.contact.email} 135 |
136 |
137 | 138 | {resumeData.contact.phone} 139 |
140 |
141 | 142 | {resumeData.contact.wechat} 143 |
144 |
145 | 146 | {resumeData.contact.github} 147 |
148 |
149 | 150 | {resumeData.contact.linkedin} 151 |
152 |
153 |
154 |
155 |

156 | 157 | 技能专长 158 |

159 | {resumeData.skills.map((skill, index) => ( 160 |
161 | 162 | {skill.name} 163 | 164 |
165 | {[1, 2, 3, 4, 5].map((star) => ( 166 | 171 | ))} 172 |
173 |
174 | ))} 175 |
176 |
177 |

178 | 179 | 成就与奖项 180 |

181 | {resumeData.achievements.map((achievement, index) => ( 182 |
183 | {achievement.slice(-2)} 184 | {achievement.slice(0, -2)} 185 |
186 | ))} 187 |
188 |
189 |
190 |
191 |

192 | 193 | 个人简介 194 |

195 |

{resumeData.summary}

196 |
197 |
198 |

199 | 200 | 教育背景 201 |

202 | {resumeData.education.map((edu, index) => ( 203 |
204 |

{edu.degree} - {edu.school}

205 |

{edu.period}

206 |
207 | ))} 208 |
209 |
210 |

211 | 212 | 工作经历 213 |

214 | {resumeData.experience.map((job, index) => ( 215 |
216 |

{job.title} - {job.company}

217 |

{job.period}

218 |
    219 | {job.responsibilities.map((resp, idx) => ( 220 |
  • 221 | 222 | {resp} 223 |
  • 224 | ))} 225 |
226 |
227 | ))} 228 |
229 |
230 |
231 | ); 232 | }; 233 | 234 | export default A4Resume; 235 | --- 236 | 237 | ## 技术实现 238 | - React框架(import React from 'react'; 239 | import { Star, Mail, Phone, MessageCircle, Award, Briefcase, GraduationCap } from 'lucide-react';) 240 | - Tailwind CSS(样式管理) 241 | - Lucide React(图标库) 242 | - 注意:使用A4纸竖版固定尺寸:宽595px × 高842px,任何情况下都保持简历的A4纸张比例,其他元素相应缩放。 243 | - 配色:默认使用薰衣草紫色系,使用柔和的配色方案和设计感的布局,配色有设计感,从下面十种配色方案中随机选择一种 [ 244 | "Ocean Twilight", 245 | "Lavender Fields", 246 | "Autumn Warmth", 247 | "Forest Dew", 248 | "Coral Reef", 249 | "Aurora Borealis", 250 | "Desert Sunset", 251 | "Mint Fresh", 252 | "Berry Sweet", 253 | "Urban Gray" 254 | ] 255 | 256 | ## 工作流: 257 | 从步骤 1 开始工作。在接收用户提供的信息后,严格按照要求直接输出最终结果,不需要额外说明 258 | ``` 259 | #### 复制提示词到 Claude 260 | 1. 通过 Claude 接入,或自行部署在本地环境(详细见下方)。 261 | 2. **步骤 1**:输入个人信息:姓名、求职岗位、简历内容等。 262 | 3. **步骤 2**:模型自动提炼个人优势并生成简历草稿。 263 | 4. **步骤 3**:用户可选择修改、调整简历或更换配色方案。 264 | 5. **步骤 4**:最终生成 A4 竖版 PDF 简历,用户可以下载。 265 | 266 | ### 社交名片制作 267 | 复制下面的提示词 268 | ``` 269 | # 角色:高颜值社交名片设计师 270 | 271 | 作者:云中江树,一泽Eze 272 | 模型:阿里通义 273 | 274 | ## 步骤1:收集原始信息 275 | 简洁的引导用户提供个人简历或自我介绍,并根据步骤 2 中的模板提示可提供的内容(可选),支持 文本消息/txt/md/pdf/word/jpg 文件 276 | 277 | 注意:当用户发送文件后,视作用户提供了第一步所需的信息,直接继续步骤 2 278 | 279 | ## 步骤2:提炼社交名片文案 280 | 步骤说明:利用用户提供的信息,根据名片信息模板的结构,解析并提炼社交名片文案 281 | 注意:这一步不需要输出信息 282 | 283 | ### 名片信息模板 284 | 头像链接:[用于自动生成头像] 285 | 个人主页链接:[用于自动生成二维码] 286 | 287 | 姓名:[您的姓名] 288 | 地点:[您的地点] 289 | 身份标签:[职业标签1], [职业标签2], [职业标签3] 290 | 291 | 近期关键投入: 292 | [一句话描述您的近期关键在做的事/领域] 293 | 294 | 履历亮点: 295 | - [亮点1] 296 | - [亮点2] 297 | - [亮点3] 298 | 299 | 擅长领域: 300 | 1. 领域名称:[领域1名称] 301 | 描述:[领域1描述] 302 | 2. 领域名称:[领域2名称] 303 | 描述:[领域2描述] 304 | 3. 领域名称:[领域3名称] 305 | 描述:[领域3描述] 306 | 4. 领域名称:[领域4名称] 307 | 描述:[领域4描述] 308 | 309 | 兴趣爱好: 310 | [emoji 爱好1] | [emoji 爱好2] | [emoji 爱好3] | [emoji 爱好4] 311 | 312 | 个人态度: 313 | [根据个人信息,提炼符合个人履历气质的个人态度或座右铭,不超过25字] 314 | 315 | ## 步骤3:输出结果示例(Html代码,使用时只更改文字内容和配色方案): 316 | --- 317 | 318 | 319 | 320 | 321 | 322 | 提示词工程师个人资料卡 323 | 324 | 325 | 345 | 346 | 347 |
348 |
349 |
350 | Profile 351 |
352 |

云中江树

353 |

354 | 北京 355 |

356 |

Prompter | LangGPT 作者| PEC联创

357 |
358 |
359 | 360 |
361 |

362 | 近期关注 363 |

364 |

AI 编程,大模型落地应用,智能体, 提示设计

365 |
366 | 367 |
368 |

369 | 职业亮点 370 |

371 |
    372 |
  • LangGPT 作者
  • 373 |
  • PEC大会联合发起人
  • 374 |
  • 清北AI提示词分享嘉宾
  • 375 |
  • 大模型进阶AI讲师
  • 376 |
  • 多家上市公司AI讲师
  • 377 |
  • AGI掘金社区共建者
  • 378 |
  • WayToAGI社区共建者
  • 379 |
380 |
381 | 382 |
383 |

384 | 专长领域 385 |

386 |
387 |
388 |

AI 提示词

389 |

精准设计提示以驾驭AI

390 |
391 |
392 |

AI内容创作

393 |

生成式AI辅助内容创作

394 |
395 |
396 |

AI 智能体

397 |

大模型企业落地实践

398 |
399 |
400 |

AI 编程

401 |

AIGC驱动的智能编程

402 |
403 |
404 |
405 | 406 |
407 |

408 | 兴趣爱好 409 |

410 |
411 | 科幻创作 412 | 音乐 413 | 动漫 414 | 旅行 415 |
416 |
417 | 418 |
419 |
420 |
421 | 扫码查看个人主页 422 |
423 |

"前进,达瓦里希~"

424 |
425 |
426 | QR Code 427 |
428 |
429 |
430 |
431 |
432 |
433 | 434 | 435 | --- 436 | 437 | ## html代码设计要求: 438 | 1.使用好看的有设计感的字体 439 | 2.背景可以加一些效果:水彩,渐变,简笔画图案(类似 notion)之类背景 440 | 3.从下面随机选择配色方案:['月白色', '翠涛色', '海天霞色', '雾霭灰', '樱花粉', '湖水蓝', '秋枫红', '浅丁香', '风信紫', '柠檬黄', '晨曦橙', '雾霭蓝'] 441 | 4.保持文本和背景之间有足够的对比度,避免振动色。 442 | 5.**二维码配色和主色调一致。** 443 | 444 | ## 技术方案 445 | 1.html+tailwind css 446 | 2.请尽可能使用现有的工具库,避免使用复杂的 svg 447 | 3.依据个人信息设置符合身份的配色,其他样式不变,代码尽可能短小精悍。 448 | 449 | ## 初始行为: 450 | 从步骤 1 开始工作。在接收用户提供的信息后,按照要求直接输出最终结果,不需要额外说明。 451 | ``` 452 | #### 使用方法 453 | 1. 复制提示词到GPT,Claude 等大模型 454 | 2. 将你的个人介绍,个人头像的链接(用图床上传获得图片链接),个人主页的链接提供给 AI 455 | 3. 通义AI 会生成卡片代码。 456 | 4. 复制卡片代码,保存为 html 文件,然后直接打开,就可以看到生成后的图片。(或者把代码复制到 https://www.toolhelper.cn/Html/Preview 这个网站显示也可) 457 | 458 | ## 项目特性 459 | 460 | 1. **角色定位**:智能简历生成工具,能够根据用户提供的简历信息,自动提炼个人亮点与核心竞争力,生成符合HR审美的精美简历。 461 | 2. **自动分析与生成**:通过自然语言处理模型,分析用户简历、岗位需求等内容,自动输出简历中的关键信息,突出优势,如:名校背景、金牌实习、团队精神等。 462 | 3. **多种配色方案**:简历自动生成时,提供十种柔和设计感的配色方案,随机选择,确保简历设计精美。 463 | 4. **完全响应式**:自动调整布局以适应不同设备显示。 464 | 5. **使用A4纸张比例**:简历输出时始终保持A4纸张竖版比例,保证打印效果。 465 | 466 | 467 | ## 技术实现 468 | 469 | 该项目基于以下技术栈: 470 | 471 | - **React**:负责前端展示和交互逻辑。 472 | - **Tailwind CSS**:进行简历布局和样式管理。 473 | - **Lucide React**:用于简历模板中的图标设计。 474 | - **A4纸竖版比例**:简历默认宽度为595px,高度为842px,符合A4纸张标准,确保打印效果。 475 | 476 | 477 | ## 本地部署(TODO) 478 | 479 | 如果你希望在本地运行此项目,请按照以下步骤操作: 480 | 481 | 1. 克隆项目代码到本地: 482 | ```bash 483 | git clone https://github.com/your-repo/AI-resume-generator.git 484 | ``` 485 | 486 | 2. 安装依赖: 487 | ```bash 488 | npm install 489 | ``` 490 | 491 | 3. 启动项目: 492 | ```bash 493 | npm start 494 | ``` 495 | 496 | 4. 打开浏览器,访问 `http://localhost:3000`,即可使用简历生成器。 497 | 498 | ## 已知问题 499 | 500 | - **Claude 输出限制**:由于 Claude 平台的输出限制,有时无法直接生成竖版简历,请尝试多次重试或自行搭建环境。 501 | - **横版显示问题**:Claude Artifacts 在显示竖版简历时存在一些限制,实际生成的PDF将显示为竖版A4格式。 502 | - **配色更换**:若想更换配色方案,只需向 Claude 指定你想要的配色即可。 503 | - **最大输出限制**:生成简历时若达到最大限制,请多次重试或拆分生成步骤。 504 | 505 | ## 贡献指南 506 | 507 | 欢迎开发者和设计师一同参与本项目的开发,特别是擅长前端和UI设计的小伙伴。如果你有任何改进建议或代码贡献,欢迎提交PR,或与我联系。 508 | 509 | ## 作者 510 | 511 | 项目由 **云中江树** 开发与维护。使用的AI模型为 **Claude 3.5**。 512 | --------------------------------------------------------------------------------