-
Notifications
You must be signed in to change notification settings - Fork 15
Feat/intent explicit separation #340
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Feat/intent explicit separation #340
Conversation
…with specialized agents and user memory.
- Implemented `BaseLangChainAgent` abstract class to encapsulate model and configuration. - Added local `createAgent` and `createMiddleware` implementations to resolve package compatibility issues. - Refactored `ExplicitIntentDetector` to extend `BaseLangChainAgent`, utilizing structured output (`responseFormat`) and private model state. - Consolidated intent inferrer configuration and schemas into `explicit.inferrer.ts`. - Added JSDoc documentation with usage examples for key methods. - Restored `traceableLlm`, `traceableStructuredLlm`, and `withTimeoutAndRetry` to maintain support for legacy agents (`vibe_checker`, `semantic_relevancy`). - Cleaned up unused configuration files and temporary scripts.
- Added langchain dependency to package.json - Updated yarn.lock - Updated implementation_plan.md with correct paths
…tion
- Implemented `ParallelClient` (refactored to `parallel.ts`) for searching users via Parallel.ai API.
- Implemented `ProfileGenerator` agent to synthesize `UserProfile` from Parallel.ai data.
- Added comprehensive Zod schema for UserProfile including narrative fields (context, aspirations).
- Added `profile.generator.types.ts` for pure interfaces.
- Added `profile.generator.spec.ts` as a standalone test script.
- Updated `ExplicitInferrer` to handle intent deduplication.
- Prompt now checks `activeIntents` to Create, Update, or Expire intents.
- Updated `IntentManager` to pass `activeIntents` context to inference agents.
- Updated DB Schema (`src/lib/schema.ts`) to include `profile` JSON column for Users.
- Updated `db-seed.ts` to:
- Use mock Parallel data from `test-data.ts`.
- Generate profiles for test users using the new agent.
- Promote implicit intents to explicit ones.
- Refactored test files to be standalone `ts-node` scripts matching project patterns.
…ence - Refactor user_profiles table to use identity JSON column.\n- Update auth.ts endpoints and profile repair logic.\n- Fix database migration sync issues.\n- Refine ExplicitIntentDetector to bootstrap from narrative.\n- Improve LangChain model resolution fallback.
…s insert with schema
…vices - Create UserService for dedicated user table operations - Decouple AuthService and ProfileService from direct user table access - Orchestrate service interactions in auth routes - Fix circular dependencies and improve separation of concerns
- Corrected API endpoints for profile update and generation to match backend routes. - Removed fallback mock indexes in onboarding to prevent confusion when no indexes are found.
…M for reconciliation
- Implemented agent for user matchmaking (). - Extracted to its own module (). - Refactored internal services (, ) to use lazy initialization, enabling side-effect-free testing. - Created standalone test scripts for and . - Updated schema to support user profile embeddings. - Moved to dedicated directory structure.
- Add 3rd-person HyDE generator for Ideal Match Profiling - Refactor Opportunity Finder to prioritize HyDE descriptions - Add score stability enforcement (temperature=0.1) and tests - Backfill missing HyDE data in background jobs - Add manual schema fix script and update schema definitions - Add dev endpoint module for triggering matchmaking
- HyDE Generator: Refined prompts for 'Hypothetical User', disabled location hallucination, increased temp to 0.5. - Profile Generator: Switched to gpt-4o-mini, adjusted bio length to 2-3 sentences. - Tests: Updated specs with realistic mock data (Seref Yarar) for better validation. - Events: Refactored intent indexing to prefer queuing over immediate execution. - Misc: Deprecated introMaker, formatted ProfileService.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Updated @privy-io/react-auth to ^3.8.1, next to 15.5.9, and eslint-config-next to 15.5.9 in package.json. These upgrades improve compatibility, security, and access to new features. Updated yarn.lock to reflect these changes and synchronize dependency versions.
Upgraded several dependencies and devDependencies in frontend/package.json, including @lobehub/icons, express, react-syntax-highlighter, @eslint/eslintrc, tailwindcss, and others. Added a resolutions field to address specific sub-dependency versions. Corresponding updates were made in yarn.lock files. Similar dependency updates were made in protocol/package.json and protocol/yarn.lock.
Refactored the settings page to fetch the current user's permissions independently from the members list using a new service method. Added getCurrentUserMemberSettings to indexesService to support this, improving reliability and separation of concerns for permission handling.
Updated the system message and examples to require concise 1-2 sentence explanations and punchy titles for match synthesis. Clarified style, formatting, and hyperlinking rules, and expanded example outputs to better guide the generation of warm, direct, and actionable match summaries.
…vergence detection and add a corresponding test.
Summary
This PR integrates HyDE (Hypothetical Document Embeddings) into the matchmaking system to improve recommendation quality by matching against an 'ideal candidate' persona rather than the source user's raw profile.
Key Changes
HyDE Integration
HydeGeneratorAgentto generate a 3rd-person description of an Ideal Match.locationandcontextwere omitted from embedding inputs.Opportunity Finder
OpportunityFinderto prioritize thehydeDescriptionwhen analyzing matches.temperature: 0.1and added regression tests to ensure deterministic scoring.opportunity-finderjob.Schema & Database
hydeDescriptionandhydeEmbeddingtouser_profiles.src/cli/fix-schema.tsto handle connectivity issues during migration.Event System Refactor
Testing
HydeGeneratorandOpportunityFinder.