Parsez votre premier CV PDF en moins de 5 minutes.
import { parseResume } from '@edwinfom/resume-intel'
import { createDeepSeek } from '@ai-sdk/deepseek'
import { readFileSync } from 'node:fs'
const pdfBuffer = readFileSync('./cv.pdf')
const result = await parseResume(pdfBuffer, {
model: createDeepSeek({ apiKey: process.env.DEEPSEEK_API_KEY })('deepseek-chat'),
})
console.log(result.data.basics?.name) // "Jean Dupont"
console.log(result.data.work?.length) // 3
console.log(result.meta.ocrFallback) // false (true si PDF scanné)
import { parseResume } from '@edwinfom/resume-intel'
import { createOpenAI } from '@ai-sdk/openai'
const result = await parseResume(pdfBuffer, {
model: createOpenAI({ apiKey: process.env.OPENAI_API_KEY })('gpt-4o-mini'),
})
import { parseResume } from '@edwinfom/resume-intel'
import { createOpenAI } from '@ai-sdk/openai'
const result = await parseResume(pdfBuffer, {
model: createOpenAI({
baseURL: 'http://localhost:11434/v1',
apiKey: 'ollama',
})('llama3.1'),
})
import { parseResume, OcrNotEnabledError, ResumeExtractionError } from '@edwinfom/resume-intel'
try {
const result = await parseResume(pdfBuffer, { model })
} catch (error) {
if (error instanceof OcrNotEnabledError) {
console.error('OCR échoué:', error.message)
} else if (error instanceof ResumeExtractionError) {
console.error('Extraction échouée:', error.message)
console.error('Cause:', error.cause?.message)
}
}