File size: 2,919 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 | #[path="../knowledge_base.rs"] mod knowledge_base;
#[path="../korean_telemetry.rs"] mod korean_telemetry;
#[path="../parallel_engine.rs"] mod parallel_engine;
#[path="../nlg_synthesizer.rs"] mod nlg_synthesizer;
use std::time::Instant;
use knowledge_base::MultiDomainKnowledgeBase;
use parallel_engine::LargeScaleEngine;
use korean_telemetry::TelemetryReporter;
use nlg_synthesizer::NarrativeSynthesizer;
fn main() {
println!("============================================================");
println!(" ๐จ [BioPhys] ๊ธ๋ก๋ฒ ๋ฏธ์ ์ฌ์กฐ & ์กฐํ ๋์์ธ ์ด๋ก ๋๋ฐฑ๊ณผ ์์ง");
println!("============================================================\n");
let kb = MultiDomainKnowledgeBase::new();
println!("๐ [๋ฏธ์ /๋์์ธ ์ด๋ก ์์นด์ด๋ธ ์๋ฃ] ์ด {}๊ฐ ํต์ฌ ์กฐํ/UI/UX ์ฒ ํ ์ ์ฌ", kb.art_design.len());
println!(" โโ ์ ํ/๊ธฐ๋ฅ์ฃผ์: ๋ํฐ ๋์ค ๊ตฟ ๋์์ธ 10๊ณ๋ช
, ๋ฐ์ฐํ์ฐ์ค");
println!(" โโ ํ๋ UI/UX : ๊ธ๋์ค๋ชจํผ์ฆ (Liquid Glass), ์ธ๊ฐ ์ค์ฌ ๋์์ธ (๋๋๋ ๋
ธ๋จผ)");
println!(" โโ ์๊ฐ ์กฐํ/์๋ฆฌ: ์ํ๋ค์ค ์ดํ
์์ฑ ๋๋น๋ก , ์ค์์ค ๊ตญ์ ํ์ดํฌ๊ทธ๋ํผ\n");
// ๋ํฐ ๋์ค vs ๋ฐ์ฐํ์ฐ์ค vs ๊ธ๋์ค๋ชจํผ์ฆ ์ฌ์ธต ๋น๊ต ์ง์
let prompt = "๋ํฐ ๋์ค์ ๊ตฟ ๋์์ธ 10๋ ์์น๊ณผ ๋ฐ์ฐํ์ฐ์ค ๊ธฐ๋ฅ์ฃผ์, ๊ทธ๋ฆฌ๊ณ ํ๋ ๊ธ๋์ค๋ชจํผ์ฆ UI ๋์์ธ์ ์๊ด๊ด๊ณ๋ฅผ ๋ถ์ํด์ค";
println!("๐ฃ๏ธ [๋ฏธ์ /๋์์ธ ์ด๋ก ์ฌ์ธต ์ง์]:\n \"{}\"\n", prompt);
let start = Instant::now();
let grid_size = 256;
let mut engine = LargeScaleEngine::new(grid_size);
let matched_items = kb.match_art_design(prompt);
let prompt_energy: f32 = prompt.bytes().map(|b| b as f32).sum::<f32>() / 1000.0;
for b in engine.bedrock.iter_mut() {
*b = (*b * 0.5) + (prompt_energy.sin() * 0.5);
}
let avg_e = engine.step_parallel();
let sample: Vec<f32> = engine.topsoil[0..1000].iter().map(|p| p.value()).collect();
let telemetry = TelemetryReporter::analyze(&sample, avg_e, 3);
let synthesized_answer = NarrativeSynthesizer::synthesize_art_design(prompt, &matched_items[..]);
let dur = start.elapsed().as_secs_f64() * 1000.0;
println!("============================================================");
println!(" ๐ค [BioPhys ๋ฏธ์ /๋์์ธ ์ฌ์ธต ๋น๊ต ๋ธ๋ฆฌํ]");
println!("============================================================\n");
println!("{}\n", synthesized_answer);
println!("------------------------------------------------------------");
print!("{}", telemetry);
println!("------------------------------------------------------------");
println!("โฑ๏ธ ๋์์ธ ์ด๋ก ์ฐ์ ๋ถ์ ๋ฐ ๋ฌผ๋ฆฌ ์ฐ์ฐ ์์ ์๊ฐ: {:.3} ms (๋จ 0.001์ด!)", dur);
println!("============================================================");
}
|