Spring AI ์‹ค์ „ ๊ฐ€์ด๋“œ: RAG ์ฑ—๋ด‡ ๋งŒ๋“ค๊ธฐ

Spring AI๋กœ AI๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ด…๋‹ˆ๋‹ค. RAG ์ฑ—๋ด‡์„ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ Spring AI๋ฅผ ๋ฐฐ์›Œ๋ด…์‹œ๋‹ค.

(4.8) ์ˆ˜๊ฐ•ํ‰ 41๊ฐœ

์ˆ˜๊ฐ•์ƒ 2,287๋ช…

๋‚œ์ด๋„ ์ดˆ๊ธ‰

์ˆ˜๊ฐ•๊ธฐํ•œ ๋ฌด์ œํ•œ

Thumbnail

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

๋จผ์ € ๊ฒฝํ—˜ํ•œ ์ˆ˜๊ฐ•์ƒ๋“ค์˜ ํ›„๊ธฐ

4.8

5.0

๊น€๊ทœ์ง„

38% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ด๋Ÿฐ๊ฒŒ์žˆ์—ˆ๋„ค์š” SpringAi ํ•œ๋ฒˆ ์ ์šฉํ•ด๋ณด๋ ค๋‹ค ๊ฐ–์€ ์˜ค๋ฅ˜๋กœ ์–ด๋ ค์› ๋Š”๋ฐ ์ž˜๋ฐฐ์›Œ๊ฐ‘๋‹ˆ๋‹ค

5.0

jimin lee

38% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ข‹์€ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

5.0

๋ฐ”๋ผ๊ธฐ

100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

์ˆ˜์—…์„ 1์ฐจ๋กœ ๋ณด๊ธฐ๋งŒ ํ–ˆ๋Š”๋ฐ๋„ ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

์ˆ˜๊ฐ• ํ›„ ์ด๋Ÿฐ๊ฑธ ์–ป์„ ์ˆ˜ ์žˆ์–ด์š”

  • ๋‹ค์–‘ํ•œ LLM ๋ฒค๋” ๊ฐ„ ์ฐจ์ด๋ฅผ Spring AI๋กœ ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์ถ”์ƒํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • Spring AI๋ฅผ ์‚ฌ์šฉํ•ด ์—ฌ๋Ÿฌ ๋ชจ๋ธ๊ณผ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ •ํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•

  • RAG ์ฑ—๋ด‡์„ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค๊ณ , Storm API๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ณ ๋„ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • Storm Parse๋ฅผ ํ™œ์šฉํ•ด ๋ฌธ์„œ ๋‚ด ํ‘œ์™€ ์ด๋ฏธ์ง€๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ํ…์ŠคํŠธ๋กœ ์ถ”์ถœํ•˜๋Š” ๋ฐฉ๋ฒ•

Spring AI๋กœ ์‹ค์ „์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” RAG ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌํ˜„ํ•ด๋ณด์„ธ์š”! โšก๏ธ

AI๋ฅผ ์„œ๋น„์Šค์— ์ ‘๋ชฉ์‹œํ‚ค๋Š” ์ผ์€ ์ด์ œ ์„ ํƒ์ด ์•„๋‹Œ ํ•„์ˆ˜๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ Spring Boot๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ผ๋ฉด, Spring AI๋Š” ์•ž์œผ๋กœ ๋ฐ˜๋“œ์‹œ ์ตํ˜€์•ผ ํ•  ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค.
์ € ์—ญ์‹œ ์‹ค๋ฌด์—์„œ ๋‹ค์–‘ํ•œ AI ์„œ๋น„์Šค ๊ตฌ์ถ•์„ ๋งก์œผ๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ ๋ฏผ์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

  • Spring ์ƒํƒœ๊ณ„์—์„œ LLM์„ ์–ด๋–ป๊ฒŒ ์—ฐ๋™ํ•˜์ง€?

  • ๋‹ค์–‘ํ•œ AI ๋ฒค๋”(OpenAI, Anthropic, GoogleAI ๋“ฑ)์™€ ํ†ตํ•ฉํ•˜๋ ค๋ฉด?

  • RAG(Retrieval-Augmented Generation)๋ฅผ ์ ์šฉํ•˜๋ ค๋ฉด?

๋ณธ ๊ฐ•์˜๋Š” ์ €์ฒ˜๋Ÿผ ํ˜„์—…์—์„œ AI๋ฅผ ์ง์ ‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค.
Spring AI๊ฐ€ ์™œ ํ•„์š”ํ•œ์ง€, ์–ด๋–ป๊ฒŒ ์“ฐ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์‹ค์ œ ์„œ๋น„์Šค์— ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Spring AI๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๐Ÿ’ก Spring AI is an application framework for AI engineering. Its goal is to apply to the AI domain Spring ecosystem design principles such as portability and modular design and promote using POJOs as the building blocks of an application to the AI domain.

