Chroma db 설치 방법 그리고 실행 예제

이미지
  최근 RAG에 대한 관심이 늘어가는 가운데 백터 데이터베이스의 최강자 chroma db에 대해서 알아보고 설치 방법에 대해서도 알아보겠습니다. 자! chroma db 설치 방법 및 사용 예제에 대해 한번 발자취를 남겨 봅시다! 1) chroma db란? CHROMA DB는 데이터베이스의 일종으로, 주로 벡터 데이터를 저장하고 검색하는 데 특화된 데이터베이스입니다. CHROMA DB는 특히 벡터 검색(Vector Search)과 유사성 검색(Similarity Search)에 강점을 가지고 있습니다. 이는 주로 머신러닝, 특히 자연어 처리(NLP)와 컴퓨터 비전 분야에서 유용합니다. * 주요 특징 - 벡터 데이터 지원: CHROMA DB는 숫자 벡터 데이터를 효율적으로 저장하고, 빠르게 검색할 수 있도록 설계되었습니다. - 유사성 검색: 저장된 벡터 데이터 중에서 특정 기준(예: 코사인 유사도)에 따라 가장 유사한 벡터들을 검색할 수 있습니다. - 확장성: 대규모 데이터셋에서도 효율적인 검색을 제공하며, 고성능을 유지합니다. 2) chroma 설치 pip install chromadb 4) chroma db 간단한 샘플 예제 import chromadb chroma_client = chromadb.Client() collection = chroma_client.create_collection(name="my_collection") class chroma_db:     def get_samples():         results = []         try:             print("get_sample_chroma")             collection.add(                 documents=[                     "This is a doc 1",                     "This is a doc 2"              

SSL 인증서 변경 후 UbiReport가 정상적으로 구동하지 않을때

이미지
SSL 인증서를 변경하고 나서 Tomcat 서비스에는 아무런 문제가 없는데 유독 내부  UbiRerport로 구현한 출력물이 정상적으로 출력되지 않는다. 무엇이 문제일까? SSL (Secure Sockets Layer) 사용 시 발생 오류에 대한 처리 방법을 알아보겠습니다. 1. SSL 인증 오류 문제 발생 Tomcat 인증서는 아래와 같이 잘 등록되어 있고 서비스도 전혀 문제가 없다. UbiReport도 정상적으로 올라오긴 하는데 데이터를 불러오지 못한다. 2. SSL 사용 시 UbiReport 인증 오류 해결 방법 Java Jre에 인증기관 등록을 해준다. 1) 검색을 통해 installcert.java 를 다운받는다. 2) InsatllCert.java을 다운 받았던 경로로 이동하여 컴파일 한다. javac InstallCert.java 3) UbiReport가 구동하지 않는 도메인을 기입하여 신뢰할 수 있는 인증서를 등록 한다. java InstallCert 도메인, IP keystore도 함께 등록하기 위해 '1' 을 누르고 Enter 4) 생성된 jssecacerts파일을 Java/jre/lib/security/ 폴더에 복사한다. 5) UbiReport 재실행 거침없는 발자취 오늘은 SSL 인증서 갱신 후 UbiReport가 정상적으로 구동되지 않을때 인증기관을 jre에 등록해서 처리하는 방법을 알아 보았습니다.  오늘 남긴 발자취가 보시는 모든 분들의 바른 길라잡이가 되었으면 합니다. 언제나 궁금한점 있으면 덧글로 남겨주세요. 감사합니다. :) 

쉽게 챗봇 만들기1 - 사전 준비

