Skip to content

gyunggyung/LFM-Scholar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด | ๐Ÿ‡บ๐Ÿ‡ธ English

LFM-Scholar ๐ŸŽ“

๐Ÿ”’ ์•„์ด๋””์–ด๋ฅผ ๋กœ์ปฌ์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณดํ˜ธํ•˜๋ฉด์„œ ๊ด€๋ จ ์—ฐ๊ตฌ๋ฅผ ์ž๋™์œผ๋กœ ์ •๋ฆฌํ•ด์ฃผ๋Š” AI ์—์ด์ „ํŠธ

๋Œ€์ถฉ ์—ฐ๊ตฌ ์•„์ด๋””์–ด๋งŒ ๋˜์ง€๋ฉด, ๊ธฐ์กด์— ๋‚˜์˜จ ๊ด€๋ จ ์—ฐ๊ตฌ๋“ค์„ ์ž๋™์œผ๋กœ ์ฐพ์•„์„œ Related Work ์„น์…˜ ์ดˆ์•ˆ์„ ์ž‘์„ฑํ•ด์ค๋‹ˆ๋‹ค.

Python License Local First

โœจ Features

๊ธฐ๋Šฅ ์„ค๋ช…
๐Ÿ”’ Local-First ์•„์ด๋””์–ด์™€ ์ƒ์„ฑ๋œ ํ…์ŠคํŠธ๋Š” ๋กœ์ปฌ์—์„œ ์ฒ˜๋ฆฌ (๊ฒ€์ƒ‰ API๋งŒ ์™ธ๋ถ€ ํ˜ธ์ถœ)
๐Ÿ” Multi-API Search Semantic Scholar โ†’ OpenAlex โ†’ arXiv 3๋‹จ๊ณ„ ์ž๋™ ์ „ํ™˜
๐ŸŽฏ Smart Multi-Query ๋ชจ๋ธ๋ช…+์—ฐ๋„, ์•ฝ์–ด(RNN, LSTM ๋“ฑ) ์ž๋™ ์ธ์‹
๐Ÿ“š Auto Citation BibTeX ์ธ์šฉ ์ž๋™ ์ƒ์„ฑ
โš ๏ธ Hallucination Detection ์˜์‹ฌ์Šค๋Ÿฌ์šด ์ธ์šฉ ๊ฐ์ง€ ๋ฐ ๊ฒฝ๊ณ 

๐Ÿš€ Quick Start

Installation

git clone https://github.com/gyunggyung/LFM-Scholar.git
cd LFM-Scholar
pip install -r requirements.txt

๐ŸชŸ Windows ์‚ฌ์šฉ์ž: pip install ์ „์— Visual C++ Build Tools๋ฅผ ๋จผ์ € ์„ค์น˜ํ•ด์ฃผ์„ธ์š”.

Usage & Example

# ๊ธฐ๋ณธ ์‚ฌ์šฉ (LFM2-2.6B ๋ชจ๋ธ)
python src/main.py --idea "I want to make RNN models like LSTM and GRU faster than Transformers"

# ๋น ๋ฅธ ๋ชจ๋“œ (LFM2.5-1.2B ๋ชจ๋ธ) ๋ฐ ์ถœ๋ ฅ ํŒŒ์ผ ์ง€์ •
python src/main.py --idea "I want to make RNN models like LSTM and GRU faster than Transformers" --model-variant lfm2.5 --output related_work_25.md

# ๊ฒฐ๊ณผ ํ™•์ธ
cat related_work.md

์ž…๋ ฅ: ๋Œ€์ถฉ ์“ด ์•„์ด๋””์–ด
์ถœ๋ ฅ: ๊ด€๋ จ ๋…ผ๋ฌธ 20๊ฐœ + Related Work ์ดˆ์•ˆ + BibTeX

Model Variants

์˜ต์…˜ ๋ชจ๋ธ ํŠน์ง•
--model-variant lfm2 LFM2-2.6B (๊ธฐ๋ณธ๊ฐ’) โœ… ๋†’์€ ํ’ˆ์งˆ, ๋‹ค์–‘ํ•œ ์ฟผ๋ฆฌ ์ƒ์„ฑ
--model-variant lfm2.5 LFM2.5-1.2B โšก ๋น ๋ฅธ ์†๋„, ๋‚ฎ์€ ๋ฉ”๋ชจ๋ฆฌ, Hallucination ์ ์Œ

