본문 바로가기

안녕하세요!

Python

[ 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) .. 더보기
[ AWS ] Hello World Lambda 생성하기 이번주부터는 틈틈히 AWS에서 웹페이지 등을 구현하는 방법에 대해 AWS에서 무료로 제공하고 있는 강의를 들으며 해당 내용을 정리해볼 것이다. 국비 지원 훈련을 받았을 때 AWS 구조나 사용 방법에 대해 친절히 설명을 받지 못했었기에 이번 기회를 통해 AWS를 활용하는 방식이 어떤 것인지 파악해볼 것이다. Lambda 기본 함수 생성하기 AWS 계정에 로그인을 한 후에 사이트 상단에 있는 검색창에 Lambda를 검색하고 클릭해 해당 페이지로 접속한다. Lambda 페이지에서 위 페이지는 Dashboard를 클릭해 확인할 수 있다. 해당 페이지로 이동한 후, 우측 상단에 있는 Create function을 클릭한다. 어느 순간부터 언어 설정이 영어로 되지 않고 있으나, 상관없다. 블루프린트 사용을 선택해주.. 더보기
[ 정보처리기사 ] 실기 / 2020년 2회 11~20번 리눅스 커널을 기반으로 동작하며 자바의 코클린 언어로 개발된, 모바일 기기에 주로 사용되는 오픈소스 플랫폼인 운영체제는 무엇인지 쓰시오. 안드로이드 다음 주어진 student 테이블의 name 속성에 idx_name을 인덱스 명으로 하는 인덱스를 생성하는 SQL 문을 작성하시오. id name grade 1111 홍길동 1 2222 임꺽정 2 3333 유관순 3 4444 안중근 3 5555 홍범도 4 CREATE INDEX idx_name ON student(name); 다음 괄호 안에 들어갈 프로토콜의 이름을 적으시오. ( )은(는) HTTP 등의 프로토콜을 이용해 XML 기반의 메시지를 교환하는 프로토콜로, Envelope-Header-Body 주요 3요소로 구성된다. ( )은(는) 유사한 기능을 하.. 더보기

loading