File size: 3,398 Bytes
be99550
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
// 🌌 [BioPhys 6.0 SDK ν€΅μŠ€νƒ€νŠΈ 개발자 예제] (examples/sdk_quickstart.rs)
use biophys_engine::{BioPhysClient, BioPhysConfig};

fn main() {
    println!("============================================================");
    println!(" 🌌 [BioPhys 6.0 SDK] 개발자용 1쀄 ν€΅μŠ€νƒ€νŠΈ μ‹€μ „ 예제");
    println!("============================================================\n");

    // 1. 단 1μ€„λ‘œ BioPhys 6.0 ν΄λΌμ΄μ–ΈνŠΈ μ΄ˆκΈ°ν™”
    let mut client = BioPhysClient::new();
    println!("βœ… [SDK ν΄λΌμ΄μ–ΈνŠΈ μ΄ˆκΈ°ν™” μ™„λ£Œ]: 16GB 지평선 λͺ¨λΈ 연동 μ™„λ£Œ!\n");

    // 2. μ™„μ„±ν˜• μ§ˆμ˜μ‘λ‹΅ (Generate API)
    let prompt = "Rust Tokio와 Svelteλ₯Ό κ²°ν•©ν•˜λŠ” μ°¨μ„ΈλŒ€ μ•„ν‚€ν…μ²˜ μ½”λ“œλ₯Ό μž‘μ„±ν•΄μ€˜";
    println!("πŸ—£οΈ [μ‚¬μš©μž 질의]: \"{}\"", prompt);
    
    let response = client.generate(prompt);
    println!("πŸͺ [ν• λ‹Ήλœ λ‡Œ]: {} (ꢀ도: {:.1}AU)", response.routed_planet, response.planet_orbit_au);
    println!("⏱️ [처리 μ‹œκ°„]: {:.3} ms (μ—λ„ˆμ§€: {:.4})", response.latency_ms, response.energy_level);
    println!("πŸ”’ [ν™˜κ° 검증]: {} (곡λͺ…도: {:.1}%)\n", 
        if response.is_verified { "βœ… 검증 톡과" } else { "⚠️ κ²½κ³ " },
        response.resonance_score * 100.0);
    println!("πŸ’¬ **[μƒμ„±λœ λ‹΅λ³€]**:\n{}\n", response.text);

    // 3. μ‹€μ‹œκ°„ 토큰 슀트리밍 (Streaming API)
    println!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
    println!("⚑ [μ‹€μ‹œκ°„ 토큰 슀트리밍 API (Zero-Allocation)]");
    println!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
    print!("슀트리밍 좜λ ₯: ");
    for token in client.stream_tokens(10) {
        print!("{} ", token);
    }
    println!("\n");

    // 4. 동적 λ°”μ΄νŠΈμ½”λ“œ 인터프리터 슀크립트 μ‹€ν–‰ (Interpreter API)
    println!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
    println!("πŸ“œ [동적 λ°”μ΄νŠΈμ½”λ“œ 인터프리터 API (PhaseVM)]");
    println!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
    let script = "
        PHASE 3
        PUSH 10.5
        MUL
        STORE dynamic_result
        LOAD dynamic_result
        HALT
    ";
    let script_res = client.execute_script(script);
    println!("동적 슀크립트 μ‹€ν–‰ κ²°κ³Ό: {:?}\n", script_res);

    // 5. μ‹€μ‹œκ°„ ν…”λ ˆλ©”νŠΈλ¦¬ 쑰회 (Telemetry API)
    let tele = client.get_telemetry();
    println!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
    println!("πŸ“Š [SDK ν…”λ ˆλ©”νŠΈλ¦¬ μƒνƒœ]: ν™œμ„± λ…Έλ“œ {}개 | 계면 μ—λ„ˆμ§€ {:.4} | 처리 질의 {}건",
        tele.active_nodes, tele.avg_energy, tele.total_queries_served);
    println!("============================================================\n");
}