git commit -m "2024_02_23"
지난 번 Langchain으로부터 답변 받아오기, Streamlit소개를 했습니다.
이전 글을 읽고 오셔야 합니다.
https://miacoder.tistory.com/61
https://miacoder.tistory.com/62
그 다음으로 어떤 간단한 프로그램을 만들고, 배포하는 경험을 하면 흠미도 생기고, API 사용법 등을 경험 할 수 있다고 생각해 간단하게 chat GPT로 답변을 받아오는 프로그램을 만들어 보았습니다.
언어는 파이썬, 웹은 Streamli을 사용해서 만들었습니다.
파이썬 코드입니다.
파일이름은 main.py로 했습니다.
import streamlit as st
from langchain_openai import ChatOpenAI
from langchain_core.output_parsers import StrOutputParser
#기본적인 langchain을 통한 답변 불러오기 Streamlit에 api를 업로드 하기 때문에 여기선 필요 없습니다
llm = ChatOpenAI()
#채팅 메시지를 문자열로 변환하는 부분
output_parser = StrOutputParser()
#체인을 통해 하나로 합치는 부분
chain = llm | output_parser
st.title('오토코더:)')
st.header('원하는 언어와 내용을 입력하세요.')
st.header('')
option = st.selectbox(
#selectbox를 통해 언어를 선택하는 창입니다.
'프로그래밍 언어를 선택하세요',
('java', 'python', 'c', 'c++', 'c#', 'Swift', 'visual basic', 'javasvript', 'php', 'sql', 'go', 'dart'))
content = st.text_input('만들고 싶은 내용을 적으세요.')
if st.button('코드 만들기'):
#버튼을 누르면
with st.spinner('코드 작성 중'):
#로딩 중에는 동그란 표시가 나오고
result = chain.invoke(option + '로' + content + "를 한국어로 만들어줘")
# option(위에서 선택한 언어), content(원하는 코드내용)과 합쳐서 chat_gpt에게 명령을 내림으로서
# 코드를 짜도록 합니다.
st.success('완료!')
#완료되면 완료를 띄웁니다
st.write('완성된 코드입니다. 내용을 확인하세요')
st.write(result)
#코드를 출력합니다.
그리고 requirements.txt파일을 만들어 아래 코드를 입력한 후 같은 폴더에 추가하여 줍니다. 나중에 배포에 사용됩니다.
langchain
langchain-openai
streamlit
두 가지 파일을 만드셨다면 완성입니다.
매우 간결하고 짧은 코드입니다.
하지만 그 결과는 굉장히 인상적입니다.
아래 작동 모습을 보시죠
이렇게 원하는 언어를 선택하고, 원하는 내용을 입력하면 chat-gpt가 바로 코드를 만들어 줍니다
그렇다면 이 쉬운 코드를 어떻게 배포하면 좋을까요?
이 또한 Streamli의 서비스를 이용하면 됩니다.
Streamlit cloud를 사용하면 됩니다.
위 사이트로 이동하셔서 회원가입을 해줍니다.
그 다음 github로 이동하셔서 github도 로그인해 줍니다.(없다면 회원가입)
회원 가입을 완료하셨으면, github에 새로운 리파지토리를 만들어 줍니다.
이름 만들고 create하시면 됩니다.
그 다음에 위와 같은 화면이 뜨면 vscode에서 파일을 github에 업로드 하실 수 있습니다.
(사전에 git을 설치해 주세요)
https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%84%A4%EC%B9%98
설치하셨으면 아래 코드를 vscode 터미널에 순서대로 입력하면 파일이 업로드 됩니다.
git init
#git 초기화
git add .
#모든 파일을 업로드 하겠다
git commit -m "2024_02_23"
#2024_02_23이름으로 업로드 하겠다(버전관리)
git remote add origin 개인깃허브리파지토리주소
#깃허브리파지토리주소로 업로드 하겠다
git push origin main
#사용자 main으로 업로드 시작
파일이 업로드 되었으면 이제 Streamlit cloud에서 호출이 가능합니다.
newapp를 눌러줍니다.
리파지토리를 위에서 만든 것을 선택하시고
Main file path를 위에서 만든 이름으로 바꿉니다.
그리고 Advanced setting 를 눌러 위와 같이 본인 api를 넣습니다.
파이썬 버전도 선택합니다.
그리고 저장 후 Deploy를 누르면 배포가 됩니다.
완료되면 이제 배포가 완료된 것입니다.
링크를 누르면 실행이 가능할 것입니다.
그리고 마지막으로 나를 제외한 다른사람도 해당 사이트에 접속할 수 있도록 공개로 변경합니다.(선택)
그러면 이제 파일 배포도 완료, 다른 사람도 이용할 수 있게 됩니다.
이를 응용한다면 무궁무진한 프로그램을 만들 수 있을 것이 생각됩니다.
'Langchain' 카테고리의 다른 글
GPT-3.5/4 , LLaMA-1/2에 똑똑하게 질문하는 방법 26가지 (1) | 2024.03.08 |
---|---|
[Langchain] 파이썬을 통해 랭체인(Langchain)으로 Chat-gpt사용하기 24년도 버전 (0) | 2024.02.22 |
Langchain이란? 랭체인에 대해 알아보기 (1) | 2024.02.21 |