이미지
  금주부터는 차근 차근 회사에서 사용 할 간단한 챗봇을 만들어 보도록 하겠습니다. 회사에서는 꾸준하게 Ai에 대한 요구가 있고 돈은 없고.. 어떻게 하면 저렴한 비용으로 챗봇을 만들어서 회사를 만족할 수 있을까? 간단하게 회사에서 사용 할 챗봇을 근사하게 만들어봅시다. 자! 챗봇 만들기 챕터1 사전 준비! 발자취를 남겨봅시다. 1. 어떤 챗봇을 만들것인가? 요구 사항 정의 내가 만들 챗봇의 기능, 목적, 사용자, 그리고 사용 시나리오를 명확히 정의해야합니다. 어떤 정보를 조회해야 하는지, 사용자는 어떤 질문을 할 것인지, 챗봇이 제공해야 하는 서비스의 범위는 어디까지인지 범위를 정합니다.  2. 챗봇 시스템 아키텍처 설계 챗봇 시스템의 전반적인 아키텍처를 설계합니다.  주요 컴포넌트는 다음과 같습니다: - 사용자 인터페이스: 웹, 모바일 앱, 메신저 등 - 대화 엔진: 챗봇의 핵심 로직 - DB 인터페이스: MSSQL 데이터베이스와의 통신을 담당 3. 챗봇개발도구 및 프레임워크 선택 어떤 언어로 챗봇 개발을 할것인지 적절한 도구와 프레임워크를 선택합니다. - 프로그래밍 언어: Python, JavaScript (Node.js), Java 등 - 챗봇 프레임워크: Rasa, Microsoft Bot Framework, Google Dialogflow 등 - 데이터베이스 드라이버: pymssql (Python), Tedious (Node.js), JDBC (Java) 등 4. 챗봇 개발 시작 챗봇 프로그램을 개발하는 과정은 다음과 같습니다: 1) 사용자 인터페이스 개발 웹 애플리케이션 또는 모바일 앱을 통해 사용자가 챗봇과 상호작용할 수 있도록 UI를 개발합니다. 2) 대화 엔진 개발 챗봇의 핵심 로직을 구현합니다. 사용자의 질문을 이해하고 적절히 응답할 수 있도록 자연어 처리(NLP)와 머신러닝 알고리즘을 사용합니다. Rasa를 사용할 경우: 사용자 입력을 이해하기 위한 NLU (Natural Language Understanding) 모델 훈련 대화 흐름을

랜섬웨어의 감염경로 그리고 예방방법

이미지
  거침없는 발자취! 오늘은 다소 무거운 주제 랜섬웨어에 대해서 알아보고자 합니다.  디지털 Ai 시대에서 가장 큰 위협 중 하나인 '랜섬웨어(Ransomware)'는 말 그대로 '몸값(랜섬)'을 요구하는 악성 소프트웨어를 의미합니다.  랜섬웨어는 점점 더 정교해지고 다양한 기업과 개인을 대상으로 꾸준하게 활동하고 있습니다.  자! 랜섬웨어의 감염경로 그리고 예방방법에 대해! 발자취를 남겨봅시다. 1. 랜섬웨어의 작동 방식 랜섬웨어는 사용자의 컴퓨터나 모바일 기기에 침투하여 중요 파일을 암호화하는 방식으로 작동합니다. 어느날 사용자는 갑자기 파일을 열 수 없게 되고, 화면에는 파일을 복구할 수 있는 키를 얻기 위해 일정 금액을 지불하라는 요구 메시지가 나타납니다. 이 금액을 지불하지 않으면, 암호화된 파일들은 영원히 잠겨버리거나 삭제될 위험이 있습니다. 2. 랜섬웨어의 주요 감염 경로 랜섬웨어의 주요 감염 경로는 다음과 같습니다. 주의 바랍니다. 1) 이메일 스팸: 가장 흔한 감염 경로 중 하나로, 이메일에 첨부된 악성 파일을 열거나, 링크를 클릭하여 랜섬웨어를 다운로드하게 됩니다. 2) 악성 광고: 웹사이트에 삽입된 악성 코드가 포함된 광고를 클릭하면 자동으로 랜섬웨어가 설치될 수 있습니다. 3) 익스플로잇 키트: 보안이 취약한 소프트웨어나 시스템을 공격하여 랜섬웨어를 설치합니다. 4) 피싱 웹사이트: 정상적인 웹사이트처럼 보이지만, 방문자로 하여금 개인정보를 입력하게 하여 이를 이용한 감염이 일어납니다. 5) 리모트 데스크톱 프로토콜(RDP): 약한 비밀번호나 보안 설정을 통해 외부에서 접근이 가능한 RDP를 통해 직접 시스템에 랜섬웨어를 설치합니다. 3. 랜섬웨어의 예방 방법  o 외부 접속 관리 강화 필요   - 기업 자산 중 외부에 오픈된 시스템(DB 서비스, NAS 등) 현황을 파악하고, 불필요한 시스템*은 연결 차단합니다.    * 특히 테스트 서버, 유휴 서버 등 방치되어 있는 시스템 점검 및 중요 시스템 접속자의 경

윈도우 서버 라이선스와 CAL 라이선스 완벽 이해하기

