PHP code example of kabdullah27 / php-token-squeezer
1. Go to this page and download the library: Download kabdullah27/php-token-squeezer library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kabdullah27 / php-token-squeezer example snippets
use TokenSqueezer\TokenSqueezer;
use TokenSqueezer\CompressMode;
TokenSqueezer::configure([
'default_provider' => 'openai',
'providers' => [
'openai' => [
'api_key' => getenv('OPENAI_API_KEY'),
'model' => 'gpt-4o-mini',
],
],
'cache' => ['driver' => 'file'],
'monitor' => true,
]);
$result = TokenSqueezer::analyze()
->context([
'symbol' => 'BTCUSDT',
'price' => 104500,
'rsi' => 74,
'macd' => 'cross_up',
'trend' => 'bullish',
'volume_spike' => true,
])
->compress(CompressMode::AGGRESSIVE)
->schema(['trend', 'risk', 'action'])
->temperature(0.1)
->maxTokens(80)
->cache(ttl: 60)
->via('openai')
->run();
// ['trend' => 'bullish', 'risk' => 'medium', 'action' => 'wait breakout confirmation']
$result = TokenSqueezer::analyze()
->context([
'product' => 'Nike Air Max 90',
'price' => 1200000,
'stock' => 3,
'rating' => 4.7,
'reviews' => 842,
'category' => 'sneakers',
'discount' => 15,
])
->compress(CompressMode::BALANCED)
->schema(['score', 'label', 'recommendation'])
->temperature(0.2)
->maxTokens(100)
->cache(ttl: 600)
->via('gemini')
->run();
$result = TokenSqueezer::analyze()
->context([
'subject' => 'Cannot login after password reset',
'tier' => 'premium',
'age_days' => 2,
'tags' => 'auth, reset, blocked',
])
->compress(CompressMode::BALANCED)
->prompt('Triage this support ticket: {{context}}. Assign priority and team.')
->schema(['priority', 'team', 'estimated_resolution_hours'])
->temperature(0.1)
->maxTokens(80)
->cache(ttl: 120)
->run();
$result = TokenSqueezer::analyze()
->context([
'text' => substr($userComment, 0, 200),
'user_age' => 17,
'platform' => 'forum',
'lang' => 'id',
])
->compress(CompressMode::MINIMAL)
->schema(['safe', 'category', 'action'])
->temperature(0.0)
->maxTokens(60)
->via('claude')
->run();
$result = TokenSqueezer::analyze()
->context([
'title_len' => 62,
'meta_len' => 148,
'h1_count' => 1,
'word_count' => 1450,
'keyword_density' => 1.8,
'readability' => 'grade_8',
'images_alt' => false,
])
->compress(CompressMode::AGGRESSIVE)
->schema(['seo_score', 'issues', 'priority_fix'])
->temperature(0.1)
->maxTokens(120)
->cache(ttl: 3600)
->run();
$result = TokenSqueezer::analyze()
->context([
'role' => 'Backend Engineer',
'years_exp' => 4,
'skills' => 'PHP, Laravel, MySQL, Redis, Docker',
'education' => 'S1 Informatika',
'english_level' => 'intermediate',
'location' => 'Jakarta',
'salary_expect' => 15000000,
])
->compress(CompressMode::BALANCED)
->schema(['fit_score', 'strengths', 'gaps', 'proceed'])
->temperature(0.2)
->maxTokens(150)
->via('openai', 'gpt-4o-mini')
->run();
$result = TokenSqueezer::analyze()
->context([
'system_logs' => "error: connection failed\nerror: connection failed\nerror: connection failed",
])
->compress(CompressMode::RTK) // 💡 Deduplicates repeating logs & comment lines (RTK logic)
->caveman(true) // 💡 Instructs AI to reply in extremely brief "caveman" format
->via('mimo') // 💡 Uses Xiaomi Mimo provider
->run();
TokenSqueezer::analyze()
->context(['risk_score' => 87, 'country' => 'ID', 'amount' => 500_000_000])
->system('You are a fraud detection engine. Be conservative. Always return JSON.')
->schema(['fraud_likelihood', 'flags', 'block'])
->temperature(0.0)
->maxTokens(80)
->run();
TokenSqueezer::analyze()
->context(['order_id' => 'ORD-9182', 'status' => 'pending', 'delay_days' => 4])
->prompt('Summarize this order situation: {{context}}. What should we tell the customer?')
->asText() // plain text instead of JSON
->temperature(0.3)
->maxTokens(80)
->run();
$info = TokenSqueezer::analyze()
->context(['symbol' => 'ETH', 'rsi' => 68, 'trend' => 'bullish'])
->compress(CompressMode::AGGRESSIVE)
->schema(['trend', 'risk'])
->inspect();
// $info['estimated_reduction'] => "72% (from 124 to 35 chars)"
// $info['compressed_context'] => "SMBL=ETH|RSI=68|TRND=BULL"
// $info['prompt'] => [...]
use TokenSqueezer\Contracts\CompressorInterface;
class MyDomainCompressor implements CompressorInterface
{
public function compress(array $context): string
{
// your custom logic
return implode(' ', array_map(
fn($k, $v) => strtoupper($k[0]) . ":{$v}",
array_keys($context),
$context
));
}
}
TokenSqueezer::analyze()
->context($data)
->compress(CompressMode::CUSTOM)
->addCompressor(new MyDomainCompressor())
->schema(['result'])
->run();
use TokenSqueezer\Providers\ProviderFactory;
ProviderFactory::extend('deepseek', MyDeepSeekProvider::class);
TokenSqueezer::analyze()
->context($data)
->via('deepseek', 'deepseek-chat')
->run();
// After multiple requests:
$usage = TokenSqueezer::usage();
// $usage:
// [
// 'total_requests' => 42,
// 'cache_hits' => 31,
// 'cache_hit_rate' => '73.8%',
// 'total_input_tokens' => 1840,
// 'total_output_tokens' => 430,
// 'avg_latency_ms' => 487,
// 'estimated_cost_usd' => '$0.0004',
// 'by_provider' => ['openai' => [...], 'claude' => [...]],
// ]
TokenSqueezer::resetUsage();
bash
php artisan vendor:publish --tag=token-squeezer-config