์๋ ํ์ธ์. ์ ๋ ํ์ด์ฌ์ ํ์ฉํ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ธ๊ณต์ง๋ฅ ์๋น์ค ๊ฐ๋ฐ ์ค๋ฌด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๊ด์ฌ ์๋ ์ฃผ์ ๋ฅผ ์ฐพ์์ ๊ณต๋ถํ๊ณ ๊ทธ ๋ด์ฉ๋ค์ ๋ง์ ๋ถ๋ค๊ณผ ๊ณต์ ํ๊ธฐ ์ํด ๊พธ์คํ๊ฒ ์ฑ ์ ์งํํ๊ณ ์ธ๊ณต์ง๋ฅ ๊ฐ์๋ฅผ ์งํํด ์ค๊ณ ์์ต๋๋ค.
[์ด๋ ฅ]
ํ) ํํ ํฌ ์คํํธ์ CEO
์ ) ๋ฐ์ด์ฝ CDO
์ ) ์ธ๋๋ํ๊ต ์ปดํจํฐ์ํํธ์จ์ดํ๊ณผ ๊ฒธ์๊ต์
Kaggle Competitin Expert, ๋น ๋ฐ์ดํฐ ๋ถ์๊ธฐ์ฌ
[๊ฐ์]
NCS ๋ฑ๋ก๊ฐ์ฌ (์ธ๊ณต์ง๋ฅ)
SBA ์์ธ๊ฒฝ์ ์งํฅ์ ์์น(SeSAC) ์บ ํผ์ค SW ๊ต์ก โ์ฐ์ ํํธ๋ ์ ์ โ (Python์ ํ์ฉํ AI ๋ชจ๋ธ ๊ฐ๋ฐ)
๊ธ์ต๋ณด์์, ํ๊ตญ์ ์์ ๋ณดํต์ ์ฐ์ ์งํฅํ, ํ๊ตญ๋์คํ๋ ์ด์ฐ์ ํํ, ๋๊ตฌ๋์งํธ์ฐ์ ์งํฅ์ ๋ฑ ๊ฐ์
์์ธ๋, ๋ถ์ฐ๋, ๊ฒฝํฌ๋, ํ๊ตญ์ธ๋ ๋ฑ ๊ตญ๋ด ์ฃผ์ ๋ํ ๋ฐ ๊ตญ๋ด ๊ธฐ์ ์ฒด ๊ต์ก ๊ฒฝํ
[์งํ]
ํ์ด์ฌ ๋จธ์ ๋ฌ๋ ํ๋ค์ค ๋ฐ์ดํฐ ๋ถ์(์ ๋ณด๋ฌธํ์ฌ) : https://zrr.kr/x1ec
ํ์ด์ฌ ๋ฅ๋ฌ๋ ๋จธ์ ๋ฌ๋ ์ ๋ฌธ(์ ๋ณด๋ฌธํ์ฌ) : https://zrr.kr/RPaE
ํ์ด์ฌ ๋ฅ๋ฌ๋ ํ ์ํ๋ก(์ ๋ณด๋ฌธํ์ฌ) : https://zrr.kr/PrVN
์ค๋ฌด์๋ฅผ ์ํ ํ์ด์ฌ Python 100์ (์ ๋ณด๋ฌธํ์ฌ) : https://zrr.kr/4fyq
๋ญ์ฒด์ธ(LangChain) ์ ๋ฌธ๋ถํฐ ์์ฉ๊น์ง (์ํค๋ ์ค) : https://wikidocs.net/book/14473
[์ ํ๋ธ] ํ๋ค์ค ์คํ๋์ค : https://youtube.com/@pandas-data-studio?si=XoLVQzJ9mmdFJQHU
Courses
Reviews
- LangChain Basics for Beginners
- LangChain Basics for Beginners
- RAG System Implemented with AI Agents (w. LangGraph)
- RAG Master: From Basics to Advanced Techniques (feat. LangChain)
- RAG Master: From Basics to Advanced Techniques (feat. LangChain)
Posts
Q&A
system ๋ฉ์ธ์ง๋ ์ ์๊ฐ ๋์ด ์๋ ๊ฑด๊ฐ์?
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ์์คํ ๋ฉ์์ง์ ์ญํ ๊ณผ ์ฌ์ฉ์ ๋ฉ์์ง์ ์ญํ ์ ๊ตฌ๋ถํ์๋ฉด ์ดํดํ์๋๋ฐ ๋์์ด ๋ฉ๋๋ค. ์์คํ ๋ฉ์์ง๋ '์์คํ ์ด์์(๊ฐ๋ฐ์)' ์ ์ฅ์์ AI์๊ฒ ์ ๋ฌํ๋ ๋ด์ฉ์ ์ฒ๋ฆฌํ๊ณ , ์ฌ์ฉ์ ๋ฉ์์ง๋ '์ค์ ์์คํ ์ ์ด์ฉํ๋ ์ ์ (End User)'๊ฐ AI์๊ฒ ์ ๋ฌํ๋ ๋ฉ์์ง๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์คํ ๋ฉ์์ง๊ฐ ์ฐ์ ์ ์ฉ๋๊ธฐ ๋๋ฌธ์, ์ฌํ ์ ๋ฌธ๊ฐ๋ผ๊ณ ์ง์ ํ๊ฒ ๋๋ฉด ์ด ์์คํ ์ ๋ต๋ณ์ ์ถ๋ ฅํ ๋ ์ฌํ ์ ๋ฌธ๊ฐ์ ๊ด์ ์์ ์์ฑํ๊ฒ ๋ฉ๋๋ค. ๋ง์ํด์ฃผ์ ๊ฒ์ฒ๋ผ ์ฌ์ฉ์๊ฐ ์ฌํ๊ณผ ๋ค๋ฅธ ์ง๋ฌธ์ ํ์ ๋, ์ด๋ป๊ฒ ๋์ํด์ผ ํ๋์ง๋ ์์คํ ๋ฉ์์ง์ ์ถ๊ฐ ์ค์ ํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 12
Q&A
krag๋ฅผ ์ด์ฉํ ๊ฒ์๊ธฐ๋ฒ ํ๊ฐ๊ด๋ จ ์ง๋ฌธ
๋ค, ๋ง์ต๋๋ค. ๋ง์ํด์ฃผ์ ๊ฒ์ฒ๋ผ ํ๊ฐ ๋ฐ์ดํฐ์ ์ด ํ์ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ํด๋น ๋ถ์ผ ์ ๋ฌธ๊ฐ๊ฐ ์ง์ ๋ง๋ค์ด์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์์์๋ ๋ฐ์ดํฐ์ ์ LLM์ผ๋ก ํฉ์ฑํ๊ณ , ์ด๋ฅผ ์ ๋ฌธ๊ฐ๊ฐ ๋ณด์ํ๋ ์๋๋ฆฌ์ค๋ก ์ค๋ช ๋๋ฆฌ๊ณ ์์ต๋๋ค.
- 0
- 2
- 21
Q&A
MMR ๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค.MMR ๊ฒ์์์ fetch_k๋ฅผ ์ ์ฒด ๋ฌธ์๋ก ํ๋ค๋ฉด, ์ฟผ๋ฆฌ์์ ์ ์ฌ๋๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ๋๋ค์ผ๋ก ์ ํํ๋ ๊ฒ๊ณผ ๋น์ทํ ๊ฒฐ๊ณผ๊ฐ ๋ฉ๋๋ค. ์ฟผ๋ฆฌ์์ ์ ์ฌ๋ ๊ธฐ์ค์ผ๋ก fetch_k๋งํผ ๊ฒ์ํด์ ๋น์ทํ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์จ ๋ค์, ๊ทธ ์ค์์ ๋ค์์ฑ์ ํ๋ณดํ๋ ๊ฒ์ ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- 0
- 1
- 24
Q&A
Text_splitter๊ด๋ จ ์ง๋ฌธ์ ๋๋ค.
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. LangChain์ CharacterTextSplitter๋ ์ผ๋ฐ์ ์ผ๋ก separator๊ฐ ์ฐ์ ์ ์ธ ์ ์ฝ ์กฐ๊ฑด์ด๊ณ , chunk_size๊ฐ ๋ณด์กฐ ๊ธฐ์ค์ผ๋ก ์๋ํฉ๋๋ค. ์ ๊ท์ ๊ธฐ์ค์ด ์ถฉ์กฑ๋๋ฉด ๋ถํ ์ ์ด ์๊ธฐ๊ณ , chunk_size๋ณด๋ค ์์ ๊ฒฝ์ฐ์๋ ๊ฒฐํฉํ๊ณ chunk_size๋ณด๋ค ํฐ ์ฒญํฌ๋ ๊ทธ๋๋ก ๋จ๊ฒ ๋ฉ๋๋ค.
- 0
- 2
- 23
Q&A
์คํapi key๋ ๋ฐ๋ก ๊ตฌ๋งคํด์ผ๋๋ ๊ฑธ๊น์?
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. OpenAI API๋ ์ ๋ฃ ์๋น์ค์ ๋๋ค. ๋ณ๋๋ก ๊ตฌ๋งคํ์ ์ผ ํฉ๋๋ค. ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์๋ ๋์์ผ๋ก๋ Google Gemini API, Groq API, Ollama ๋ฑ์ด ์์ต๋๋ค. ํ์ธํด๋ณด์๊ณ ์ถ๊ฐ ๋ฌธ์๊ฐ ์์ผ์๋ฉด ํธํ๊ฒ ๋ง์ํด์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 34
Q&A
๊ณผ๊ฑฐ ์ฑํ ์ด๋ ฅ์ LLM์ ์ค๋ ํฌ๋ฉง
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. LangChain์ invoke ๋ฉ์๋๋ HumanMessage์ AIMessage ๊ฐ์ฒด๋ค๋ก ๊ตฌ์ฑ๋ ๋ฆฌ์คํธ๋ฅผ ๋ด๋ถ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ์ด๋ฌํ ๋ฉ์์ง ๊ฐ์ฒด๋ค์ ๊ฐ ๋ชจ๋ธ ์ ๊ณต์ ์ฒด๊ฐ ์๊ตฌํ๋ ํํ๋ก ์๋ ๋ณํํฉ๋๋ค. ์ ์ํด์ฃผ์ ์ฝ๋์ฒ๋ผ HumanMessage์ AIMessage๊ฐ ๋ฒ๊ฐ์ ๋์ค๋ ๋ฆฌ์คํธ ํํ๊ฐ ์ ํํ ์ฑํ ์ด๋ ฅ ์ ๋ฌ ๋ฐฉ์์ด๋ฉฐ, LangChain์ด ๋ฉ์์ง ์์์ ์ญํ ์ ์๋์ผ๋ก ์ธ์ํ์ฌ ์ ์ ํ ์ฒ๋ฆฌํฉ๋๋ค. ๋ฐ๋ผ์ ๋ณ๋์ ํํ ๋ณํ ์์ด ๋ฐ๋ก LLM์ ์ ๋ฌํด๋ ๋ฌธ์ ์์ด ์๋ํฉ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 28
Q&A
OpenAIEmbeddings๋ชจ๋ธ์ด ์ฌ์ฉํ๋ ํ ํฌ๋์ด์ ๋ ๋ญ๊น์?
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. OpenAI ์๋ฒ ๋ฉ ๋ชจ๋ธ๋ ํ ์คํธ๋ฅผ ํ ํฌ๋์ด์งํ ํ ์ฒ๋ฆฌํฉ๋๋ค. ์๋ฒ ๋ฉ ๋ชจ๋ธ๋ ๋ด๋ถ์ ์ผ๋ก๋ transformer ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ํ ์คํธ๋ฅผ ๋ฐ๋ก ์ฒ๋ฆฌํ ์ ์๊ณ ํ ํฐ ๋จ์๋ก ๋ณํํด์ผ ํฉ๋๋ค.OpenAI์ ์๋ฒ ๋ฉ ๋ชจ๋ธ๋ค(text-embedding-3-small ๋ฑ)์ BPE(Byte Pair Encoding) ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ tiktoken ํ ํฌ๋์ด์ ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 26
Q&A
ChatPromptTemplate์ from_messages๋ก ๋ฉ์ธ์ง๋ฅผ ๊ตฌ์ฑํ ๋ system์ ์ด๋ป๊ฒ ์ค์ ํด์ผํ๋์?
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ์ฝ๊ฒ ์ค๋ช ๋๋ฆฌ๋ฉด, System ๋ฉ์์ง๋ ์์คํ ์ด์์(๊ฐ๋ฐ์) ์ ์ฅ์์ AI์๊ฒ ์๊ตฌํ๋ ์ฌํญ์ ์ ์ฉํ๊ณ , User ๋ฉ์์ง๋ ์ฌ์ฉ์์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค๊ณ ๊ตฌ๋ถํ์๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ผ์, System ๋ฉ์์ง๋ AI ๋ชจ๋ธ์ ํ๋๊ณผ ์ฑ๊ฒฉ์ ์ค์ ํ๋ ์ญํ ์ ํ๊ณ , User ๋ฉ์์ง๋ ์ค์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ํ๋ ๋๋ค.
- 0
- 2
- 23
Q&A
create_retrieval_chain์์ context๋ ์ง์ ๋ ์ธ์์ธ๊ฐ์?
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ์ฌ๊ธฐ์ {context}๋ create_retrieval_chain์์ ๋ด๋ถ์ ์ผ๋ก ์ ํด์ง ๊ณ ์ ๋ณ์๊ฐ ๋ง์ต๋๋ค. retriever์์ ๊ฐ์ ธ์จ ๋ฌธ์๋ค์ ์๋์ผ๋ก context๋ผ๋ ํค๋ก combine_docs_chain์ ์ ๋ฌํ๋ฏ๋ก, ํ๋กฌํํธ์์๋ ๋ฐ๋์ {context}๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก {input}๋ ์ฌ์ฉ์ ์ง๋ฌธ์ ๋ฐ๋ ๊ณ ์ ๋ ํค ์ด๋ฆ์ ๋๋ค. ์ด ๋ณ์๋ช ๋ค์ ๋ฐ๊พธ๋ฉด ์ฒด์ธ์ด ์ ๋๋ก ์๋ํ์ง ์์ผ๋ฏ๋ก ๊ทธ๋๋ก ์ฌ์ฉํด์ผ ํฉ๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 18
Q&A
vectorstore์ as_retriever์ similarity_search๋ ๊ฐ์ ๋ก์ง์ธ๊ฐ์?, ์ฌ์ฉ๋๋ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ญ๊ฐ์?
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ๋จผ์ as_retriever()์ similarity_search()๋ ๊ฐ์ ๋ด๋ถ ๋ก์ง์ ์ฌ์ฉํฉ๋๋ค. as_retriever() ๋ฉ์๋๋ vectorstore๋ฅผ retriever ์ธํฐํ์ด์ค๋ก ๋ณํํ๋ ์ญํ ์ ํ๋ฉฐ, ๋ด๋ถ์ ์ผ๋ก๋ ์ฌ์ ํ vectorstore์ similarity_search ๋ฉ์๋๋ฅผ ํธ์ถํฉ๋๋ค. ๋ฐ๋ผ์ ๋ ๋ฐฉ๋ฒ ๋ชจ๋ ๋์ผํ ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ ์ฌ๋ ์ธก์ ๋ฐฉ์์ ์ฌ์ฉํ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.์ฐจ์ด์ ์ ์ฌ์ฉ ๋ฐฉ์๊ณผ ํธ์์ฑ์ ์์ต๋๋ค. similarity_search()๋ vectorstore์ ๊ธฐ๋ณธ ๊ฒ์ ๋ฉ์๋๋ก ์ง์ ์ ์ธ ์ ๊ทผ์ ์ ๊ณตํ๋ ๋ฐ๋ฉด, as_retriever()๋ LangChain ์์ ๋ค๋ฅธ ์ปดํฌ๋ํธ์ ํตํฉ ์ฌ์ฉํ ์ ์๋ ํ์คํ๋ retriever ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์, ํธ์์ฑ ์ฐจ์์์๋ as_retriever()๊ฐ ๋ ์ ๋ฆฌํฉ๋๋ค. RAG ํ์ดํ๋ผ์ธ์ด๋ ์ฒด์ธ ๊ตฌ์ฑ์์ ๋ค๋ฅธ retriever๋ค๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ฒ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฝ์ฐ Chroma๋ฅผ ํฌํจํด์ ๋ง์ vectorstore๋ค์ด HNSW(Hierarchical Navigable Small World)๋ผ๋ ๊ทธ๋ํ ๊ธฐ๋ฐ ์ธ๋ฑ์ค ๊ตฌ์กฐ๋ฅผ ๊ตฌํํฉ๋๋ค. ๊ตฌ์ฒด์ ์ธ ๋ด๋ถ ๊ตฌํ์ ๊ฐ vectorstore ์ ๊ณต์ ์ฒด์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ง๋ง, ๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ๋ ๊ฐ๋ค๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 18