안녕하세요. 저는 파이썬을 활용한 데이터 분석 및 인공지능 서비스 개발 실무를 하고 있습니다. 관심 있는 주제를 찾아서 공부하고 그 내용들을 많은 분들과 공유하기 위해 꾸준하게 책을 집필하고 인공지능 강의를 진행해 오고 있습니다.
[이력]
현) 핀테크 스타트업 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
Khóa học
Đánh giá khóa học
- Cơ bản về LangChain dành cho người mới bắt đầu
- Cơ bản về LangChain dành cho người mới bắt đầu
- Cơ bản về LangChain dành cho người mới bắt đầu
- Hệ thống RAG triển khai với AI Agent (w. LangGraph)
- RAG Master: Từ cơ bản đến kỹ thuật nâng cao (feat. LangChain)
Bài viết
Hỏi & Đáp
system 메세지는 정의가 되어 있는 건가요?
안녕하세요. 판다스 스튜디오입니다. 시스템 메시지의 역할과 사용자 메시지의 역할을 구분하시면 이해하시는데 도움이 됩니다. 시스템 메시지는 '시스템 운영자(개발자)' 입장에서 AI에게 전달하는 내용을 처리하고, 사용자 메시지는 '실제 시스템을 이용하는 유저(End User)'가 AI에게 전달하는 메시지라고 볼 수 있습니다. 일반적으로 시스템 메시지가 우선 적용되기 때문에, 여행 전문가라고 지정하게 되면 이 시스템의 답변을 출력할 때 여행 전문가의 관점에서 생성하게 됩니다. 말씀해주신 것처럼 사용자가 여행과 다른 질문을 했을 때, 어떻게 동작해야 하는지도 시스템 메시지에 추가 설정하는 것도 가능합니다. 감사합니다.
- 0
- 2
- 13
Hỏi & Đáp
krag를 이용한 검색기법 평가관련 질문
네, 맞습니다. 말씀해주신 것처럼 평가 데이터셋이 필요합니다. 일반적으로 해당 분야 전문가가 직접 만들어서 사용합니다. 강의에서는 데이터셋을 LLM으로 합성하고, 이를 전문가가 보완하는 시나리오로 설명드리고 있습니다.
- 0
- 2
- 22
Hỏi & Đáp
MMR 관련 질문입니다.
안녕하세요. 판다스 스튜디오입니다.MMR 검색에서 fetch_k를 전체 문서로 한다면, 쿼리와의 유사도를 고려하지 않고 랜덤으로 선택하는 것과 비슷한 결과가 됩니다. 쿼리와의 유사도 기준으로 fetch_k만큼 검색해서 비슷한 문서를 가져온 뒤에, 그 중에서 다양성을 확보하는 것을 의도하는 방법입니다.
- 0
- 1
- 26
Hỏi & Đáp
Text_splitter관련 질문입니다.
안녕하세요. 판다스 스튜디오입니다. LangChain의 CharacterTextSplitter는 일반적으로 separator가 우선적인 제약 조건이고, chunk_size가 보조 기준으로 작동합니다. 정규식 기준이 충족되면 분할점이 생기고, chunk_size보다 작은 경우에는 결합하고 chunk_size보다 큰 청크는 그대로 남게 됩니다.
- 0
- 2
- 25
Hỏi & Đáp
오픈api key는 따로 구매해야되는 걸까요?
안녕하세요. 판다스 스튜디오입니다. OpenAI API는 유료 서비스입니다. 별도로 구매하셔야 합니다. 무료로 사용할 수 있는 대안으로는 Google Gemini API, Groq API, Ollama 등이 있습니다. 확인해보시고 추가 문의가 있으시면 편하게 말씀해주세요. 감사합니다.
- 0
- 2
- 35
Hỏi & Đáp
과거 채팅이력을 LLM에 줄때 포멧
안녕하세요. 판다스 스튜디오입니다. LangChain의 invoke 메서드는 HumanMessage와 AIMessage 객체들로 구성된 리스트를 내부적으로 처리합니다. 이러한 메시지 객체들을 각 모델 제공업체가 요구하는 형태로 자동 변환합니다. 제시해주신 코드처럼 HumanMessage와 AIMessage가 번갈아 나오는 리스트 형태가 정확한 채팅 이력 전달 방식이며, LangChain이 메시지 순서와 역할을 자동으로 인식하여 적절히 처리합니다. 따라서 별도의 형태 변환 없이 바로 LLM에 전달해도 문제없이 작동합니다.감사합니다.
- 0
- 1
- 29
Hỏi & Đáp
OpenAIEmbeddings모델이 사용하는 토크나이저는 뭘까요?
안녕하세요. 판다스 스튜디오입니다. OpenAI 임베딩 모델도 텍스트를 토크나이징한 후 처리합니다. 임베딩 모델도 내부적으로는 transformer 기반 아키텍처를 사용하기 때문에, 텍스트를 바로 처리할 수 없고 토큰 단위로 변환해야 합니다.OpenAI의 임베딩 모델들(text-embedding-3-small 등)은 BPE(Byte Pair Encoding) 알고리즘을 기반으로 하는 tiktoken 토크나이저를 사용합니다. 감사합니다.
- 0
- 2
- 28
Hỏi & Đáp
ChatPromptTemplate의 from_messages로 메세지를 구성할 때 system은 어떻게 설정해야하나요?
안녕하세요. 판다스 스튜디오입니다. 쉽게 설명드리면, System 메시지는 시스템 운영자(개발자) 입장에서 AI에게 요구하는 사항을 적용하고, User 메시지는 사용자의 요청을 처리한다고 구분하시면 됩니다. 따라서, System 메시지는 AI 모델의 행동과 성격을 설정하는 역할을 하고, User 메시지는 실제 사용자의 입력을 나타냅니다.
- 0
- 2
- 24
Hỏi & Đáp
create_retrieval_chain에서 context는 지정된 인자인가요?
안녕하세요. 판다스 스튜디오입니다. 여기서 {context}는 create_retrieval_chain에서 내부적으로 정해진 고정 변수가 맞습니다. retriever에서 가져온 문서들을 자동으로 context라는 키로 combine_docs_chain에 전달하므로, 프롬프트에서는 반드시 {context}를 사용해야 합니다. 마찬가지로 {input}도 사용자 질문을 받는 고정된 키 이름입니다. 이 변수명들을 바꾸면 체인이 제대로 작동하지 않으므로 그대로 사용해야 합니다.감사합니다.
- 0
- 1
- 24
Hỏi & Đáp
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
- 21