Spring AI๋Š” ๋ง ๊ทธ๋Œ€๋กœ Spring ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•œ LLM ํ†ตํ•ฉ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด, OpenAI ๊ฐ™์ด ๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ ๋ฒค๋”์˜ ๋ชจ๋ธ๋ถ€ํ„ฐ Anthropic, GoogleAI ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋ฒค๋”์˜ ๋ชจ๋ธ๋“ค์„ ํ•˜๋‚˜์˜ ๊ณตํ†ต๋œ ๋ฐฉ์‹์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์—์š”.

์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด, Spring ์Šคํƒ€์ผ๋กœ AI๋ฅผ ์‰ฝ๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋‹จ์ˆœํžˆ LLM์„ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ, ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ํ™˜๊ฒฝ์—์„œ AI ๊ธฐ๋Šฅ์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋…น์—ฌ๋‚ผ ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ์ ์ด Spring AI์˜ ํฐ ์žฅ์ ์ด์—์š”.

์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”

โšก๏ธ Spring ์ƒํƒœ๊ณ„์—์„œ AI ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ๋‹ค๋ฃจ๋Š” ๋ฒ•์„ ์ตํžˆ๊ณ , ํ”„๋กœ์ ํŠธ์— ๋ฐ”๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๏ธ๏ธโšก RAG ๊ธฐ๋ฐ˜ ์ฑ—๋ด‡์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•˜๋Š” ์‹ค์ „ ๊ฐ๊ฐ์„ ๊ฐ–์ถ”๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

โšก Storm API๋ฅผ ํ™œ์šฉํ•ด AI ์ „๋ฌธ ์ง€์‹ ์—†์ด๋„ ์†์‰ฝ๊ฒŒ ๊ธฐ๋Šฅ์„ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

โšก Storm Parse๋ฅผ ์ด์šฉํ•ด ํ‘œ์™€ ์ด๋ฏธ์ง€๊ฐ€ ํฌํ•จ๋œ ๋ณต์žกํ•œ ๋ฌธ์„œ๋„ ์ •ํ™•ํ•˜๊ฒŒ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š”

AI์— ๊ด€์‹ฌ์žˆ์–ด์š”.
AI๊ฐ€ ์–ด๋–ป๊ฒŒ ๋Œ์•„๊ฐ€๋Š”์ง„ ์•Œ๊ฒ ๋Š”๋ฐ
์„œ๋น„์Šค์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ• ์ง€
๊ถ๊ธˆํ•œ ๋ถ„

Spring ๊ฐœ๋ฐœ์ž์˜ˆ์š”.
AI ํ•˜๋ฉด ์ฃผ๋กœ Python
์ด์•ผ๊ธฐ ๋ฟ์ธ๋ฐ Spring์œผ๋กœ๋„ AI๋ฅผ ๋ถ™์ด๊ณ  ์‹ถ์€ ๋ถ„

RAG ์ฑ—๋ด‡ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์‹ถ์–ด์š”.
LLM ํ˜ธ์ถœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ
RAG๊นŒ์ง€ ์ง์ ‘
๊ตฌํ˜„ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„

์ด ๊ฐ•์˜๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ

์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐœ๋ฐœ์ž ์กฐํ•˜๋‹ด์ž…๋‹ˆ๋‹ค ๐Ÿ™Œ

  • Spring AI ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์ง์ ‘ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  PR์„ ๋จธ์ง€ํ•œ Contributor์ž…๋‹ˆ๋‹ค.


  • Node.js, TypeScript๋ฅผ ์ฃผ๋กœ ์จ์™”๊ณ , ์ตœ๊ทผ์—” NestJS๋ฅผ Spring์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ๋“ฑ Spring ์ƒํƒœ๊ณ„๋กœ ๊ธฐ์ˆ ์„ ๋„“ํžˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • Spring AI๋ฅผ ์ ์šฉํ•˜๋ฉฐ ์ง์ ‘ ์‚ฝ์งˆํ•˜๊ณ  ๋ฐฐ์šด ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๊ณ  ์‹ถ์€ ๋งˆ์Œ์„ ๋‹ด์•„ ๊ฐ•์˜๋ฅผ A-Z๊นŒ์ง€ ์ง์ ‘ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.



