๋ณธ๋ฌธ

[์‹ค์Šต] ๋žญ์ฒด์ธ(LangChain) Document transformers(Chunking) ์˜ˆ์ œ

๋ฐ˜์‘ํ˜•

โœ…  ์‹ค์Šต ์ค€๋น„๋ฌผ: apikey

https://server-engineer.tistory.com/983

 

[์‹ค์Šต] OpenAI apikey ๋ฐœ๊ธ‰ ๋ฐ ์‚ฌ์šฉํ•˜๊ธฐ

1. ํšŒ์›๊ฐ€์ž…ํ•˜๊ธฐ ๋จผ์ € OpenAI ํ”Œ๋žซํผ์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค. (๋ฐ”๋กœ๊ฐ€๊ธฐ) ํ™ˆํŽ˜์ด์ง€์—์„œ ํšŒ์›๊ฐ€์ž… ์ ˆ์ฐจ๋ฅผ ์™„๋ฃŒํ•ด์ฃผ์„ธ์š”. 2. API ํ‚ค ๋ฐœ๊ธ‰ ๋ฐ›๊ธฐ ๋กœ๊ทธ์ธ ํ›„, ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” 'View API Keys'๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘ ๋ง

server-engineer.tistory.com


https://medium.com/@glorat/context-aware-chunking-for-enhanced-retrieval-augmented-generation-oct23-9dcd435d9cf1


โœ…  ์šฉ์–ด์„ค๋ช…

  • Chunk
    • ๋ฐ์ดํ„ฐ๋‚˜ ํ…์ŠคํŠธ๋ฅผ ์ž‘์€, ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆˆ ํ•˜๋‚˜์˜ ๋ฉ์–ด๋ฆฌ
  • Chunking
    • ๋ถ„ํ•  ์ž‘์—…(Chunk)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์˜๋ฏธ ์žˆ๋Š” ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ์ˆ .
    • NLP(์ž์—ฐ์–ด ์ฒ˜๋ฆฌ)์—์„œ chunking์€ ๋ฌธ์žฅ์„ ๋ช…์‚ฌ๊ตฌ, ๋™์‚ฌ๊ตฌ ๊ฐ™์€ ์˜๋ฏธ ์žˆ๋Š” ์กฐ๊ฐ์œผ๋กœ ๋ถ„๋ฆฌํ•ด ์ •๋ณด ์ถ”์ถœ์ด๋‚˜ ๋ฌธ์„œ ๋ถ„์„์„ ์šฉ์ดํ•˜๊ฒŒ ํ•œ๋‹ค.

โœ…  ์‹ค์Šต ์ž๋ฃŒ

https://colab.research.google.com/github/i-am-shuan/learn-langchain/blob/main/langchain_document_transformers_example.ipynb

 

langchain_document_transformers_example.ipynb

Run, share, and edit Python notebooks

colab.research.google.com

 

โœ…  ์„œ๋น„์Šค ์„ค๋ช…

LangChain์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๋„๊ตฌ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค.

LangChain์€ ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ๊ด€๋ จ๋œ ๋‹ต๋ณ€์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ™”ํ˜• ํ”„๋ ˆ์ž„์›Œํฌ์ธ OpenAI์˜ GPT-3๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

 

์„œ๋น„์Šค ํ™œ์šฉ ๋ฐฉ์•ˆ: LangChain์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ž‘์—…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ธฐ
  • ์š”์•ฝ ์ƒ์„ฑํ•˜๊ธฐ
  • ๋ฒˆ์—ญํ•˜๊ธฐ
  • ์ฝ”๋“œ ์ƒ์„ฑํ•˜๊ธฐ
  • ๋ฐ์ดํ„ฐ ๋ถ„์„ํ•˜๊ธฐ

์‚ฌ์šฉ์ž ์งˆ๋ฌธ์—์„œ ์‘๋‹ต๊นŒ์ง€์˜ ๊ณผ์ •:

  1. ์‚ฌ์šฉ์ž๊ฐ€ LangChain์— ์งˆ๋ฌธ์„ ํ•ฉ๋‹ˆ๋‹ค.
  2. LangChain์€ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์„ ๋ฒกํ„ฐํ™”ํ•˜์—ฌ ๋ฒกํ„ฐ์Šคํ† ์–ด์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฒกํ„ฐ์Šคํ† ์–ด๋Š” ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ๊ณผ ์œ ์‚ฌํ•œ ์งˆ๋ฌธ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  4. LangChain์€ ์œ ์‚ฌํ•œ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ๋ฒกํ„ฐ์Šคํ† ์–ด์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
  5. LangChain์€ GPT-3๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  6. LangChain์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‹ต๋ณ€์„ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ:

  • OpenAI: GPT-3 API์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • NumPy: ๋ฒกํ„ฐํ™” ๋ฐ ๊ธฐํƒ€ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • LangChain: ๋Œ€ํ™”ํ˜• ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • VectorStore: ๋ฒกํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.
๋ฐ˜์‘ํ˜•

๊ณต์œ 

๋Œ“๊ธ€