목록SW (41)
허허의 오늘은 뭐 먹지?
LangChain과 OpenAI Embeddings를 활용해 텍스트 데이터를 벡터화하고, 이를 바탕으로 사용자의 질문에 맞는 답변을 제공하는 대화형 문서 검색 시스템을 구현하려고 한다.벡터 데이터베이스인 Chroma를 이용해 텍스트의 의미 기반 검색이 가능하도록 설계하며, GPT 모델을 통해 문맥에 맞는 자연스러운 응답을 제공하는 목적이다.1. 벡터 저장소 및 텍스트 분할벡터 저장소(Vector Store)는 텍스트 데이터를 임베딩 벡터로 변환한 후 이를 저장하고 검색하는 데이터베이스이다.여기서는 OpenAI의 임베딩(Embedding) 모델을 사용하여 문서를 벡터로 변환하고, Chroma를 사용해 벡터 데이터를 저장 및 관리한다.벡터(Vector)란 무엇인가?벡터란 텍스트 데이터를 수치화하여 다차원 공..
1. 소스 코드 내 고지소스 코드의 헤더 주석에 저작권 및 라이선스 정보를 명시한다. 주요 파일의 맨 앞부분에 라이선스 고지를 추가하는 것이 적절하다.# Copyright (c) [저작권자 이름]. Licensed under the MIT License. 2. README 파일프로젝트의 README 파일에 사용 중인 오픈소스 소프트웨어 목록과 각 라이선스 정보를 명시한다. 이를 통해 사용자에게 해당 소프트웨어의 사용 조건을 알린다.This project uses the following open-source software:- DeBERTa: MIT License- PyTorch: BSD 3-Clause License 3. LICENSE 파일프로젝트의 루트 디렉토리에 LICENSE 파일을 두고, 사용한..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cwSpWp/btsLWqSWfcZ/0OucPrszxEXAVLrUF1d611/img.png)
다이어그램은 간단한 Component and Connector (C&C) View 예제다.이 다이어그램은 세 가지 주요 컴포넌트와 그들 사이의 연결(커넥터)을 시각화하여 시스템이 어떻게 상호작용하는지를 보여준다.다이어그램 설명컴포넌트 (Nodes)Web Server: 사용자의 요청을 처리하는 서버로, 주로 HTTP 요청을 받는다.Application Server: 웹 서버에서 받은 요청을 처리하고 비즈니스 로직을 수행한다.Database: 애플리케이션 서버가 데이터를 저장하거나 조회하는 데 사용하는 데이터베이스이다.커넥터 (Edges)HTTP Request: 웹 서버가 애플리케이션 서버로 요청을 전달하는 통신 경로이다.SQL Query: 애플리케이션 서버가 데이터베이스로 데이터를 조회하거나 저장하는 과정..
DB Lock이나 Table Lock이 발생하지 않도록 하기 위한 Python 처리는 데이터베이스 트랜잭션을 잘 관리하고, 효율적으로 쿼리를 실행하는 것에 달려 있다.. 아래는 이를 위한 몇 가지 접근법이다. 1. 트랜잭션 크기 최소화트랜잭션 내에서 실행하는 작업의 양을 최소화하세요. 트랜잭션이 길어질수록 락이 오래 걸리게 된다. import sqlite3conn = sqlite3.connect('example.db')try: conn.execute('BEGIN TRANSACTION') # 중요한 작업들 conn.execute('COMMIT')except Exception as e: conn.execute('ROLLBACK') print(f"Error: {e}")finally:..
1. 사용자 기반 협업 필터링 (User-Based Collaborative Filtering)사용자 기반 협업 필터링은 비슷한 취향을 가진 사용자의 데이터를 활용하여 추천을 제공한다.예시A 사용자가 Inception과 Interstellar를 좋아하고, B 사용자가 Inception, Interstellar, The Dark Knight를 좋아한다고 가정한다.A와 B는 비슷한 취향을 가진 것으로 판단되므로, A에게 B가 좋아하는 The Dark Knight를 추천한다.2. 항목 기반 협업 필터링 (Item-Based Collaborative Filtering)항목 기반 협업 필터링은 사용자가 좋아하는 항목과 유사한 항목을 분석하여 추천을 제공한다.예시C 사용자가 Inception을 좋아한다고 가정한다...
아래와 같은 알고리즘을 기반으로 사용자에게 개인화된 추천을 제공할 수 있다. 협업 필터링(Collaborative Filtering):사용자 기반 협업 필터링(User-based Collaborative Filtering): 유사한 취향을 가진 사용자들을 기반으로 추천하는 방식.항목 기반 협업 필터링(Item-based Collaborative Filtering): 유사한 항목들을 기반으로 추천하는 방식.콘텐츠 기반 필터링(Content-based Filtering):사용자의 과거 행동이나 명시적 피드백을 기반으로 항목의 속성을 분석하여 추천하는 방식.하이브리드 추천 시스템(Hybrid Recommendation Systems):협업 필터링과 콘텐츠 기반 필터링을 결합한 방식으로, 두 접근법의 장점을 결..
git pull이나 push할때마다 이런 메세지가 나온다면 !!Enter passphrase for key '/Users/ooo/.ssh/id_rsa': >> ssh-keygen -y -f ~/.ssh/id_rsaEnter passphrase:>> ssh-keygen -p -f ~/.ssh/id_rsaEnter old passphrase:Key has comment 'ooo@ooo.co.kr'Enter new passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved with the new passphrase.Enter new passphrase (empty for no passphra..
eval $(ssh-agent) ssh-add
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dHBmRX/btsfA4zd9Z9/5OHzJgBYUgytNK8X2nbO3k/img.png)
AWS lamba에 python dependency package를 직접 추가해서 올리는 방법이다. 폴더를 생성하고 테스트용 python파일을 생성한다. 소스코드는 대략 아래와 같다. requests dependency가 필요하여 추가해보겠다. 아래와 같이 package폴더에다가 pip install을 하고나서 직접 zip을 해준다. zipping한 package와 소스코드를 같이 묶어준다. AWS에서 lambda를 생성해둔 곳에 위에서 생성한 zip파일을 올린다. 만약에 AWS에서 lambda를 생성하지 않고 업로드 하려고 했다면 아래와 같은 메세지가 나옴. AWS에 생성 완료!!
mysql 8.0을 서버에 설치한 후 dbeaver나 mysqlWorkbench같은 client 프로그램으로 접속하려고 하는데 접속이 안될 때 아래와 같은 세팅이 필요하다. 1. mysqld.cnf 파일 (/etc/mysql/mysql.conf.d에 존재) bind-address : 127.0.0.1 → 0.0.0.0으로 수정 mysqlx-bind-address : 127.0.0.1 → 0.0.0.0으로 수정 2. 수정 후 mysql을 리스타트함 sudo systemctl restart mysql