분류 전체보기(137)
-
LangChain과 MongoDB 연동 (feat. sentence_transformers )
최근 사내 쳇봇을 만드는 과정에서 LangChain 공부과정을 정리하겠다. 나는 현재 사내 정보를 MongoDB에 저장해 사용할 예정이다. 그리고 데이터를 임베딩하기 위해 sentence_transformers를 사용할 것이다. sentence_transformers 에서도 다국어 처리를 위한 distiluse-base-multilingual-cased-v1를 사용했다. chatbot에 사용되는 LLM 모델은 OpenAI의 GPT를 사용할 예정이다. 해당 자료는 찾지 못해, 내가 만들었다. 1. langchain에 필요한 임베딩 클레스를 만들어야 한다. from sentence_transformers import SentenceTransformer, util # OpenAIEmbeddings 클래스와 호..
2023.11.08 -
Object of type datetime is not JSON serializable
해당 에러는 주로 아래와 같은 상황에서 나타난다. import datetime import json data = {'time' : datetime.datetime.now()} json.dumps(data) 해당 에러는 datetime 데이터를 직렬화 하지 못해서 생기는 에러이다. json.dumps(data) 뒤에 옵션을 하나만 주면 되는데, 항상 그 옵션을 잊어버려 정리한다. 1. 옵션을 직접 만들어서 사용하기 import json from datetime import datetime # datetime 객체를 문자열로 변환하는 함수 def datetime_to_string(obj): if isinstance(obj, datetime): return obj.__str__() # JSON 직렬화 data..
2023.07.14 -
[Python] AttributeError: module 'lib' has no attribute 'SSL_CTX_set_ecdh_auto' 에러 해결 방법
pymongo에서 mongodb connection를 했는데, 아래와 같은 에러가 났다. AttributeError: module 'lib' has no attribute 'SSL_CTX_set_ecdh_auto' 원래, python에서 lib 에러가 잘 나지 않는데, 처음 보는 에러였다. 주로 클라우드에서 작업을 해, 내 로컬 PC 세팅이 오래 되긴 했다. 한시간 정도 삽질하다 내용을 공유한다. 해당 에러가 나는 사람은 아마 아무도 없겠지만, 또 다시 에러가 날 수 있으니 정리해놔야 겠다. 에러 해결 방법은 아래와 같다. 먼저pyopenssl를 지워준다. pip uninstall pyopenssl 그 다음 다시 pyopenssl를 설치해준다. 아마 pyopenssl 버전이 낮거나, 꼬여서 그런거 같다...
2023.06.19 -
기본화면
1. 기본 모드 화면 2. 심플 모드 화면 2. 회사로고
2023.06.15 -
Windows에서 Vue.js 설치하기 ( Vue3 버전 )
1. node js 설치 https://nodejs.org/ko/download 아래링크에 들어가서 설치하면 된다. 2. npm install vue npm install vue 3. vue cli 설치 npm install -g @vue/cli 4. power shell 보안 설정 Set-ExecutionPolicy Unrestricted "Set-ExecutionPolicy Unrestricted"는 PowerShell의 실행 정책을 변경하는 명령의 옵션 중 하나이다. 실행 정책은 PowerShell 환경에서 스크립트 파일을 실행할 수 있는 권한 수준을 제어하는 보안 기능이다. 이 옵션의 의미는 다음과 같다. * Set-ExecutionPolicy: PowerShell의 실행 정책을 설정하는 명령어 ..
2023.06.12 -
MongoDB Atlas search Index Knn 사용방법 ( 비슷한 문서 찾기 )
비슷한 문서를 찾는 여러가지 방법이 있는데, 그중 뭐 가장 심플한 방식이 knn 분석이다. 다양한 데이터베이스에서 knn 을 지원하고, mongodb도 해당 인덱스가 있는지 찾아보니, 존재한다. 심플한 로직이만, 어디에도 자료가 없어서 정리해보았다. 1. altas 메인 페이지 접근 2. cluster 선택 3. create Index 에서 json editor 선택 4. collection 선택 후, 인덱스 생성 주의 사항 : 필드가 될 컬럼의 차원(Dimensions)의 길이가 인덱스 생성 시, 길이와 동일해야 한다. 예를 들어, 지도면, 위도 경도 두가지 차원으로 Dimensions에 2를 입력해야 한다. { "mappings": { "fields": { "embedding": [ { "dimens..
2023.06.08