Tech & Development/Programming Languages
gradio를 이용한 Chatbot 만들기 (GPT-3.5)
gradio를 이용한 Chatbot 만들기 (GPT-3.5)
2023.04.03OpenAI가 ChatGPT를 내놓은 이후 전 세계가 들썩이고 있습니다. 다양한 기업들이 자신만의 기술과 ChatGPT를 접목한 사업한 사업을 선보이고 있습니다. Chatbot은 고객과 최종 사용자가 직접 소통하도록 설계되었기 때문에 다양한 입력 프롬프트에 직면했을 때 Chatbot이 예상대로 작동하는지 확인하는 것이 매우 중요합니다. gradio는 Chatbot 데모를 쉽게 구축하고 GUI를 통해 직접 테스트할 수 있습니다. OpenAI의 GPT-3.5 모델로 챗봇 프로그램을 만들어 보겠습니다. 1. 설치 (Installation) gradio 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install gradio gradio 설치와 관련된 내용은 이전 글을 참고하시기 바랍니다...
gradio 시작하기 (설치방법)
gradio 시작하기 (설치방법)
2023.04.03AI 학습 모델은 강력하고 매우 흥미롭지만 그 자체로만 본다면 그다지 유용해 보이지 않습니다. 모델이 완성되면 어떠한 가치를 제공할 수 있는지 증명이 필요한데 Accuracy, Precision, Recall, IOU, PSNR와 같은 성능 지표로는 확인이 어렵기 때문입니다. 데이터 과학자나 머신러닝 모델을 연구하는 개발자가 학습 모델을 쉽고 빠르게 배포하여 이해 관계자로부터 피드백을 받을 수 있는 몇 가지 도구가 등장했습니다. 대표적으로 gradio, Streamlit, Dash, Flask가 있는데 이번 글에서는 Gradio를 설치하고 간단한 예제를 수행해 보도록 하겠습니다. 설치 (Installation) gradio 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install..
Streamlit을 이용한 Chatbot 만들기 (Blenderbot, GPT-3)
Streamlit을 이용한 Chatbot 만들기 (Blenderbot, GPT-3)
2023.03.31streamlit-chat은 Streamlit을 이용하여 실시간 대화형 Web 애플리케이션을 쉽게 만들 수 있는 패키지입니다. 만드는 방법은 매우 간단하며 예제 확인도 가능합니다. streamlit-chat으로 Hugging Face에서 제공하는 Facebook AI BlenderBot과 OpenAI의 GPT-3 모델로 챗봇 프로그램을 만들어 보겠습니다. 1. 설치 (Installation) streamlit과 streamlit-chat 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install streamlit pip install streamlit-chat streamlit 설치와 관련된 내용은 이전 글을 참고하시기 바랍니다. Streamlit 시작하기 (설치방법) Stream..
Streamlit 시작하기 (설치방법)
Streamlit 시작하기 (설치방법)
2023.03.31Streamlit은 Machine learning과 Data science project에서 사용자가 Web 애플리케이션을 쉽게 생성하고 공유할 수 있는 Python 오픈 소스 라이브러리입니다. Streamlit을 사용하면 최소한의 코드와 노력으로 interactive 가능한 Web 애플리케이션으로 빠르게 만들 수가 있습니다. 설치 (Installation) streamlit 패키지 설치는 pip 명령어를 이용하여 설치할 수 있습니다. pip install streamlit 설치 후 터미널에 streamlit hello 를 입력했을 때 Streamlit Hello 앱이 열리면 모든 준비가 끝난 것입니다. 이 앱은 Streamlit으로 무엇을 할 수 있는지 많은 예제를 제공하고 있습니다. streamlit..
Pynecone 시작하기 (설치 및 환경구성)
Pynecone 시작하기 (설치 및 환경구성)
2023.03.23Pynecone은 Web App을 Build 하고 배포하기 위한 오픈 소스 풀스택 Python 프레임워크입니다. 2022년 11월, Nikhil Rao와 Alek Petuskey 두 사람에 의해 발표되었으며 이전에 Web 개발 경험이 없더라도 Python 개발자라면 매우 쉽게 대화형 Web App을 만들 수 있도록 하는 것을 목표로 하고 있습니다. 현재는 60개 이상 빌트인 Component를 갖고 있으며 계속해서 추가를 하는 중입니다. 더보기 아래는 Pynecone Doc에서 소개하고 있는 Motivation입니다. Pure Python Use Python for everything. Don't worry about learning a new language. Easy to Learn Build and..
ipywidgets widget 종류와 사용방법
ipywidgets widget 종류와 사용방법
2023.03.03ipywidgets은 Jupyter Notebook과 JupyterLab 내에서 데이터 분석 및 시각화를 위해 다양한 widgets를 제공합니다. ipywidgets의 개념과 설치방법은 링크된 페이지에서 확인 가능합니다. widget 형식 widget Numeric widgets IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText Boolean widgets ToggleButton, Checkbox, Valid Selection widgets Dropdown, RadioButtons..
Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets
Jupyter Notebook 인터렉티브(interactive) 기능 추가 - ipywidgets
2023.02.28ipywidgets 이란? ipywidgets은 Jupyter Notebookr과 JupyterLab에서 인터렉티브(interactive) 기능을 추가하거나 시각화하기 위한 라이브러리입니다. 다양한 그래픽 컨트롤과 위젯을 사용하여 Jupyter Notebook 내에 데이터 분석과 시각화를 위한 대화형 사용자 인터페이스를 만들 수 있습니다. Button, Slider, Progressbar, Text Box 등 다양한 인터페이스 위젯을 지원합니다. 예를 들어 사용자가 실시간으로 데이터를 탐색하고 상호 작용할 수 있는 대화형 대시보드를 만들 수 있습니다. ipywidgets는 데이터 탐색과 분석을 위해 Jupyter Notebook을 사용하는 분석가나 개발자가 사용해 보면 매우 좋을 것 같습니다. 설치 (I..
[Python] 문자열을 숫자로 변환
[Python] 문자열을 숫자로 변환
2023.01.251. int(), float() 함수 가장 간단한 방법은 int() 함수와 float() 함수를 사용하는 것입니다. 예를 들어, 문자열 "123"을 정수로 변환하려면 다음과 같이 할 수 있습니다. string = "123" number = int(string) print(number) # 123 문자열 "3.14"를 실수로 변환하려면 다음과 같이 할 수 있습니다. string = "3.14" number = float(string) print(number) # 3.14 2. eval() 함수 eval() 함수를 사용할 수 있습니다. eval() 함수는 문자열로 전달된 수식을 계산하고 그 결과를 반환합니다. string = "123" number = eval(string) print(number) # 12..
[Python] 문자열에서 특정문자 제거
[Python] 문자열에서 특정문자 제거
2023.01.191. replace() method replace() 메서드는 문자열에서 특정 문자나 문자열을 다른 문자나 문자열로 대체합니다. 예를 들어, 문자열 "Hello World!"에서 "o"를 제거하려면 다음과 같이 할 수 있습니다. string = "Hello World!" new_string = string.replace("o", "") print(new_string) # "Hell Wrld!" 2. translate() method translate() 메서드 역시 문자열에서 특정 문자를 제거할 수 있습니다. string = "Hello World!" remove_chars = "o" new_string = string.translate(string.maketrans("", "", remove_chars..
[Python] 자료형 - 리스트 (List)
[Python] 자료형 - 리스트 (List)
2023.01.18Python에서 list는 순서가 있는 요소들의 집합을 나타내는 객체입니다. list 객체는 인덱싱, 슬라이싱, 연산, 관련된 함수들(append, extend, insert, remove, pop, count, sort, reverse, ...)를 지원합니다. 순서를 가지며, 인덱싱, 슬라이싱 기능을 지원 수학적 집합의 특성을 가지며, 중복된 요소를 가질 수 있음 변경 가능(mutable) 객체 요소들의 순서를 유지하며, 인덱싱, 슬라이싱 기능을 지원 # list 생성 lst = [1, 2, 3, 4, 5] print(lst) # [1, 2, 3, 4, 5] # list 요소 추가 lst.append(6) print(lst) # [1, 2, 3, 4, 5, 6] # list 요소 제거 lst.remov..
[Python] 자료형 - 집합(Set)
[Python] 자료형 - 집합(Set)
2023.01.18Python에서 set 자료형은 순서가 없고, 중복되지 않는 요소들의 집합을 나타내는 객체입니다. set 객체는 집합 연산(union, intersection, difference, symmetric difference)을 지원하며, 관련된 함수들(add, remove, discard, clear, pop, ...)를 지원합니다. set 객체는 순서를 가지지 않으며, 인덱싱, 슬라이싱 기능을 지원하지 않음 set 객체는 수학적 집합의 특성을 가지며, 중복된 요소를 가질 수 없음 set은 변경 가능(mutable) 객체 set 객체는 요소들의 순서가 없기 때문에, 특정 요소가 있는지 확인하는 것은 O(1) 의 시간 복잡도 # set 생성 s = set([1, 2, 3, 4, 5]) print(s) # {1..
[Python] 텍스트 파일에 내용 추가
[Python] 텍스트 파일에 내용 추가
2023.01.18Python에서 텍스트 파일에 내용을 추가하려면, 먼저 파일을 열어야 합니다. 파일을 추가 모드로 열려면 open 시 mode에 'a'를 입력하여 append 파일 모드를 사용해야 합니다. 파일을 열고 파일에 내용을 추가 하기 위해서 file.write() 함수를 사용합니다. with open("example.txt", "a") as file: file.write("This text will be added to the file.") 다른 방법으로는 아래와 같이 작성 할 수 있습니다. f = open("example.txt", "a") f.write("This text will be added to the file.") f.close() 더보기 참고 : 'w' 파일 모드를 사용하면 파일을 쓰기 모드로 열..