๐Ÿ’ก ๊ถŒ์žฅ: ํ’ˆ์งˆ์ด ์ค‘์š”ํ•˜๋ฉด lfm2 (๊ธฐ๋ณธ๊ฐ’), ๋น ๋ฅธ ์ดˆ์•ˆ์ด ํ•„์š”ํ•˜๋ฉด lfm2.5

์‹คํ–‰ ๊ฒฐ๊ณผ ์˜ˆ์‹œ:

# ์ž๋™ ์ถ”์ถœ๋œ ๊ฒ€์ƒ‰ ์ฟผ๋ฆฌ
['RNN', 'LSTM', 'GRU', 'want make rnn models lstm']

# ์ฐพ์•„์ง„ ํ•ต์‹ฌ ๋…ผ๋ฌธ๋“ค
- [cho2014learning] GRU ์›๋ณธ ๋…ผ๋ฌธ โœ…
- [greff2015lstm] LSTM: A Search Space Odyssey โœ…
- [shiri2023comprehensive] CNN, RNN, LSTM, GRU ๋น„๊ต (2023) โœ…

์ƒ์„ฑ๋œ related_work.md:

## Related Work

Recurrent Neural Networks (RNNs) have been foundational in sequence modeling...
Long Short-Term Memory (LSTM) networks \cite{hochreiter1997long} addressed the
vanishing gradient problem...

โš™๏ธ Configuration

config.yaml ์„ค์ •:

semantic_scholar_api_key: ""  # ์„ ํƒ์‚ฌํ•ญ (์—†์–ด๋„ ๋™์ž‘)
model:
  type: "gguf"
  variant: "lfm2"  # 'lfm2' (2.6B, ๊ณ ํ’ˆ์งˆ) ๋˜๋Š” 'lfm2.5' (1.2B, ๊ณ ์†)
  
  # LFM2: ํŒŒ์ธํŠœ๋‹๋œ 2.6B ๋ชจ๋ธ (๊ธฐ๋ณธ๊ฐ’)
  lfm2:
    base: "gyung/LFM-CiteAgent-2.6B-GGUF"
    file: "LFM2-2.6B-Exp.Q4_K_M.gguf"
    
  # LFM2.5: ํŒŒ์ธํŠœ๋‹๋œ 1.2B ๋ชจ๋ธ (๋น ๋ฆ„)
  lfm2.5:
    base: "gyung/LFM2.5-CiteAgent-1.2B-v1-GGUF"
    file: "LFM2.5-1.2B-Instruct.Q4_K_M.gguf"

๐Ÿ”„ Search Strategy (Fallback)

1. Semantic Scholar (์ตœ๊ณ  ํ’ˆ์งˆ, Rate Limit ์žˆ์Œ)
      โ†“ ์‹คํŒจ ์‹œ
2. OpenAlex (Rate Limit ์—†์Œ)
      โ†“ ์‹คํŒจ ์‹œ  
3. arXiv (์ตœ์‹  preprint)

๐Ÿ“ Project Structure

LFM-Scholar/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main.py              # ๋ฉ”์ธ ์ง„์ž…์ 
โ”‚   โ””โ”€โ”€ agent/
โ”‚       โ”œโ”€โ”€ local_llm.py     # ๋กœ์ปฌ LLM ์ถ”๋ก 
โ”‚       โ”œโ”€โ”€ search_tool.py   # Multi-API ๊ฒ€์ƒ‰
โ”‚       โ””โ”€โ”€ verifier.py      # ํ™˜๊ฐ ํƒ์ง€
โ”œโ”€โ”€ benchmarks/              # ๋ชจ๋ธ ๋ฒค์น˜๋งˆํฌ ๊ฒฐ๊ณผ
โ”œโ”€โ”€ config.yaml              # ์„ค์ • ํŒŒ์ผ
โ”œโ”€โ”€ requirements.txt
โ””โ”€โ”€ README.md

