From 627c99b6bcc5f017edd1797b96c238fd50965e55 Mon Sep 17 00:00:00 2001 From: Thomas Davis Date: Tue, 19 Nov 2024 21:19:32 +1100 Subject: [PATCH] fix: added misc fixe. updated gpt model --- apps/registry/app/[username]/letter/page.js | 2 -- apps/registry/app/[username]/suggestions/page.js | 2 -- apps/registry/lib/calculations.js | 10 +++++++--- apps/registry/pages/api/letter.js | 2 +- apps/registry/pages/api/suggestions-beta.js | 2 +- apps/registry/pages/api/suggestions.js | 2 +- apps/registry/scripts/jobs/gpted.js | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/registry/app/[username]/letter/page.js b/apps/registry/app/[username]/letter/page.js index 6a072e6a..670c4d8e 100644 --- a/apps/registry/app/[username]/letter/page.js +++ b/apps/registry/app/[username]/letter/page.js @@ -6,7 +6,6 @@ import { useSearchParams } from 'next/navigation'; import ReactMarkdown from 'react-markdown'; import Hero from '../../../src/ui/Hero'; import Loading from '../../components/Loading'; -import { track } from '@vercel/analytics/server'; export default function Letter({ params }) { const searchParams = useSearchParams(); @@ -30,7 +29,6 @@ export default function Letter({ params }) { useEffect(() => { if (submitting) { - track('ResumeLetter', { username }); const fetchData = async () => { try { const response = await axios.post('/api/letter', { diff --git a/apps/registry/app/[username]/suggestions/page.js b/apps/registry/app/[username]/suggestions/page.js index 9b31851b..00ff79d2 100644 --- a/apps/registry/app/[username]/suggestions/page.js +++ b/apps/registry/app/[username]/suggestions/page.js @@ -5,7 +5,6 @@ import { useEffect, useState } from 'react'; import Hero from '../../../src/ui/Hero'; import ReactMarkdown from 'react-markdown'; import Loading from '../../components/Loading'; -import { track } from '@vercel/analytics/server'; export default function Suggestions({ params }) { const { username } = params; @@ -16,7 +15,6 @@ export default function Suggestions({ params }) { useEffect(() => { if (submitting) { - track('ResumeSuggestions', { username }); const fetchData = async () => { try { const response = await axios.post('/api/suggestions', { diff --git a/apps/registry/lib/calculations.js b/apps/registry/lib/calculations.js index c3051f12..1c73705f 100644 --- a/apps/registry/lib/calculations.js +++ b/apps/registry/lib/calculations.js @@ -7,7 +7,7 @@ import nlp from 'compromise'; * @returns {Object} - An object containing the total work experience in years, months, and days. */ export function totalExperience(resume) { - const workHistory = resume.work; + const workHistory = resume.work || []; const dateRanges = workHistory.map((job) => ({ startDate: new Date(job.startDate), endDate: job.endDate ? new Date(job.endDate) : new Date(), @@ -17,7 +17,7 @@ export function totalExperience(resume) { dateRanges.sort((a, b) => a.startDate - b.startDate); // Merge overlapping date ranges - const mergedRanges = []; + let mergedRanges = []; let currentRange = dateRanges[0]; for (let i = 1; i < dateRanges.length; i++) { @@ -39,7 +39,11 @@ export function totalExperience(resume) { // Calculate total experience from merged ranges let totalExperienceInDays = 0; + // Remove undefined or invalid date ranges + mergedRanges = mergedRanges.filter(Boolean); + mergedRanges.forEach((range) => { + console.log({ range, mergedRanges }); const experience = (range.endDate - range.startDate) / (1000 * 60 * 60 * 24); // Convert milliseconds to days totalExperienceInDays += experience; @@ -127,7 +131,7 @@ export function averageJobDuration(resume) { * @returns {Array} - An array of objects representing the career progression with title and duration in years and months. */ export function careerProgression(resume) { - const workHistory = resume.work; + const workHistory = resume.work || []; const progressionMap = new Map(); workHistory.forEach((job) => { diff --git a/apps/registry/pages/api/letter.js b/apps/registry/pages/api/letter.js index e0402242..147fef20 100644 --- a/apps/registry/pages/api/letter.js +++ b/apps/registry/pages/api/letter.js @@ -25,7 +25,7 @@ export default async function handler(req, res) { const gpt = new ChatGPTAPI({ apiKey: process.env.OPENAI_API_KEY, - model: 'gpt-4o-2024-08-06', + model: 'gpt-4o-mini', completionParams: { temperature: 0.85, }, diff --git a/apps/registry/pages/api/suggestions-beta.js b/apps/registry/pages/api/suggestions-beta.js index 198f74b5..6d288725 100644 --- a/apps/registry/pages/api/suggestions-beta.js +++ b/apps/registry/pages/api/suggestions-beta.js @@ -145,7 +145,7 @@ export default async function handler(req, res) { ]; const chat = await openai.chat.completions.create({ - model: 'gpt-4o-2024-08-06', + model: 'gpt-4o-mini', temperature: 0.7, messages, functions, diff --git a/apps/registry/pages/api/suggestions.js b/apps/registry/pages/api/suggestions.js index 7cecac08..296ca222 100644 --- a/apps/registry/pages/api/suggestions.js +++ b/apps/registry/pages/api/suggestions.js @@ -53,7 +53,7 @@ export default async function handler(req, res) { ]; const chat = await openai.chat.completions.create({ - model: 'gpt-4o-2024-08-06', + model: 'gpt-4o-mini', temperature: 0.85, messages, }); diff --git a/apps/registry/scripts/jobs/gpted.js b/apps/registry/scripts/jobs/gpted.js index e3e97f16..2d409563 100644 --- a/apps/registry/scripts/jobs/gpted.js +++ b/apps/registry/scripts/jobs/gpted.js @@ -270,7 +270,7 @@ async function main() { ]; if (!job.gpt_content) { const chat = await openai.chat.completions.create({ - model: 'gpt-4o-2024-08-06', + model: 'gpt-4o-mini', temperature: 0.8, messages, functions: [