GS 그룹 AI Agent 플랫폼 개발/운영
GS 그룹 DX BootCamp 멘토/코칭
Stanford University Code in Place Python Instructor
(전) 시리즈 C 인공지능 스타트업 테크리드
네이버 부스트캠프 웹/모바일 멘토
네이버 클라우드 YouTube Channel presenter
원티드 프리온보딩 프론트엔드/백엔드 챌린지 진행 (누적 6000+)
항해 AI 플러스코스 1기 코치
Courses
Reviews
- LLM Application Development Using RAG (feat. LangChain)
- LLM Application Development Using RAG (feat. LangChain)
- LLM Application Development Using RAG (feat. LangChain)
- LLM Application Development Using RAG (feat. LangChain)
- LLM Application Development Using RAG (feat. LangChain)
Posts
Q&A
embedding 과정 중 Error, message length too large 발생
안녕하세요!document_list 를 선언하신 부분도 같이 공유해주실 수 있나요? splitting이 정상적으로 이루어지지 않은 것 같습니다. 만약 split도 제대로 되었다면 전체 용량 문제라 말씀하신것처럼 나누어서 업데이트를 해야하는 것 같아요. 공식문서 상으로는 retrieve할 때 4MB 제한을 두고있어서 데이터를 추가할 때 에러를 띄우는 것 같습니다.
- 0
- 2
- 28
Q&A
맞는 답변은 5,000만원 이하에 대한 내용이어야 할것 같아요
안녕하세요! 참조한 구간을 떠나서 답변은 동일하게 나오던가요?금액만 보면 말씀하신 것처럼 5천만원 이하 구간에 들어가는게 맞습니다. 이게 제가 Upstage 임베딩이 한국어 임베딩에서는 제일 좋다고 말씀드리는 이유입니다. 그런데 문맥만 따져보면 금액을 잘 계산한다는 전제하에 참고하는 것은 두 구간 모두 맞다고 보셔도 됩니다 5천만원 초과 8800 이하 구간에서도 5천만원까지는 고정금액 + 초과금액에 따른 세율 적용이기 때문에 문맥상 앞에있는 고정금액만 가져왔다면 답변은 정확하게 생성했을거에요. 3.6강으로 넘어가시면 조금 더 정확한 답변을 보실 수 있을겁니다. 한번 확인하시고 추가로 공유해주셔도 좋습니다~
- 0
- 2
- 18
Q&A
Hugging face LLM 모델 사용 질문이요
안녕하세요 구동은 아직 못해봤는데 허깅페이스 모델의 답변이 사용장 인풋을 포함해서 리턴한다면 에 해당하는 부분만 추출해야 동작하겠네요. chain에서 처리하거나 아니면 write하는 시점에서 처리하거나 작업이 필요할 것 같습니다. 혹시 해결하셨으면 해결방법을 공유해주시면 다른분들께도 많은 도움이 될 것 같습니다! 아니라면 저도 다음주에 한번 시도해볼게용
- 0
- 2
- 29
Q&A
langchain 홈페이지 관련이요
안녕하세요! 위치만 바뀌었을 뿐 내용은 똑같습니다. DocxLoader 링크를 전달드립니다검색하실 때 langchain 처럼 검색하시면 찾기 편하실거에요. 제가 공유드린 링크를 찾기위해 시도한 검색 스크린샷 같이 공유 드립니다(심지어 오타가 있었네용)(사진)
- 0
- 2
- 35
Q&A
tailwind 4.x 버전 변경된 CSS 추출(?) 커맨드
공유해주셔서 감사합니다! 강의자료에 업데이트 해두도록 하겠습니다
- 0
- 2
- 24
Q&A
No module named 'langchain_chroma' 발생해요
안녕하세요! 모듈을 사용할 때는 from langchain_chroma 인데 설치할 때는 pip install langchain-chroma 로 진행하셔야 합니다
- 0
- 2
- 45
Q&A
또다른 오버플로우
제가 알림을 놓쳤네요 혹시 해결하셨을까요? 인프런 인턴의 답변에 1번으로 진행하시면 됩니다 2번으로 하면 Constraints 때문에 스타일이 깨질거에요
- 0
- 2
- 20
Q&A
스토리북 테마에 대해 질문 드립니다.
안녕하세요 좋은 질문 감사합니다. 제생각에는 스토리북의 테마 시스템과 CSS 변수가 제대로 연결되지 않아서 발생하는 문제인 것 같은데요CSS 설정은 잘 하신 것 같고, preview.ts 에 커스텀 데코레이터를 하나 생성해서 활용하는 방법이 있을 것 같습니다.// .storybook/preview.ts import { withThemeByClassName } from '@storybook/addon-themes'; // 커스텀 데코레이터 함수 생성 const withThemeBackground = (Story, context) => { // context.globals에서 현재 선택된 테마 정보 가져오기 const { theme } = context.globals; // 테마가 변경될 때마다 HTML 문서에 데이터 속성으로 현재 테마 설정 // 이를 통해 CSS에서 [data-theme='dark'] 같은 선택자로 스타일 적용 가능 document.documentElement.dataset.theme = theme; // 다크 테마일 경우 body에 dark 클래스 추가, 아니면 제거 if (theme === 'dark') { document.body.classList.add('dark'); } else { document.body.classList.remove('dark'); } // 원래 스토리 컴포넌트 반환 return Story(); }; // 스토리북에 적용할 데코레이터 배열 export const decorators = [ // 커스텀 테마 데코레이터 withThemeBackground, // 스토리북 공식 테마 데코레이터 withThemeByClassName({ themes: { light: '', // 라이트 테마는 기본값이므로 클래스 없음 dark: 'dark', // 다크 테마일 때 'dark' 클래스 적용 }, defaultTheme: 'light', // 기본 테마는 라이트 }), ]; // 툴바에 테마 전환 버튼 설정 export const globalTypes = { theme: { name: 'Theme', // 테마 컨트롤의 이름 description: '전역 테마 설정', // 설명 defaultValue: 'light', // 기본값 toolbar: { icon: 'circlehollow', // 아이콘 모양 items: [ { value: 'light', icon: 'circlehollow', title: '라이트 모드' }, // 라이트 테마 옵션 { value: 'dark', icon: 'circle', title: '다크 모드' }, // 다크 테마 옵션 ], showName: true, // 이름 표시 여부 }, }, }; // 스토리북 추가 파라미터 설정 export const parameters = { // 배경색 설정 (스토리북의 배경 패널용) backgrounds: { default: 'light', // 기본 배경 values: [ { name: 'light', value: 'var(--bg-color)' }, // 라이트 모드 배경색을 CSS 변수로 설정 { name: 'dark', value: 'var(--bg-color)' } // 다크 모드 배경색도 같은 CSS 변수 사용 (값은 .dark에서 오버라이드됨) ], }, // 문서 페이지 테마 설정 docs: { theme: { light: { // 라이트 모드 docs 페이지 테마 설정 appBg: 'var(--bg-color)', // 앱 배경색 textColor: 'var(--text-color)', // 텍스트 색상 // 필요한 다른 속성들 추가 가능 }, dark: { // 다크 모드 docs 페이지 테마 설정 appBg: 'var(--bg-color)', // 앱 배경색 textColor: 'var(--text-color)', // 텍스트 색상 // 필요한 다른 속성들 추가 가능 } } } }; 이제 컴포넌트에서 정의한 CSS 변수를 사용합니다:.component { color: var(--text-color); background-color: var(--bg-color); } 이렇게 한번 시도해보시고 그래도 안되면 다시 한번 말씀 부탁드립니다! 저도 로컬에서 구동해서 한번 디버깅 해볼게용
- 0
- 2
- 17
Q&A
오버플로우
제가 답변이 길게 나오는 케이스를 테스트 하지 않아서 놓친 부분인데요, overflow에러는 widget이 차지하려고 시도하는 영역이 본인에게 부여된 영역보다 많을 때 나타나는 에러입니다. 이런 경우에는 넘치게 공간을 차지하고자 하는 위젯을 Expanded로 감싸주시면 됩니다 Expanded( child: ListView.separated( itemCount: chatList.length, separatorBuilder: (context, index) => const SizedBox(height: 24), itemBuilder: (context, index) { final chat = chatList[index]; Widget messageWidget = chat.role == 'user' ? HumanMessage(content: chat.parts?.first is TextPart ? (chat.parts?.first as TextPart).text : '') : AIMessage(content: chat.parts?.first is TextPart ? (chat.parts?.first as TextPart).text : ''); return messageWidget; }, ), ),이런식으로 수정하시면 Expanded의 child widget인 ListView가 남는 영역을 모두 차지하면서 스크롤이 가능해집니다. 추가로 Expanded로 감싸면서 ListView가 Column 내의 영역만 차지하기 ListView에 있던 shrinkWrap: true 옵션을 제거해도 정상적으로 동작합니다. 소스코드는 수정했으니 참고부탁드립니다. 또 정상적으로 동작하지 않거나 설명이 추가로 필요한 부분이 있으시면 말씀해주세요!
- 0
- 2
- 25
Q&A
JsonOutputParser
안녕하세요! 좋은 질문 감사합니다. 특정 모델만 활용하면서 테스트 할 때 JsonOutputParser 가 지속적으로 정상작동한다면 상관없는데, 운영환경에서는 fallback을 필수로 구현하셔야 해서 만약 다른 모델로 fallback이 일어나는 경우 강의에서 보셨던 것처럼 JsonOutputParser 가 정상적으로 동작하지 않을 수도 있어서 저는 가급적이면 활용하지 않는 것을 추천드립니다. 만약 fallback에서도 활용하고 싶으시다면 JSON형태의 예제들을 few shot으로 많이 넣어줘야 할 것 같은데, 그러면 괜히 불필요한 토큰을 사용하게돼서 비용이나 속도측면에서 불리하실거에요.
- 0
- 1
- 25