โš ๏ธ Known Limitations

  • ์ตœ์‹  ๋…ผ๋ฌธ ๊ฒ€์ƒ‰ ํ•œ๊ณ„: ์ˆ˜์ผ~์ˆ˜์ฃผ ๋‚ด ๋ฐœํ‘œ๋œ ๋…ผ๋ฌธ์€ API ์ธ๋ฑ์‹ฑ ์ง€์—ฐ์œผ๋กœ ๊ฒ€์ƒ‰ ์•ˆ ๋  ์ˆ˜ ์žˆ์Œ
  • ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰: ์ž…๋ ฅ์— ํฌํ•จ๋œ ํ‚ค์›Œ๋“œ ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰ (์™„์ „ ์ƒˆ๋กœ์šด ๋ถ„์•ผ๋Š” ์ง์ ‘ ํ‚ค์›Œ๋“œ ์ œ๊ณต ํ•„์š”)
  • ์ค‘๋ณต ์ธ์šฉ ๊ฐ€๋Šฅ์„ฑ: ๋™์ผ ๋…ผ๋ฌธ์ด ๋‹ค๋ฅธ ํ…Œ๋งˆ์—์„œ ์ค‘๋ณต ์ธ์šฉ๋  ์ˆ˜ ์žˆ์Œ (์ˆ˜๋™ ๊ฒ€ํ†  ๊ถŒ์žฅ)

๐Ÿ—บ๏ธ Roadmap

โœ… v1.2 (Current)

  • Multi-API Fallback (Semantic Scholar โ†’ OpenAlex โ†’ arXiv)
  • ๋‹ค์ค‘ ์ฟผ๋ฆฌ ๊ฒ€์ƒ‰ (ํŒจํ„ด ๊ธฐ๋ฐ˜ + LLM ํ™•์žฅ)
  • ์ตœ์‹  ๋…ผ๋ฌธ(2024+) ์šฐ์„  ๊ฒ€์ƒ‰ ๋กœ์ง
  • ํ™˜๊ฐ ํƒ์ง€ ๊ธฐ๋Šฅ
  • Model Variant ์„ ํƒ (--model-variant lfm2/lfm2.5)
  • LFM2.5 ํŒŒ์ธํŠœ๋‹ ๋ฐ ํ†ตํ•ฉ (๋น ๋ฅธ ์ถ”๋ก  ์˜ต์…˜)

๐Ÿ”œ v2.0 (Next)

  • Assistant Mode: Overleaf ์—ฐ๋™ํ•˜์—ฌ ๊ธฐ์กด ํ…์ŠคํŠธ์— ์ธ์šฉ ์ž๋™ ์‚ฝ์ž…
  • Knowledge Injection: ํ•ต์‹ฌ ๋…ผ๋ฌธ DB๋กœ ๊ฒ€์ƒ‰ ํ’ˆ์งˆ ํ–ฅ์ƒ
  • Windows Overleaf ์ž๋™ํ™”: Selenium + Chrome DevTools

๐Ÿ“‹ Long-term

  • ๋กœ์ปฌ ๋ฒกํ„ฐ DB (์˜คํ”„๋ผ์ธ ๊ฒ€์ƒ‰)
  • SFT ํ•™์Šต (์ธ์šฉ ์œ„์น˜ ์‹๋ณ„)
  • LFM2.5 ์ถ”๊ฐ€ ํ•™์Šต์œผ๋กœ ํ’ˆ์งˆ ๊ฐœ์„ 

๐Ÿค Contributing

Issues์™€ PR ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“„ License

Apache License 2.0 - see LICENSE for details.

๐Ÿ™ Acknowledgments

  • citeAgent by @KyuDan1 - ์ด ํ”„๋กœ์ ํŠธ์˜ ์˜๊ฐ๊ณผ ๊ฒ€์ƒ‰ ๋ฐฉ์‹์˜ ๊ธฐ๋ฐ˜์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
  • Step-DeepResearch - ์ด ๋…ผ๋ฌธ์„ ์ฝ๊ณ  ์ž‘์€ ๋ชจ๋ธ๋กœ๋„ ํ•™์ˆ  ์—ฐ๊ตฌ ๋ณด์กฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ํ™•์‹ ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค
  • Semantic Scholar API
  • OpenAlex API
  • arXiv API

Made with โค๏ธ by @gyunggyung

About

LFM2-powered research agent | Automated Related Work & citations | Semantic Scholar + arXiv

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages