(전) GS 그룹 AI Agent 플랫폼 개발/운영
(전) GS 그룹 DX BootCamp 멘토/코칭
(전) 시리즈 C AI 스타트업 테크리드
Stanford University Code in Place Python Instructor
네이버 부스트캠프 웹/모바일 멘토
네이버 클라우드 YouTube Channel presenter
원티드 프리온보딩 프론트엔드/백엔드 챌린지 진행 (누적 6000+)
항해 AI 플러스코스 1기 코치
강의
로드맵
전체 2수강평
- 회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
- LangGraph를 활용한 AI Agent 개발 (feat. MCP)
- 한시간으로 끝내는 LangChain 기본기
- LangGraph를 활용한 AI Agent 개발 (feat. MCP)
게시글
질문&답변
강의 실습 코드를 깃허브 정리
안녕하세요! 수강해주셔서 감사합니다. 코드는 깃허브에 퍼블릭으로 공개되어있어서 출처만 밝혀주신다면 자유롭게 사용하셔도 됩니다!
- 0
- 1
- 15
질문&답변
Metric 3가지 방식 중에 추천해주시는 방식이있나요?
안녕하세요! 유사도 검색 방식을 말씀하시는거겠죠? RAG구현 케이스에서는 텍스트 검색이기 때문에 cosine이 제일 많이 쓰입니다. 텍스트 임베딩은 보통 문장의 의미(semantic meaning)를 담는데, 문장 길이에 따라 norm이 달라질 수 있어요. cosine은 크기 대신 방향(각도)만 본다는 점에서 문장의 의미적 유사성만 비교할 수 있습니다euclidean의 경우에는 벡터 크기에 민감합니다. 문장이 길어져 norm이 커지면 실제 의미와 상관없이 거리가 커지는 문제가 있습니다. 그리고 차원이 높아질수록 모든 벡터가 비슷한 거리를 갖는 현상이 있는데요, 따라서 텍스트의 “방향” 유사성보다는 “절대적 위치 차이”를 보는 유클리드는 텍스트 의미 비교에는 적합하지 않습니다.dot product의 경우에는 크기(norm)에 크게 의존합니다. 그래서 길이가 긴 문장(=norm 큰 벡터)이 짧은 문장보다 dot product 값이 과도하게 커짐. 그냥 문장이 길다는 이유만으로 유사하다고 판별하게 되는거죠. 그런데 모델이 이미 L2-normalize를 해서 출력한다면, dot product 와 cosine similarity 값이 유사해집니다. 이 경우 dot product도 충분히 쓸 수 있는데요, dot product의 경우에는 cosine similarity보다 계산 속도가 훨씬 빠르기 때문에 이점이 있긴합니다.
- 0
- 2
- 18
질문&답변
토큰별로 문서를 쪼개는 이유
안녕하세요! 좋은 질문 감사합니다.정확하게 이해하셨습니다! 말씀하신 것처럼, 유사도 검색에서의 효율 향상과 LLM의 토큰 제한으로 인해 RAG를 구현할 때 문서를 토큰별로 쪼개서 저장한다고 보시면 됩니다.
- 0
- 2
- 19
질문&답변
chunk_overlap은 할수가 없나요?
안녕하세요! 제가 질문을 잘 이해하지 못한것같은데 중복도는 어떤걸 말씀하시는걸까요? 말씀하신 것처럼 chunk_overlap 을 활용하게 되면 chunk를 자를 때 의도적으로 약간 겹치게해서 문맥을 유지하게 됩니다. 자세한 내용을 확인하실 수 있는 링크들을 전달 드립니다!https://python.langchain.com/docs/how_to/recursive_text_splitter/https://wikidocs.net/233776https://chunkviz.up.railway.app/
- 0
- 2
- 19
질문&답변
가상환경 설정
안녕하세요! 좋은 질문 감사합니다. Ollama도 설치를 하신걸까요? 아래 들어가셔서 사용하시는 운영체제에 맞게 Ollama를 다운로드하시면, 설치가 끝나면 ollama를 PATH에 추가하겠냐는 문구가 나올건데, 거기서 승인해주시면 됩니다!https://ollama.com/download
- 0
- 6
- 21
질문&답변
영상에 나온 답변이랑 다르게 나오네요.
안녕하세요! 좋은 질문 감사합니다. 생성형AI 특성상 아무리 temperature를 0으로 해도 답변이 항상 똑같이 나올 수는 없고, 같은 모델을 사용하셨다고 해도 OpenAI에서 수시로 해당 모델의 pointer를 변경하기 때문에, 제가 촬영 시점에 사용했던 모델과 다른 모델이 사용되는 것일 수도 있습니다.강의의 목적은 최종적으로 4.4 회차에 같은 답변을 얻는 건데요, 강의를 계속 수강하시면서 코드를 따라가시면 점진적으로 답변이 개선되는 것을 보실 수 있을거에요. 4.4강까지 수강하셨는데도 답변이 다르게 나온다면 다시 한번 말씀 부탁드립니다!
- 0
- 2
- 21
질문&답변
AWS 강의 50% 할인 쿠폰 신청 방법
안녕하세요! 수강 중이시라면 스크롤을 조금 내려보시면 강의 자료에 쿠폰을 신청할 수 있는 구글 폼 링크가 있습니다 https://inf.run/SXHrB
- 0
- 2
- 38
질문&답변
2.3강 18분 initial_state에서 오류가 납니다
안녕하세요! 좋은 질문 감사합니다. 코드에 오타가 있어서 에러가 발생하는 것 같은데요, 제공해주신 코드에서 def check_doc_relevance(state: AgentState) -> Literal['generate', 'rewrite']: query = state['query'] context = state['context'] print(f'context == {context}') doc_relevance_chain = doc_relevance_prompt | llm #prompt를 활용해서 llm을 호출한다. response = doc_relevance_prompt.invoke({'question': query, 'documents': context}) # 여기서 doc_relevance_chain.invoke() print(f'doc relevance response: {response}') if response['Score'] == 1: return 'generate' return 'rewrite'여기서 doc_relevance_prompt.invoke() 대신 doc_relevance_chain.invoke() 를 해주시면 정상적으로 동작할 것 같습니다!
- 0
- 2
- 26
질문&답변
뉴스 스크랩시 content를 가져오는 대신 더 효율적인 방안은 무엇일까요?
안녕하세요! 좋은 질문 감사합니다.네이버 뉴스 기사 페이지로 넘어가면 HTML 형식이 동일하니 파싱이 가능할 것 같은데 아무래도 각 사의 페이지로 이동해서 content를 긁어오다보니 쉽지않네요 ㅠㅠ 추가로 작업을 한다고 한다면, 텍스트가 아닌 태그들을 제거하는 방식을 취할 수 있을 것 같습니다. 예를 들면 가끔씩 가 에 포함되어있는 경우도 있고, , (사진) 과 같은 태그들을 모두 제거하고, 남아있는 태그들에서만 Content를 추출해서 LLM에 전달한다면 말씀하신 불필요한 토큰 소모가 줄어들 거라고 생각합니다.만약 회사에서 사용하신다고 한다면, 어쩌면 BraveAPI를 사용하시는게 더 좋은 대안일수도 있을 것 같습니다.
- 0
- 1
- 39
질문&답변
zerox 사용 시 강의에서 사용된 모델로 진행했을 때의 문제점.
안녕하세요! 좋은 질문 감사합니다 TPM 같은 경우에는 OpenAI에서 모델별로 지정한 Usage Tier에 관한 이슈라서 결제 금액을 늘리시면 원하는 모델로 해결이 가능하실거에요 https://platform.openai.com/docs/guides/rate-limits/usage-tiers#usage-tiers
- 0
- 2
- 50