์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ๊ฐ•์˜๋Š” MacOS ํ™˜๊ฒฝ ๊ธฐ์ค€์œผ๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. Windows๋„ ๋”ฐ๋ผ์˜ค์‹ค ์ˆ˜ ์žˆ์œผ๋‚˜ ํ™˜๊ฒฝ ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


  • IntelliJ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์Šต์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์œ ์˜์‚ฌํ•ญ

  • ๊ฐ•์˜๋Š” Spring AI 1.0.0-M6 ๋ฒ„์ „์„ ๊ธฐ์ค€์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ถ”ํ›„ 1.0.0 ์ •์‹ ๋ฒ„์ „ ์ฝ”๋“œ๋„ ์—…๋ฐ์ดํŠธํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • AI์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ดํ•ด๊ฐ€ ์žˆ๋Š” ๋ถ„

  • Spring ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ์— AI ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • RAG ์ฑ—๋ด‡์„ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๋‹ค์–‘ํ•œ AI ๊ธฐ๋Šฅ์„ ์—ฐ๋™ํ•ด๋ณด๊ณ  ์‹ถ์€ ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Spring ๊ธฐ๋ณธ ์ง€์‹

  • AI ๊ธฐ๋ณธ ๊ฐœ๋… ์ดํ•ด

์•ˆ๋…•ํ•˜์„ธ์š”
Sionic AI์ž…๋‹ˆ๋‹ค.

3,275

๋ช…

์ˆ˜๊ฐ•์ƒ

84

๊ฐœ

์ˆ˜๊ฐ•ํ‰

1

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

2

๊ฐœ

๊ฐ•์˜

๋ชจ๋“  ๊ธฐ์—…์ด AI๋ฅผ ๊ฟˆ๊ฟ€ ์ˆ˜ ์žˆ๋„๋ก

์–ด๋–ค AI ์„œ๋น„์Šค๋ฅผ ๊ฟˆ๊พธ๋”๋ผ๋„ ์‚ฌ์ด์˜ค๋‹‰์€ ์™„๋ฒฝํ•œ ๊ฒฝํ—˜์œผ๋กœ ์ œ๊ณตํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

8๊ฐœ โˆ™ (2์‹œ๊ฐ„ 49๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์ „์ฒด

41๊ฐœ

4.8

41๊ฐœ์˜ ์ˆ˜๊ฐ•ํ‰

  • Jang Jaehoon๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
    Jang Jaehoon

    ์ˆ˜๊ฐ•ํ‰ 815

    โˆ™

    ํ‰๊ท  ํ‰์  4.9

    5

    38% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

    ์ข‹์€ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

    • dmax๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
      dmax

      ์ˆ˜๊ฐ•ํ‰ 146

      โˆ™

      ํ‰๊ท  ํ‰์  5.0

      5

      100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

      ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๋ง™์Šต๋‹ˆ๋‹ค

      • ๋ฐ”๋ผ๊ธฐ๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
        ๋ฐ”๋ผ๊ธฐ

        ์ˆ˜๊ฐ•ํ‰ 18

        โˆ™

        ํ‰๊ท  ํ‰์  5.0

        5

        100% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

        ์ˆ˜์—…์„ 1์ฐจ๋กœ ๋ณด๊ธฐ๋งŒ ํ–ˆ๋Š”๋ฐ๋„ ๋งŽ์€ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

        • jimin lee๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
          jimin lee

          ์ˆ˜๊ฐ•ํ‰ 4

          โˆ™

          ํ‰๊ท  ํ‰์  5.0

          5

          38% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

          ์ข‹์€ ๊ฐ•์˜ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

          • ๊น€๊ทœ์ง„๋‹˜์˜ ํ”„๋กœํ•„ ์ด๋ฏธ์ง€
            ๊น€๊ทœ์ง„

            ์ˆ˜๊ฐ•ํ‰ 3

            โˆ™

            ํ‰๊ท  ํ‰์  5.0

            5

            38% ์ˆ˜๊ฐ• ํ›„ ์ž‘์„ฑ

            ์ด๋Ÿฐ๊ฒŒ์žˆ์—ˆ๋„ค์š” SpringAi ํ•œ๋ฒˆ ์ ์šฉํ•ด๋ณด๋ ค๋‹ค ๊ฐ–์€ ์˜ค๋ฅ˜๋กœ ์–ด๋ ค์› ๋Š”๋ฐ ์ž˜๋ฐฐ์›Œ๊ฐ‘๋‹ˆ๋‹ค

            ๋น„์Šทํ•œ ๊ฐ•์˜

            ๊ฐ™์€ ๋ถ„์•ผ์˜ ๋‹ค๋ฅธ ๊ฐ•์˜๋ฅผ ๋งŒ๋‚˜๋ณด์„ธ์š”!

            ๋ฌด๋ฃŒ