pdstudio
@pdstudio
Students
16,126
Reviews
748
Course Rating
4.8
์๋ ํ์ธ์. ์ ๋ ํ์ด์ฌ์ ํ์ฉํ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ธ๊ณต์ง๋ฅ ์๋น์ค ๊ฐ๋ฐ ์ค๋ฌด๋ฅผ ํ๊ณ ์์ต๋๋ค. ๊ด์ฌ ์๋ ์ฃผ์ ๋ฅผ ์ฐพ์์ ๊ณต๋ถํ๊ณ ๊ทธ ๋ด์ฉ๋ค์ ๋ง์ ๋ถ๋ค๊ณผ ๊ณต์ ํ๊ธฐ ์ํด ๊พธ์คํ๊ฒ ์ฑ ์ ์งํํ๊ณ ์ธ๊ณต์ง๋ฅ ๊ฐ์๋ฅผ ์งํํด ์ค๊ณ ์์ต๋๋ค.
[์ด๋ ฅ]
ํ) ํํ ํฌ ์คํํธ์ 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
- LangChain Basics for Beginners
Posts
Q&A
graphRAG - Neo4J๋ก ๊ตฌํํ๋ ์ง์ ๊ทธ๋ํ ๊ธฐ๋ฐ RAG ์์คํ (feat. LangChain)
์๋ ํ์ธ์.์ด ๋ถ๋ถ์ pdf ์๋ฃ ์์ด env ์ํ๋ง ์ ๊ณตํด๋๋ฆฌ๊ณ ์์ต๋๋ค. ์ค์ตํ๊ฒฝ ๊ด๋ จ ์ค๋ช ์ pdf ๋์ [์์ ๋ ธํธ]์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 27
Q&A
ํ๋ก์ ํธ ์ค์ (uv ์ค์น, ..) -> ํด๋น ์์ ์๋ฃ ์์
์๋ ํ์ธ์. ๋ฐฉ๊ธ ํ์ธํ๋๋ฐ ์ ์์ ์ผ๋ก ์์์ด ์ฌ์๋๊ณ ์์ต๋๋ค. https://inf.run/xG5ng ๋ค์ ํ๋ฒ ํ์ธํด๋ณด์ธ์. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 1
- 27
Q&A
test.py ํ์ผ์ด ์ด๋จ๋์?
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ๋ฒ๊ฑฐ๋กญ๊ฒ ํด๋๋ ค์ ์ฃ์กํฉ๋๋ค. ์ฐ์ ๋ค์ ์ฝ๋๋ฅผ ํ์ฉํ์๊ธฐ ๋ฐ๋๋๋ค. from langchain_neo4j import Neo4jGraph from dotenv import load_dotenv import os # ํ๊ฒฝ ๋ณ์ ๋ก๋ load_dotenv() # Neo4j ์ฐ๊ฒฐ ์ค์ neo4j_url = os.getenv("NEO4J_URI") neo4j_username = os.getenv("NEO4J_USERNAME") neo4j_password = os.getenv("NEO4J_PASSWORD") # ๊ทธ๋ํ ๊ฐ์ฒด ์์ฑ graph = Neo4jGraph( url=neo4j_url, username=neo4j_username, password=neo4j_password ) def main(): # ๊ฐ๋จํ ํ ์คํธ ์ฟผ๋ฆฌ result = graph.query("MATCH (n) RETURN count(n) as node_count") print(f"Neo4j ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด ๋ ธ๋ ์: {result[0]['node_count']}") if __name__ == "__main__": main()์์ ๋ ธํธ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 33
Q&A
requirements.txt. ์ ๋ฐ์ดํธ ํด์ฃผ์ธ์.
์๋ ํ์ธ์. ์ค์น ํ์ผ์ ๋ชป ์ฐพ์ผ์ ๊ฑธ๊น์?
- 0
- 2
- 23
Q&A
EasyOcr ๊ด๋ จ
์๋ ํ์ธ์ ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ๋ถํธ์ ๋๋ ค ์ฃ์กํฉ๋๋ค. ์ง์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๊ณต์ ๊น์ง ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ํน์ ์๊ฐ ์ค์ ๋ค๋ฅธ ์ค๋ฅ๋ ๋ถํธํ ์ ์ด ์์ผ๋ฉด ํธํ๊ฒ ๋ง์ํด ์ฃผ์ธ์!๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 34
Q&A
๊ฐ์ํ๊ฒฝ์ ๋ง๋๋ ๊ณผ์ ์๋ฌ
์๋ ํ์ธ์. ์ด ๋ฌธ์ ๋ ์๋ AI ์ธํด์ด ๋ต๋ณํ ๋๋ก, SSL ์ธ์ฆ ์ค๋ฅ ๋๋ฌธ์ ๋๋ค. ์๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฐ์ ์ฒ๋ฆฌํด๋ณด์๊ณ , ๊ณ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์ ๋ง์ํด์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 50
Q&A
Rerank์ ๋ํด ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ๋ง์ํด์ฃผ์ ๋๋ก ContextualCompressionRetriever๋ ์๋ณธ ์ฟผ๋ฆฌ๋ง์ผ๋ก reranking์ ์ํํฉ๋๋ค.# ์์ค ์ฝ๋ ์๋ ๋ฐฉ์ docs = self.base_retriever.invoke(query, ...) # MultiQuery๋ก ๋ฌธ์ ๊ฒ์ compressed_docs = self.base_compressor.compress_documents(docs, query, ...) ์ค๋ฌด์ ์ผ๋ก๋ ๋๋ถ๋ถ ์๋ณธ ์ฟผ๋ฆฌ reranking์ผ๋ก ์ถฉ๋ถํฉ๋๋ค. (MultiQuery ๋ชฉ์ ์ด recall์ ๋์ด๋ ๊ฒ์ด๋ฏ๋ก) ๋ค๋ง, MultiQuery ์์ฒด์ ์ ๋ฐ๋(precision)๊ฐ ์ค์ํ ๊ฒฝ์ฐ์๋ LangGraph Send API๋ก ๊ฐ ์ฟผ๋ฆฌ๋ณ reranking ํ ๊ฒฐ๊ณผ ๋ณํฉํ๋ ์ ๊ทผ ๋ฐฉ๋ฒ๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 37
Q&A
neo4j ์ฌ์ฉ์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค.Neo4j Python ๋๋ผ์ด๋ฒ๋ ๋ด๋ถ์ ์ผ๋ก Connection Pooling์ ์๋ ๊ด๋ฆฌํฉ๋๋ค. ํ์ง๋ง ํ๋ก๋์ ํ๊ฒฝ์์๋ ํด๋ผ์ด์ธํธ(Python ๋๋ผ์ด๋ฒ)์์ ๋ช ์์ ์ค์ ์ ๊ถ์ฅํฉ๋๋ค.Neo4j Python Driver API ๋ฌธ์(https://neo4j.com/docs/api/python-driver/current/api.html)์์ ์ ๊ณตํ๋ ์ฃผ์ ์ค์ ์ ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.from neo4j import GraphDatabase driver = GraphDatabase.driver( "neo4j+s://your-auradb-uri", auth=("neo4j", "password"), max_connection_pool_size=50, # ์ต๋ ์ฐ๊ฒฐ ํ ํฌ๊ธฐ (๊ธฐ๋ณธ๊ฐ: 100) connection_acquisition_timeout=60, # ํ์์ ์ฐ๊ฒฐ ํ๋ ๋๊ธฐ ์๊ฐ (์ด) connection_timeout=30, # TCP ์ฐ๊ฒฐ ์์ฑ ํ์์์ (์ด) max_connection_lifetime=3600, # ์ฐ๊ฒฐ ์ ์ง ์ต๋ ์๊ฐ (์ด) )๋ฌผ๋ก ์๋ฒ ์ธก์์๋ ๋ณ๋ ์ค๋ ๋ ํ ๊ด๋ฆฌ๊ฐ ์ด๋ฃจ์ด์ง๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 41
Q&A
fulltext index ์์ฑ์ด ์๋ฉ๋๋ค
์๋ ํ์ธ์. ํ๋ค์ค ์คํ๋์ค์ ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํด ์ฃผ์ค ์ ์์๊น์? 1. SHOW INDEXES ๋ช ๋ น์ด๋ก ์ ์ฒด ์ธ๋ฑ์ค ์ถ๋ ฅ ๊ฒฐ๊ณผ2. SHOW CONSTRAINTS ๊ฒฐ๊ณผ (์ ์ฝ ์กฐ๊ฑด) ํ์ ๋ถํ๋๋ฆฝ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 37
Q&A
Cross Encoder Reranker ์ํฌํธ ์๋ฌ ๊ด๋ จ ๋ด์ฉ์ ๋๋ค.
์๋ ํ์ธ์.์ ๊ณตํด์ฃผ์ ์์กด์ฑ ๋ชฉ๋ก์ผ๋ก ์๋กญ๊ฒ ๊ฐ์ํ๊ฒฝ์ ์์ฑํด์ ํ ์คํธํ์ต๋๋ค.(์ฌ์ง) langchain 1.2.0์์๋ from langchain.retrievers.document_compressors import CrossEncoderReranker ์ํฌํธ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ์์ต๋๋ค. ํ์ง๋ง, from langchain_classic.retrievers.document_compressors import CrossEncoderReranker์์๋ ์ ์ ์๋ํ๊ณ ์์ต๋๋ค. ์ ๊ฐ ํ๋จํ๊ธฐ์๋ ํ์ฌ ์ฌ์ฉ์ค์ธ conda ํ๊ฒฝ์์ ์์กด์ฑ ์ถฉ๋์ด ๋ฐ์ํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.์๋ AI ์ธํด์ ๋ต๋ณ๊ณผ ๊ฐ์ด langchain, langchain_community, pydantic ๋ฑ์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๊ฑฐ๋, ๊ฐ์ํ๊ฒฝ์ ์๋กญ๊ฒ ์์ฑํด์ ์ฌ์ค์นํ์ ํ ์คํธํด๋ณด์๋ ๊ฒ๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
- 0
- 2
- 58






