UNPKG

@relayplane/sdk

Version:

RelayPlane SDK with zero-config AI access, intelligent model selection, built-in examples, and contextual error handling. The easiest way to add AI to your app with automatic optimization and fallback.

170 lines (142 loc) • 5.33 kB
/** * RelayPlane SDK - GPT Examples (v0.2) * * This example demonstrates how to use RelayPlane v0.2 with OpenAI GPT models, * showcasing both the new Zero-Config Wins and advanced features. */ const RelayPlane = require('@relayplane/sdk'); async function runGPTExample() { console.log('🧠 RelayPlane SDK v0.2 - GPT Examples\n'); // Example 1: Zero-Config Win console.log('--- Example 1: Zero-Config Win ---'); console.log('Using RelayPlane.ask() with intelligent model selection\n'); try { const result = await RelayPlane.ask( "What are the key differences between neural networks and traditional algorithms?", { budget: 'moderate', priority: 'quality', taskType: 'analysis' } ); console.log('āœ… Magic response received:'); console.log('Selected Model:', result.reasoning.selectedModel); console.log('Reasoning:', result.reasoning.rationale); console.log('Response:', result.response.body.substring(0, 200) + '...\n'); } catch (error) { console.error('āŒ Magic mode failed:', error.message); if (error.getHelpfulMessage) { console.log(error.getHelpfulMessage()); } console.log('Tip: Set OPENAI_API_KEY, ANTHROPIC_API_KEY, or RELAY_API_KEY\n'); } // Example 2: Built-in Examples console.log('--- Example 2: Built-in Examples ---'); console.log('Using ready-to-use patterns\n'); try { // Creative writing example const story = await RelayPlane.examples.creativeWriting( "A robot learning to paint", { style: "short story", length: "exactly 100 words" } ); console.log('āœ… Creative story generated:'); console.log(story.substring(0, 200) + '...\n'); // Code explanation example const explanation = await RelayPlane.examples.explain( "How do neural networks work?", { level: "beginner", format: "simple" } ); console.log('āœ… Explanation generated:'); console.log(explanation.substring(0, 200) + '...\n'); } catch (error) { console.error('āŒ Examples failed:', error.message); console.log('Tip: These examples work with any available API keys\n'); } // Example 3: Advanced Relay Usage console.log('--- Example 3: Advanced Relay Control ---'); console.log('Using RelayPlane.relay() for full control\n'); try { const response = await RelayPlane.relay({ to: 'gpt-4', payload: { max_tokens: 300, temperature: 0.9, messages: [ { role: 'system', content: 'You are a helpful AI assistant that explains complex topics clearly.' }, { role: 'user', content: 'Explain quantum computing in simple terms' } ] }, metadata: { example: 'gpt-advanced', timestamp: new Date().toISOString() } }); console.log('āœ… Advanced response received:'); console.log('Relay ID:', response.relay_id); console.log('Status Code:', response.status_code); console.log('Latency:', response.latency_ms + 'ms'); console.log('Response:', response.body.choices[0].message.content.substring(0, 200) + '...\n'); } catch (error) { console.error('āŒ Advanced mode failed:', error.message); console.log('This requires valid API credentials.\n'); } // Example 4: Zero-Config Smart Usage console.log('--- Example 4: Zero-Config Smart Usage ---'); console.log('Using RelayPlane\'s intelligent features with GPT models\n'); try { const result = await RelayPlane.ask('Write a short poem about coding', { taskType: 'creative', priority: 'quality' }); console.log('āœ… Smart response received:'); console.log('Selected Model:', result.reasoning.selectedModel); console.log('Reasoning:', result.reasoning.rationale); console.log('Response:', result.response.body); console.log('Latency:', result.latency_ms + 'ms\n'); } catch (error) { console.error('āŒ Smart usage failed:', error.message); console.log('Make sure OPENAI_API_KEY is set in your environment.\n'); } // Example 5: Temperature Comparison console.log('--- Example 5: Temperature Comparison ---'); console.log('Showing how temperature affects creativity\n'); const prompt = 'Write a one-sentence description of a magical forest.'; for (const temp of [0.2, 0.7, 1.0]) { try { const result = await RelayPlane.ask(prompt, { budget: 'minimal', priority: 'speed', config: { temperature: temp, max_tokens: 50 } }); console.log(`Temperature ${temp}:`, result.response.body.trim()); } catch (error) { console.log(`Temperature ${temp}: Failed (${error.message})`); } } console.log('\nšŸŽ‰ GPT examples completed!'); console.log('šŸ’” Next steps:'); console.log(' • Try RelayPlane.ask() for zero-config magic'); console.log(' • Explore RelayPlane.examples.* for common patterns'); console.log(' • Use RelayPlane.relay() for full control'); console.log(' • Sign up at https://relayplane.com for analytics & team features'); } // Run the example if (require.main === module) { runGPTExample().catch(console.error); } module.exports = { runGPTExample };