๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก์ „์ฒด ๊ธ€ (168)

Today, I will

[Rag] RAGAS ํ‰๊ฐ€ NaN ๋ฒ„๊ทธ ์›์ธ ๋ถ„์„ ๋ฐ ํ•ด๊ฒฐ

1. ๋ฐฐ๊ฒฝRAGAS๋กœ ํ•œ๊ตญ์–ด RAG ์‹œ์Šคํ…œ์„ ํ‰๊ฐ€ํ•˜๋˜ ์ค‘, faithfulness / context_precision / context_recall ์ ์ˆ˜๊ฐ€ ์ผ๋ถ€ ํ–‰์—์„œ NaN์œผ๋กœ ์‚ฐ์ถœ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ๋‹จ์ˆœํžˆ ์ปจํ…์ŠคํŠธ ๊ธ€์ž ์ˆ˜๋ฅผ ์ค„์ด๋Š” ๋“ฑ์˜ ์‹œ๋„๋กœ๋Š” ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๊ณ , ์›์ธ ์กฐ์‚ฌ ๊ฒฐ๊ณผ ์„œ๋กœ ๋…๋ฆฝ์ ์ธ ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋™์‹œ์— ์ž‘์šฉํ•˜๊ณ  ์žˆ๋˜ ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜์—ˆ๋‹ค.๊ณตํ†ต๋œ ํ‘œ๋ฉด ์ฆ์ƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.BadRequestError: This model's maximum context length is 50000 tokens.your prompt contains at least 50001 input tokens์‹ฌํŒ(judge) LLM์—๊ฒŒ ๋ณด๋‚ด๋Š” ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ† ํฐ ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•˜์—ฌ ์ฑ„์  ์ž์ฒด๊ฐ€ ์‹คํŒจํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ NaN์œผ๋กœ ..

์ธ๊ณต์ง€๋Šฅ์˜ ๋ถ„์•ผ๋ณ„ ํ™œ์šฉ ์˜ˆ์‹œ

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

์ธ๊ณต์ง€๋Šฅ์˜ ์—ญ์‚ฌ

์ธ๊ณต์ง€๋Šฅ๊ณผ ๋ฐฉ๋ฒ•๋ก ์ธ๊ณต์ง€๋Šฅ์€ ํŒจํ„ด ์ธ์‹, ํ•™์Šต, ์˜์‚ฌ๊ฒฐ์ •๊ณผ ๊ฐ™์ด ์ผ๋ฐ˜์ ์œผ๋กœ ์ธ๊ฐ„ ์ง€๋Šฅ์ด ํ•„์š”ํ•œ ์ž‘์—…์„ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ์ˆ ์„ ์˜๋ฏธํ•œ๋‹ค.์ง€๊ฐ ๋Šฅ๋ ฅ์„ ์ธ๊ณต์ ์œผ๋กœ ๊ตฌํ˜„ํ•ด ์ธ๊ฐ„์˜ ์ง€๋Šฅ๊ณผ ์—ฐ๊ฒฐ๋œ ์ธ์ง€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ์ปดํ“จํ„ฐ ๊ณผํ•™ ๋ถ„์•ผ ์ค‘ ํ•˜๋‚˜๋‹ค. ๋‹ค์‹œ ๋งํ•ด ๊ธฐ์กด์— ์ธ๊ฐ„๋งŒ์ด ์‹คํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ ์—ญํ• ์„ ์ปดํ“จํ„ฐ๊ฐ€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌํ˜„ํ•˜์—ฌ ์ธ์œ„์ ์œผ๋กœ ๋งŒ๋“  ์ง€๋Šฅ์„ ๋œปํ•œ๋‹ค. ์ธ๊ณต์ง€๋Šฅ์€ ์ฃผ์–ด์ง„ ์‹œ์Šคํ…œ์—์„œ ์ž…๋ ฅ์„ ์กฐ์ ˆํ•ด ์ถœ๋ ฅ์„ ์›ํ•˜๋Š” ๋Œ€๋กœ ์กฐ์ ˆํ•˜๋Š” ์ œ์–ด๊ธฐ๋กœ๋ถ€ํ„ฐ ์ธก์ • ๊ฐ€๋Šฅํ•œ ๊ฒฝํ—˜์  ์†์„ฑ์„ ํ•™์Šตํ•ด ์Šค์Šค๋กœ ํŒ๋‹จํ•˜๋Š” ๊ธฐ๋Šฅ๊นŒ์ง€์˜ ์ „๋ฐ˜์„ ์˜๋ฏธํ•œ๋‹ค. ์ธ๊ณต์ง€๋Šฅ์€ ์ธ๊ฐ„๊ณผ ๋น„์Šทํ•œ ํ–‰๋™์ด๋‚˜ ํ•ฉ๋ฆฌ์  ํ–‰๋™์„ ํ†ตํ•ด ํŠน์ • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘”๋‹ค. ์ธ๊ณต์ง€๋Šฅ ์‹œ์Šคํ…œ์€ ์ฃผ์–ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ•™์Šตํ•˜๊ณ  ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜..