이미지
거침없는 발자취! 어려운 윈도우 서버 라이선스에 대해서 이야기해보려 합니다. CAL 라이선스 는 무엇이지? 서버 라이선스는 무엇인지? 서버 운영에 대해 관심을 가지지만, 라이선스와 CAL 문제에 대해서는 다소 어렵게 느낄 수 있습니다. 그래서 적법한 윈도우 서버 라이선스를 보유하는 방법에 대해 쉽게 설명해드리겠습니다. 자! 적법한 서버 라이선스 알아보기! 발자취를 남겨봅시다. 1. 윈도우 서버 라이선스란? 윈도우 서버 라이선스는 마이크로소프트의 서버 운영체제를 사용하기 위한 권한을 말합니다. 이 라이선스를 구입하면, 합법적으로 윈도우 서버 운영체제를 설치하고 사용할 수 있습니다. 불법 복제나 무단 사용은 법적으로 문제를 일으킬 수 있으니, 반드시 정품 라이선스를 구입해야 합니다. 2. 서버 라이선스 종류 윈도우 서버 라이선스에는 여러 가지 종류가 있습니다. 각 라이선스는 사용 목적과 환경에 따라 다릅니다: - Standard Edition: 일반적인 서버 환경에 적합하며, 가상화 기능을 포함하고 있습니다. - Datacenter Edition: 대규모 데이터 센터 환경에 적합하며, 무제한 가상화를 지원합니다. - Essentials Edition: 소규모 비즈니스 환경에 적합하며, 최대 25명 사용자 및 50개 장치를 지원합니다. 3. CAL(Client Access License)란 무엇인가요? 윈도우 서버를 사용할 때는 서버 라이선스 외에도, 클라이언트가 서버에 접근할 수 있도록 하는 CAL이 필요합니다. CAL은 서버에 접근하는 각 사용자 또는 각 장치에 대해 필요합니다. 두 가지 주요 유형의 CAL이 있습니다: - User CAL: 특정 사용자가 여러 장치를 통해 서버에 접근할 때 필요합니다. 예를 들어, 한 사용자가 데스크톱, 노트북, 스마트폰을 통해 서버에 접근할 경우 User CAL 하나로 충분합니다. - Device CAL: 특정 장치에서 여러 사용자가 서버에 접근할 때 필요합니다. 예를 들어, 한 대의 컴퓨터를 여러 사람이 사용하는 환경에서는

가비아 도메인 등록 설정 하기

이미지
  거침없는 발자취! 오늘은 가비아(Gabia)에서 도메인을 생성하는 방법에 대해 알아보려고 합니다. 여러 도메인 및 호스팅 서비스 제공업체가 있지만 제가 느끼기에.. 가비아 사이트가 타사보다 직관적이고 관리가 용이한듯 한 느낌이 있습니다.  자! 가비아에서 도메인 생성하는 방법! 발자취를 남겨 봅시다.   1. 가비아 웹사이트 방문 먼저 가비아 공식 웹사이트에 접속합니다.  2. 회원가입 및 로그인 도메인을 생성하려면 가비아 회원으로 가입해야 합니다.  3. 도메인 검색     1) 로그인 후 좌측 상단 '도메인' -> '도메인검색' 선택       2) 도메인 검색창에 원하는 주소 넣고 '검색' 버튼 클릭 4. 도메인 구입     1) 위 이미지와 같이 도메인 별로 가격이 다릅니다. 사업성이 명확한 도메인이면 관련 도메인을 몽땅 선점하는것이 좋아보이지만 매년 관리비로 납부해야 하는 비용이므로 신중하게  리스트에서 원하는 도메인 형식을 선택 후 우측 신청하기 버튼을 누릅니다.      2) 신청 정보를 기입하고 결제를 완료하면 그 도메인은 이제 제것이 됩니다. 하하하  5. DNS 세팅   도메인을 구입 했으니 이제 DNS 연결을 해보겠습니다. 'DNS(Domain Name System)는 도메인 이름과 IP 주소를 매핑해주는 시스템입니다. 우리가 웹사이트에 접속할 때 사용하는 도메인 이름을 기억하기 쉽게 만든 것입니다. 컴퓨터는 숫자로 이루어진 IP 주소기 때문에, DNS는 사람이 쉽게 기억할 수 있는 도메인 이름을 컴퓨터가 이해할 수 있는 IP 주소로 변환하는 역할을 합니다.' 라고 합니다. 이제 연결해 봅시다.      1) 로그인 후 우측 상단 'My가비아' -> '서비스 관리'를 선택합니다.       2) 'DNS 레코드 관리툴' 클릭합니다.     3) 'DNS' 설정 대상 도메인 우측 '설정' 버튼을 클릭합