안녕하세요!
[ Docker ] Docker Desktop 설치 및 Open WebUI 연결
Open WebUI를 실행시키기 위해서 Docker를 사용해 Open WebUI의 오픈소스 AI WebUI 서버를 띄우고 Admin 계정을 생성하여 Open WebUI에 접속할 것이다.Docker Desktop을 설치하고 UI를 웹에서 접속하는 과정까지 정리해보자. 1. Docker Desktop 설치 * 링크 : https://apps.microsoft.com/detail/xp8cbj40xlbwkx?hl=ko-KR&gl=KR Docker Desktop - Windows에서 다운로드 및 설치 | Microsoft StoreDocker Desktop is a one-click-install application for your Mac, Linux, or Windows environment, enabli..
더보기[ Python ] Open WebUI 커스터마이징 - file upload(2)
여기서는 로컬에 업로드 된 파일을 Open WebUI의 특정 지식기반 id로 연결하는 작업을 서버에 요청한다. add_to_kb def add_to_kb(file_id: str): return requests.post( f"{WEBUI}/api/v1/knowledge/{KB_ID}/file/add", headers=HDR_JSON, json={"file_id": file_id}, timeout=30, ) POST /api/v1/knowledge/{KB_ID}/file/add - WebUI에 있는 지식기반에 접속하면 url 끝에 id 값이 붙어있음 - {KB_ID} 값은 .env에 설정돼 있으며 해당 값을 호출해 적용 HDR_JSON : ..
더보기[ Python ] Open WebUI 커스터마이징 - file upload(1)
try_upload def try_upload(path, mime_type, upload_name): with open(path, "rb") as f: return requests.post( f"{WEBUI}/api/v1/files/", headers=HDR_FILE, files={"file": (upload_name, f, mime_type)}, timeout=60, ) path : 업로드할 로컬 파일의 절대 경로mime_type : 서버에 전달할 콘텐츠 타입upload_name : 서버/웹UI에 표시될 파일명 with open(path, "rb") as f - 바이너리 읽기 모드로 file ..
더보기[ Python ] Open WebUI 커스터마이징 - csv 파일(3)
rows_to_markdown_temp def rows_to_markdown_temp(rows, base_name, folder): """CSV 업로드가 400이면 Markdown 표로 우회""" md_headers = ["id", "이름", "성별", "나이", "desc"] lines = ["| " + " | ".join(md_headers) + " |", "| " + " | ".join(["---"] * len(md_headers)) + " |"] for r in rows: vals = [str(r.get(k, "")) for k in md_headers] lines.append("| " + " | ".join(vals) + " |..
더보기[ Python ] Open WebUI 커스터마이징 - csv 파일(2)
write_temp_csv_with_desc이 def에서는 csv 파일 생성 시, uploads 경로에 전처리 파일의 임시파일을 생성하게 되는데이 __prepared__ 파일은 임시로 저장되는 파일이므로다음에 있을 함수에서 처리하는 작업을 생략하게 된다. def write_temp_csv_with_desc(rows, headers, base_name, folder): import csv base_no_ext = os.path.splitext(base_name)[0] or "upload" out_name = f"{base_no_ext}_with_desc.csv" out_path = os.path.join(folder, f"__prepared__{out_name}") # 업로드 폴더에..
더보기-
[ Docker ] Docker Desktop 설치 및 Open WebUI 연결 Open WebUI를 실행시키기 위해서 Docker를 사용해 Open WebUI의 오픈소스 AI WebUI 서버를 띄우고 Admin 계정을 생성하여 Open WebUI에 접속할 것이다.Docker Desktop을 설치하고 UI를 웹에서 접속하는 과정까지 정리해보자. 1. Docker Desktop 설치 * 링크 : https://apps.microsoft.com/detail/xp8cbj40xlbwkx?hl=ko-KR&gl=KR Docker Desktop - Windows에서 다운로드 및 설치 | Microsoft StoreDocker Desktop is a one-click-install application for your Mac, Linux, or Windows environment, enabli.. 더보기
-
[ Python ] Open WebUI 커스터마이징 - file upload(2) 여기서는 로컬에 업로드 된 파일을 Open WebUI의 특정 지식기반 id로 연결하는 작업을 서버에 요청한다. add_to_kb def add_to_kb(file_id: str): return requests.post( f"{WEBUI}/api/v1/knowledge/{KB_ID}/file/add", headers=HDR_JSON, json={"file_id": file_id}, timeout=30, ) POST /api/v1/knowledge/{KB_ID}/file/add - WebUI에 있는 지식기반에 접속하면 url 끝에 id 값이 붙어있음 - {KB_ID} 값은 .env에 설정돼 있으며 해당 값을 호출해 적용 HDR_JSON : .. 더보기
-
[ Python ] Open WebUI 커스터마이징 - file upload(1) try_upload def try_upload(path, mime_type, upload_name): with open(path, "rb") as f: return requests.post( f"{WEBUI}/api/v1/files/", headers=HDR_FILE, files={"file": (upload_name, f, mime_type)}, timeout=60, ) path : 업로드할 로컬 파일의 절대 경로mime_type : 서버에 전달할 콘텐츠 타입upload_name : 서버/웹UI에 표시될 파일명 with open(path, "rb") as f - 바이너리 읽기 모드로 file .. 더보기
-
[ Python ] Open WebUI 커스터마이징 - csv 파일(3) rows_to_markdown_temp def rows_to_markdown_temp(rows, base_name, folder): """CSV 업로드가 400이면 Markdown 표로 우회""" md_headers = ["id", "이름", "성별", "나이", "desc"] lines = ["| " + " | ".join(md_headers) + " |", "| " + " | ".join(["---"] * len(md_headers)) + " |"] for r in rows: vals = [str(r.get(k, "")) for k in md_headers] lines.append("| " + " | ".join(vals) + " |.. 더보기
-
[ Python ] Open WebUI 커스터마이징 - csv 파일(2) write_temp_csv_with_desc이 def에서는 csv 파일 생성 시, uploads 경로에 전처리 파일의 임시파일을 생성하게 되는데이 __prepared__ 파일은 임시로 저장되는 파일이므로다음에 있을 함수에서 처리하는 작업을 생략하게 된다. def write_temp_csv_with_desc(rows, headers, base_name, folder): import csv base_no_ext = os.path.splitext(base_name)[0] or "upload" out_name = f"{base_no_ext}_with_desc.csv" out_path = os.path.join(folder, f"__prepared__{out_name}") # 업로드 폴더에.. 더보기
-
[ Python ] Open WebUI 커스터마이징 - csv 파일(1) 오랜만에 쓰는 파이썬초보만 블로그드디어 파이썬을 써보게 되었다.최근 여건이 더 좋은 곳으로 이직을 하였는데, 개발 직군이 아니라 프리세일즈쪽으로 왔다.제안서 작성부터 여러 가지 일을 하고 있지만 개발이 필요한 시점에서 Python을 다루는 기회가 닿은 것이다.거두절미하고 열심히 해보자! read_csv_rows def read_csv_rows(src_path: str): import csv for enc in ("utf-8-sig", "utf-8", "cp949"): try: with open(src_path, "r", encoding=enc, newline="") as f: r = csv.DictReader(f) .. 더보기
-
[ SQLD ] TCL(Transaction Control Language) TCL TCL(Transaction Control language)는Transaction을 제어하는 명령어로COMMIT, ROLLBACK, SAVEPOINT 등이 있다.여기서 TRANSACTION이란더 이상 쪼개질 수 없는 업무 처리의 단위이다. 특징설명원자성(Atomicity)Transaction이 묶여 있는 동작들은 모두 성공하거나 실패해야 함일관성(Consistency)Transaction이 완료된 이후에도 계산된 결괏값 등, DB의 Data에 일관성이 있어야 함고립성(Isolation)하나의 Transaction은 한 고객에게 할당된 제품은 구매 불가능한 것처럼 고립되어 수행되어야 함지속성(Durability)Transaction이 성공적으로 수행되었을경우, Transaction이 변경한 Data.. 더보기
-
[ SQLD ] SQL 삭제 문(DROP, TRUNCATE, DELTE) 비교 DROP TABLETRUNCATE TABLEDELETE FROMDDLDDL(+DML)DMLAuto CommitAuto CommitUser CommitROLLBACK 불가능ROLLBACK 불가능Commit 전에 ROLLBACK 가능Table의 모든 Data 삭제Table의 모든 Data 삭제Table의 모든 Data 삭제Disk 초기화(= 로그 제거)Disk 초기화(= 로그 제거) Disk 초기화(= 로그 유지) Schema 정의까지 모두 삭제Table Schema 구조 유지Table Schema 구조 유지 [ SQLD ] DML(Data Manipulation Language)DML DML(Data Manipulation Language)은SELECT, INSERT, UPDATE, DELETE 등으로.. 더보기