RAG ๊ธฐ๋ฐ˜ Chat PDF ์ฑ—๋ด‡ ๋งŒ๋“ค๊ธฐ | LangChain, Cohere, OpenAI API๋กœ ๋‚˜๋งŒ์˜ ๋ฌธ์„œ ์งˆ๋ฌธ ์‹œ์Šคํ…œ ๋งŒ๋“ค๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š”! ์˜ค๋Š˜์€ ์—…๋กœ๋“œํ•œ PDF ํŒŒ์ผ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์งˆ๋ฌธ์— ๋‹ต๋ณ€ํ•ด์ฃผ๋Š” AI ์ฑ—๋ด‡์„ ์ง์ ‘ ๋งŒ๋“ค์–ด๋ด…๋‹ˆ๋‹ค! LangChain + Cohere Rerank + OpenAI Embedding์˜ ์กฐํ•ฉ์œผ๋กœ RAG ๊ธฐ๋ฐ˜์˜ ์Šค๋งˆํŠธํ•œ ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•ด๋ณด๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ ๋‹ค๋ฃฐ ๋‚ด์šฉRAG๋ž€ ๋ฌด์—‡์ธ๊ฐ€?PDF ๊ธฐ๋ฐ˜ ์งˆ๋ฌธ-์‘๋‹ต ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐLangChain์œผ๋กœ ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ + LLM ์—ฐ๊ฒฐํ•˜๊ธฐ์ „์ฒด ์ฝ”๋“œ ๋ถ„์„๊ณผ ์ฃผ์„์‹ค์ „ ํ™œ์šฉ ํŒ & ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…RAG๋ž€?RAG๋Š” Retrieval-Augmented Generation์˜ ์ค„์ž„๋ง๋กœ,"๊ฒ€์ƒ‰ ๊ธฐ๋ฐ˜ ์ƒ์„ฑ"์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.๋ณดํ†ต LLM์€ ์‚ฌ์ „ํ•™์Šต๋œ ์ •๋ณด๋งŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ต๋ณ€ํ•˜์ง€๋งŒ,RAG๋Š” ์™ธ๋ถ€ ๋ฌธ์„œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ณ ,๊ทธ๊ฑธ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.๐Ÿ“ฆ RAG์˜ ๊ตฌ..

[Linux] ์ž์ฃผ ์“ฐ์ด๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด ๋ชจ์Œ

๐Ÿง  ๋ฆฌ๋ˆ…์Šค ์ž์ฃผ ์“ฐ๋Š” ๋ช…๋ น์–ด ๋ชจ์ŒNixOS, Ubuntu, WSL ์–ด๋””์„œ๋“  ์“ธ ์ˆ˜ ์žˆ๋Š” ์‹ค์ „ ๋ช…๋ น์–ด ๋ชจ์Œ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋“ค์€ ๋ฆฌ๋ˆ…์Šค ์‹œ์Šคํ…œ ์‚ฌ์šฉ ์‹œ ๋งค์šฐ ์œ ์šฉํ•˜๋ฉฐ, Ubuntu, NixOS๋ฅผ ํฌํ•จํ•œ ๋Œ€๋ถ€๋ถ„์˜ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.๋”ฐ๋ผ์„œ, ๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์— ์ต์ˆ™ํ•ด์ง€๋ฉด ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ์˜ ์ž‘์—…์ด ํ›จ์”ฌ ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•ด์ง‘๋‹ˆ๋‹ค.์•„๋ž˜๋Š” ์ œ๊ฐ€ ์‹ค์ œ๋กœ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด๋“ค์„ ์šฉ๋„๋ณ„๋กœ ์ •๋ฆฌํ•œ ๋ฆฌ์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ, Mac์˜ ๊ฒฝ์šฐ๋Š” ๊ธฐ๋ณธ์œผ๋กœ ์—†๊ฑฐ๋‚˜๋™์ž‘ ๋ฐฉ์‹์ด ๋‹ค๋ฅด๊ฑฐ๋‚˜, Homebrew ๋“ฑ์œผ๋กœ ์„ค์น˜๊ฐ€ ํ•„์š”ํ•œ ๋ช…๋ น์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.macOS์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์—†๋Š” ๋ช…๋ น์–ด / ์„ค์น˜๊ฐ€ ํ•„์š”ํ•œ ๋ช…๋ น์–ดhtopโŒ ์—†์Œ (์„ค์น˜ ํ•„์š”)brew install htop ํ•„์š”wgetโŒ ์—†์Œ (์„ค์น˜ ํ•„์š”)๊ธฐ๋ณธ ์—†์Œ. brew install..