feat: Perplexity AI Integration (#97)#930
Conversation
- Fix timeout leakage by restarting NodeJS supervisor on timeout - Add input validation for code (both eval and eval!) - Add JSDoc and input validation to lux.mjs (Node.js side) - Fix lockfile cleanup when update_lock_file: false - Fix test script path in package.json - Add Node.js unit tests for lux.mjs - Add regression test for 'keeps working after timeout' - Add comprehensive Elixir tests (return types, async, error cases) Closes Spectral-Finance#52
Adds Lux.LLM.Perplexity module with: - OpenAI-compatible chat completions API - Search domain filtering - Citation support in response metadata - Streaming support - Configurable model selection - Cost tracking via usage metadata Closes Spectral-Finance#97
|
Hi @rparcus 👋 just a friendly ping on these 5 PRs covering 8 bounties (#94, #95, #96, #97, #100, #101, #102, #103). All are ready for review:
Happy to make any changes needed. Thanks! |
|
Review assist for current head
Also note that Perplexity's changelog says Fixing the compile blocker first, then splitting streaming/cost/model-selection into explicit tested contracts, would make this much easier to validate and merge. Run-Id: |
Overview
Implements Perplexity AI LLM provider integration ($300 bounty).
Changes
Lux.LLM.Perplexitymodule with OpenAI-compatible APIsonar-pro)Technical Details
Perplexity API is OpenAI-compatible but without tool/function calling support. The implementation:
Closes #97