embedding guide

https://ai.google.dev/docs/embeddings_guide

Gemini API์˜ ์ž„๋ฒ ๋”ฉ ์„œ๋น„์Šค๋Š” ๋‹จ์–ด, ๊ตฌ๋ฌธ, ๋ฌธ์žฅ์— ๋Œ€ํ•œ ์ตœ์ฒจ๋‹จ ์ž„๋ฒ ๋”ฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ์ž„๋ฒ ๋”ฉ์€ ์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰, ํ…์ŠคํŠธ ๋ถ„๋ฅ˜, ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋“ฑ ๋‹ค์–‘ํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ์ž‘์—…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์—์„œ๋Š” ์ž„๋ฒ ๋”ฉ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ณ  ์ž„๋ฒ ๋”ฉ ์„œ๋น„์Šค๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.

What are embeddings

ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ์€ ํ…์ŠคํŠธ๋ฅผ ์ˆซ์ž ๋ฒกํ„ฐ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ž„๋ฒ ๋”ฉ์€ ์˜๋ฏธ๋ก ์  ์˜๋ฏธ์™€ ๋ฌธ๋งฅ์„ ํฌ์ฐฉํ•˜์—ฌ ๋น„์Šทํ•œ ์˜๋ฏธ์˜ ํ…์ŠคํŠธ๊ฐ€ ๋” ๊ฐ€๊นŒ์šด ์ž„๋ฒ ๋”ฉ์„ ๊ฐ–๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, "๋‚˜๋Š” ๊ฐœ๋ฅผ ๋™๋ฌผ๋ณ‘์›์— ๋ฐ๋ ค๊ฐ”๋‹ค"์™€ "๋‚˜๋Š” ๊ณ ์–‘์ด๋ฅผ ๋™๋ฌผ๋ณ‘์›์— ๋ฐ๋ ค๊ฐ”๋‹ค"๋ผ๋Š” ๋ฌธ์žฅ์€ ๋ชจ๋‘ ๋น„์Šทํ•œ ๋งฅ๋ฝ์„ ์„ค๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฒกํ„ฐ ๊ณต๊ฐ„์—์„œ ์„œ๋กœ ๊ฐ€๊นŒ์šด ์ž„๋ฒ ๋”ฉ์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋ฒกํ„ฐ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ ํ…์ŠคํŠธ์—์„œ๋Š” ์ง์ ‘ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๋งŽ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

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

Use cases

ํ…์ŠคํŠธ ์ž„๋ฒ ๋”ฉ์€ ๋‹ค์–‘ํ•œ NLP ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด

  • ์ •๋ณด ๊ฒ€์ƒ‰: ์ž…๋ ฅ ํ…์ŠคํŠธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์˜๋ฏธ์ ์œผ๋กœ ์œ ์‚ฌํ•œ ํ…์ŠคํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰, ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€, ์š”์•ฝ ๋“ฑ ์ •๋ณด ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋Š” ๋ฌธ์„œ ๊ฒ€์ƒ‰ ๋…ธํŠธ๋ถ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.(https://ai.google.dev/examples/doc_search_emb)

  • ๋ถ„๋ฅ˜: ์ž„๋ฒ ๋”ฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์„œ๋ฅผ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž ๋Œ“๊ธ€์„ ๋ถ€์ •์  ๋˜๋Š” ๊ธ์ •์  ๋Œ“๊ธ€๋กœ ๋ถ„๋ฅ˜ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ž„๋ฒ ๋”ฉ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ๋Œ“๊ธ€์˜ ๋ฒกํ„ฐ ํ‘œํ˜„์„ ๊ฐ€์ ธ์™€ ๋ถ„๋ฅ˜๊ธฐ๋ฅผ ํ›ˆ๋ จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Gemini ๋ถ„๋ฅ˜๊ธฐ ์˜ˆ์‹œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.(https://ai.google.dev/examples/train_text_classifier_embeddings)

  • ํด๋Ÿฌ์Šคํ„ฐ๋ง: ํ…์ŠคํŠธ์˜ ๋ฒกํ„ฐ๋ฅผ ๋น„๊ตํ•˜๋ฉด ์–ผ๋งˆ๋‚˜ ๋น„์Šทํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์œ ์‚ฌํ•œ ํ…์ŠคํŠธ๋‚˜ ๋ฌธ์„œ๋ฅผ ํ•จ๊ป˜ ๊ทธ๋ฃนํ™”ํ•˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•˜๊ณ  ๋ฐ์ดํ„ฐ์˜ ์ด์ƒ ์ง•ํ›„๋ฅผ ๊ฐ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.(https://ai.google.dev/examples/clustering_with_embeddings,https://ai.google.dev/examples/anomaly_detection)

  • ๋ฒกํ„ฐ DB: ์ƒ์„ฑ๋œ ์ž„๋ฒ ๋”ฉ์„ ๋ฒกํ„ฐ DB์— ์ €์žฅํ•˜์—ฌ NLP ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ •ํ™•์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํŠœํ† ๋ฆฌ์–ผ์„ ์ฐธ์กฐํ•˜์—ฌ ๋ฒกํ„ฐ DB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์„œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”.(https://ai.google.dev/examples/vectordb_with_chroma)

Last updated

Was this helpful?