BioPhys-Neural-Agent / src /knowledge_base.rs
minseok
🌌 Release BioPhys 6.0 Grand Master: 16GB (14.89GB) Gemma-4 100% Devour, Ecosystem Evolution, Solar MoE, SNN Autoregressive SDK, Dynamic PhaseVM
be99550
Raw
History Blame Contribute Delete
5.84 kB
// πŸ“– [BioPhys 톡합 λ§ˆμŠ€ν„° 지식 백과사전] (src/knowledge_base.rs)
pub struct KnowledgeEntry {
pub domain: String,
pub keyword: String,
pub title_or_name: String,
pub description: String,
pub core_insight: String,
}
pub struct MultiDomainKnowledgeBase {
pub entries: Vec<KnowledgeEntry>,
}
impl MultiDomainKnowledgeBase {
pub fn new() -> Self {
let mut kb = MultiDomainKnowledgeBase { entries: Vec::new() };
// 1. μžμ—°κ³Όν•™ & λžœλ“œλ§ˆν¬ λ…Όλ¬Έ (2010~2026)
kb.add("μžμ—°κ³Όν•™", "νž‰μŠ€λ³΄μ†", "CERN νž‰μŠ€ 보손 발견 (2012)", "λͺ¨λ“  κΈ°λ³Έ μž…μžμ— μ§ˆλŸ‰μ„ λΆ€μ—¬ν•˜λŠ” νž‰μŠ€ λ©”μ»€λ‹ˆμ¦˜μ˜ μ‹€μ‘΄ μž…μ¦ (노벨물리학상)", "μž…μžλ¬Όλ¦¬ν•™ ν‘œμ€€λͺ¨ν˜•μ˜ λ§ˆμ§€λ§‰ 퍼즐 μ™„μ„±");
kb.add("μžμ—°κ³Όν•™", "쀑λ ₯파", "LIGO 쀑λ ₯파 직접 κ²€μΆœ (2016)", "13μ–΅ κ΄‘λ…„ μ „ λΈ”λž™ν™€ 좩돌이 μΌμœΌν‚¨ μ‹œκ³΅κ°„μ˜ μΆœλ μž„μ„ κ°„μ„­κ³„λ‘œ 졜초 κ΄€μΈ‘", "μ•„μΈμŠˆνƒ€μΈ μΌλ°˜μƒλŒ€μ„± 100λ…„ 예츑 μž…μ¦ 및 쀑λ ₯파 μ²œλ¬Έν•™ κ°œλ§‰");
kb.add("μžμ—°κ³Όν•™", "mRNA", "mRNA λ‰΄ν΄λ ˆμ˜€μ‹œλ“œ λ³€ν˜• λ°±μ‹  (Kariko & Weissman, 2020)", "μŠˆλ„μœ λ¦¬λ”˜ λ³€ν˜•μœΌλ‘œ μ„ μ²œ λ©΄μ—­ κ³Όλ―Ό λ°˜μ‘μ„ μ–΅μ œν•˜μ—¬ 인λ₯˜ 졜초 mRNA λ°±μ‹  μƒμš©ν™”", "감염병 및 μ°¨μ„ΈλŒ€ μ•” λ°±μ‹  ν”Œλž«νΌ 확립");
kb.add("μžμ—°κ³Όν•™", "ν•΅μœ΅ν•©", "NIF λ ˆμ΄μ € ν•΅μœ΅ν•© μˆœμ—λ„ˆμ§€ 이득 점화 (2022)", "νˆ¬μž… λ ˆμ΄μ € μ—λ„ˆμ§€(2.05MJ)보닀 λ§Žμ€ ν•΅μœ΅ν•© μ—λ„ˆμ§€(3.15MJ) 생성 달성", "인곡 νƒœμ–‘ λ¬΄ν•œ μ²­μ • μ—λ„ˆμ§€ μƒμš©ν™”μ˜ 역사적 μ΄μ •ν‘œ");
// 2. ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (Languages)
kb.add("ν”„λ‘œκ·Έλž˜λ°μ–Έμ–΄", "Rust", "Rust (러슀트)", "κ°€λΉ„μ§€ 컬렉터(GC) 없이 컴파일 νƒ€μž„ μ†Œμœ κΆŒ(Ownership)κ³Ό 빌림 κ²€μ‚¬κΈ°λ‘œ 100% λ©”λͺ¨λ¦¬ μ•ˆμ „μ„± 보μž₯", "λ¬΄λΉ„μš© 좔상화와 μŠ€λ ˆλ“œ μ•ˆμ „ λ™μ‹œμ„±(Fearless Concurrency)");
kb.add("ν”„λ‘œκ·Έλž˜λ°μ–Έμ–΄", "C++", "C/C++", "ν•˜λ“œμ›¨μ–΄μ™€ λ©”λͺ¨λ¦¬ 포인터λ₯Ό 직접 μ œμ–΄ν•˜λ©° RAII와 ν…œν”Œλ¦Ώ λ©”νƒ€ν”„λ‘œκ·Έλž˜λ° 지원", "κ·Ήν•œμ˜ μ‹€ν–‰ μ„±λŠ₯을 μš”κ΅¬ν•˜λŠ” κ²Œμž„ μ—”μ§„, κ·Έλž˜ν”½μŠ€, 컀널 ν‘œμ€€");
kb.add("ν”„λ‘œκ·Έλž˜λ°μ–Έμ–΄", "Python", "Python (파이썬)", "κ°„κ²°ν•œ 문법과 C-ν™•μž₯ λͺ¨λ“ˆ κ²°ν•©μœΌλ‘œ μ „ 세계 AI/데이터 κ³Όν•™ μƒνƒœκ³„ 주도", "동적 타이핑과 ν’λΆ€ν•œ AI ν”„λ ˆμž„μ›Œν¬(PyTorch) 지원");
// 3. μ˜€ν”ˆμ†ŒμŠ€ 라이브러리 (Libraries)
kb.add("μ˜€ν”ˆμ†ŒμŠ€", "Tokio", "Tokio (비동기 λŸ°νƒ€μž„)", "μž‘μ—… ν›”μΉ˜κΈ°(Work-Stealing) μŠ€μΌ€μ€„λŸ¬μ™€ non-blocking I/O 이벀트 λ£¨ν”„λ‘œ μˆ˜μ‹­λ§Œ λ™μ‹œ μ—°κ²° 처리", "Rust κ³ μ„±λŠ₯ 비동기 λ„€νŠΈμ›Œν¬ ν‘œμ€€");
kb.add("μ˜€ν”ˆμ†ŒμŠ€", "vLLM", "vLLM (μ΄ˆκ³ μ† LLM μΆ”λ‘ )", "PagedAttention μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ KV μΊμ‹œ λ‚­λΉ„λ₯Ό 0%둜 쀄이고 연속 배치(Continuous Batching) 지원", "LLM μ„œλΉ™ μ²˜λ¦¬λŸ‰ 2~4λ°° κ·ΉλŒ€ν™”");
kb.add("μ˜€ν”ˆμ†ŒμŠ€", "Tauri", "Tauri (κ²½λŸ‰ λ°μŠ€ν¬ν†± ν”„λ ˆμž„μ›Œν¬)", "무거운 Chromium λŒ€μ‹  OS λ„€μ΄ν‹°λΈŒ 웹뷰와 Rust λ°±μ—”λ“œ IPC 톡신을 κ²°ν•©ν•œ μ΄ˆκ²½λŸ‰ μ•± ν”„λ ˆμž„μ›Œν¬", "수 MB 미만의 μ΄ˆκ²½λŸ‰ λ°”μ΄λ„ˆλ¦¬μ™€ λ©”λͺ¨λ¦¬ 효율");
// 4. λ―Έμˆ μ‚¬μ‘° & UI/UX λ””μžμΈ (Art & Design)
kb.add("미술/λ””μžμΈ", "λ””ν„°λžŒμŠ€", "λ””ν„° 람슀의 κ΅Ώ λ””μžμΈ 10계λͺ…", "'쒋은 λ””μžμΈμ€ κ°€λŠ₯ν•œ ν•œ μ΅œμ†Œν•œμ˜ λ””μžμΈ(Less, but better)'μ΄λΌλŠ” 10λŒ€ 원칙", "μ• ν”Œ λ―Έλ‹ˆλ©€λ¦¬μ¦˜κ³Ό ν˜„λŒ€ μ „μžκΈ°κΈ° UI λ‹¨μˆœν™”μ˜ μ ˆλŒ€ κΈ°μ€€");
kb.add("미술/λ””μžμΈ", "λ°”μš°ν•˜μš°μŠ€", "λ°”μš°ν•˜μš°μŠ€μ™€ κΈ°λŠ₯주의", "'ν˜•νƒœλŠ” κΈ°λŠ₯을 λ”°λ₯Έλ‹€(Form follows function)'λ₯Ό λ°”νƒ•μœΌλ‘œ κΈ°ν•˜ν•™μ  λ‹¨μˆœλ―Έμ™€ λŒ€λŸ‰μƒμ‚° μœ΅ν•©", "ν˜„λŒ€ κ·Έλž˜ν”½ κ·Έλ¦¬λ“œ μ‹œμŠ€ν…œ 및 λͺ¨λ˜ λ””μžμΈμ˜ κΈ°ν‹€");
kb.add("미술/λ””μžμΈ", "κΈ€λž˜μŠ€λͺ¨ν”Όμ¦˜", "κΈ€λž˜μŠ€λͺ¨ν”Όμ¦˜ (Liquid Glass UI)", "반투λͺ… λ°°κ²½ λΈ”λŸ¬(Backdrop blur), ν…Œλ‘λ¦¬ 광택, Z-μΆ• λ‹€μΈ΅ 그림자둜 반투λͺ… 앑체 유리 질감 λΆ€μ—¬", "닀크 λͺ¨λ“œ ν™˜κ²½μ—μ„œ μž…μ²΄μ  μ‹œκ° 계측 ꡬ쑰와 λ―Έλž˜μ§€ν–₯적 심미성 제곡");
// 5. ν•œκ΅­μ–΄ μ–΄νœ˜ & λŒ€ν™”
kb.add("ν•œκ΅­μ–΄μ–΄νœ˜", "윀슬", "순우리말 윀슬", "ν–‡λΉ›μ΄λ‚˜ 달빛에 λΉ„μΉ˜μ–΄ λ°˜μ§μ΄λŠ” μ•„λ¦„λ‹€μš΄ μž”λ¬Όκ²°", "μžμ—°μ˜ λΉ›κ³Ό 물결이 λΉšμ–΄λ‚΄λŠ” κ³ μœ ν•œ ν•œκ΅­μ  λ―Έν•™");
kb.add("ν•œκ΅­μ–΄μ–΄νœ˜", "μ‹œλ‚˜λΈŒλ‘œ", "순우리말 μ‹œλ‚˜λΈŒλ‘œ", "λͺ¨λ₯΄λŠ” 사이에 μ‘°κΈˆμ”© μ‘°κΈˆμ”© 일이 μ§„ν–‰λ˜λŠ” λͺ¨μ–‘", "λ³΅μž‘κ³„μ˜ 점진적 μžκΈ°μ‘°μ§ν™”μ™€ μžμ—°μŠ€λŸ¬μš΄ λ³€ν™”μ˜ μ€μœ ");
kb
}
fn add(&mut self, domain: &str, keyword: &str, title_or_name: &str, description: &str, core_insight: &str) {
self.entries.push(KnowledgeEntry {
domain: domain.to_string(),
keyword: keyword.to_string(),
title_or_name: title_or_name.to_string(),
description: description.to_string(),
core_insight: core_insight.to_string(),
});
}
pub fn search(&self, prompt: &str) -> Vec<&KnowledgeEntry> {
let normalized = prompt.to_lowercase().replace(" ", "");
self.entries.iter().filter(|e| {
let k_norm = e.keyword.to_lowercase().replace(" ", "");
let t_norm = e.title_or_name.to_lowercase().replace(" ", "");
normalized.contains(&k_norm) || normalized.contains(&t_norm) ||
(prompt.contains("νž‰μŠ€") && e.keyword == "νž‰μŠ€λ³΄μ†") ||
(prompt.contains("쀑λ ₯파") && e.keyword == "쀑λ ₯파") ||
(prompt.contains("Rust") && e.keyword == "Rust") ||
(prompt.contains("λ””μžμΈ") && e.domain == "미술/λ””μžμΈ") ||
(prompt.contains("라이브러리") && e.domain == "μ˜€ν”ˆμ†ŒμŠ€")
}).collect()
}
}