공통
Search Engine Optimization 의 약자로 SEO라고 표시하며 검색엔진최적화를 의미합니다. 구글이나 네이버 등 다양한 검색엔진은 검색로봇을 이용하여 각 홈페이지에 있는 정보를 수집하게 됩니다. 이 때 검색엔진이 홈페이지의 정보를 빠짐없이 잘 가져갈 수 있도록 홈페이지를 잘 제작해 두면 검색엔진에 보다 많은 정보가 정확히 저장될 수 있으므로 향후 검색엔진을 통한 방문자의 유입상승을 기대할 수 있습니다. SEO는 홈페이지의 구성방법, 메타태그의 정리 방법, HTML상의 마크업 방식에 따라 최적화의 여부가 달라지게 되며 SEO를 고려하기 위해서는 기획에서부터 컨텐츠의 구성이 SEO를 고려하며 제작하는 것이 좋습니다.
구글, 네이버, 다음 등의 검색엔진에 본인의 웹사이트를 등록한다는 뜻입니다. 검색엔진에 웹사이트를 등록하면 검색 결과에 본인의 웹사이트가 노출될 수 있습니다. 예를 들어, 네이버에 홈페이지를 등록하면 네이버의 검색 결과에 나올 수 있다는 뜻입니다.
홈페이지를 제작할 때 HTML과 CSS를 주로 개발하게 되는데 이 과정에서 표준화 된 규약을 지키며 개발하는 것을 의미합니다. 웹표준을 잘 지켜 개발을 하게 된다면 다양한 브라우저(익스플로러, 크롬, 파이어폭스, 오페라, 사파리 등)에서 홈페이지가 정상적으로 표시가 됩니다. 하지만 웹표준을 지키지 않는다면 브라우저마다 홈페이지가 깨져 표시되기도 하며 오류가 발생하기도 합니다. 따라서 홈페이지가 모든 브라우저를 만족시키고 정상적으로 표시될 수 있도록 웹표준을 반드시 준수하여 개발해야 하며 제이큐샵은 웹표준을 준수하고 있습니다.
홈페이지 관리자 프로그램 페이지를 별도로 제공합니다. 관리자페이지를 통하여 회원관리, 쇼핑몰관리, 예약관리, 게시판관리, 댓글관리, 마케팅 관리 등 수많은 다양한 기능을 제공합니다. 또한 부운영자 계정을 만들 수 있고, 부운영자마다 접근권한을 따로 설정할 수 있어 운영자마다 홈페이지관리 영역을 따로 지정할 수 있습니다. 관리자페이지 접근주소를 원하는데로 변경도 가능하여, 홈페이지 보안에도 문제가 없도록 제공합니다.
인프라서포트가 없어지게 되면 어쩌나요?
혹시라도 운영을 할 수 없는 불가항력적인 상황이 생기더라도, 다른 업체로 이전을 하시고자 할때도, 작업물을 모두 백업해서 드리고 있습니다. 작업물 뿐만 아니라, 도메인과 추후 관리에 필요한 파일들도 모두 제공해 드리고 있습니다.
해당 파일들만 있으면, 어느 업체에서라도 운영이 가능하시므로 안심하셔도 됩니다.
제작 신청시 지정된 입금 계좌로 계약 내용에 따라 선입금(계약금)해 주시고, 제작 완료된 완성된 사이트와 함께 고객님께 인계함과 동시에 잔액을 정산하시면 됩니다.
지역에 상관없이 제작이 가능합니다. 대부분 전화와 온라인으로 견적상담이 이루어지고 준비된 자료 또한 이메일로 받고 있기 때문에 소통에 걱정하지 않으셔도 됩니다.
Android 응용프로그램에 사용되는 개발언어는 보통 Java를 사용하며, 근래에는 Python, C# 등을 이용하여 개발합니다. 우리나라의 경우 Java를 이용하여 개발하는 개발자가 대부분이고, Java의 특성상 가독성이 뛰어나고 버전 관리가 비교적 쉬어 많은 개발자가 애용하고 있습니다. 최근에는 Python을 이용한 개발자가 증가하는 추세입니다.
iOS는 최근까지 Objective-C를 이용하여 개발하였습니다. Apple 사에서 Objective-C Compiler와 Xcode라는 개발환경을 제공하기 때문에 MacOS 환경에서 개발하는 것이 일반적입니다. 따라서, MacOS 환경이 아닌 운영체계에서 개발하는 것은 한계가 있습니다. 그리고, 최근에는 Swift를 이용하여 개발하는 추세입니다. 2014년 공개된 Swift는 2015년 오픈소스로 공개되어 강력하고 직관적인 프로그래밍 언어로서 개발자들에게 차세대 최첨단 소프트웨어 개발에 필요한 자유와 역량을 제공하고 있습니다.
코딩 경험이 전혀 없는 사람까지도 누구나 쉽게 배우고 사용할 수 있으며, 스크립팅 언어만큼이나 표현력 있고 재미있는 첫 시스템 프로그래밍 언어로 자리매김하고 있습니다. 또한 Swift는 안전을 고려한 설계로 자주 발생하는 프로그래밍 오류의 종류 전체를 제거해주어 많은 iOS 개발자들에게 편의를 제공하고 있습니다.
기능 리스트 정도를 작성하신 후에 개발사를 만나시는게 좋습니다. 목적은 개발사가 프로젝트에 필요한 인원과 기간, 대략적인 난이도를 판단하기 위함이고, 이를 통해서 견적을 산출할 수 있습니다. 기능 리스트의 수준에 대해서는 정해진 바가 없습니다. 제가 생각할 때는 크게 2가지 방식이 있습니다.
첫 번째는 엑셀로 기능을 정리하는 방식입니다. 예를 들어 이메일 로그인, 소셜 로그인 (카카오, 애플), 회원가입, 프로필 설정(사진, 이름, 이메일) 정도가 될 수 있습니다. 이 정도의 수준으로 리스트를 작성하시면 아마 적게는 20~30개, 많게는 40~50개 정도의 아이템이 나올 수 있습니다. 여기에 각 항목별 설명을 짧게 적어주시면 됩니다. 아마 A4로 1~2페이지 정도의 분량이 될 것 같습니다.
두 번째는 워드로 기능을 정리하는 방식입니다. 위와 유사하게 예시를 들어보면, ‘사용자는 앱을 열고 카카오 계정, 애플 계정을 통해 로그인합니다. 처음 사용하는 사용자는 회원가입 페이지로 이동하여 이름, 이메일, 사진을 확인/등록하고 약관에 동의하여 회원가입을 완료합니다.’ 정도로 써볼 수 있습니다. 이렇게 작성할 경우 A4로 3~5페이지 정도의 분량이 나올 수 있습니다.
이 정도를 읽어보면 개발사는 어떤 서비스를 만들고 싶어하시는지, 각 기능별로 명시는 안되어 있지만 필요한 세부 기능을 고려하면 어떤 기능들이 추가될 것인지 예상할 수 있습니다. 이를 바탕으로 각 기능에 대해 논의한 후에 바로 견적과 기간을 정하고 프로젝트에 착수할 수 있습니다. 결론적으로 저희와 같이 기획-디자인-개발을 턴키로 진행하는 개발사라면 형식에 구애받지 않고, 생각하신 기능만 명확하게 전달해주시면 됩니다.
온라인 플랫폼
우선 개발사가 가장 잘 사용하는 언어로 개발하는 것이 좋습니다. 우리에게 필요한 것은 ‘잘 동작하는 서비스’를 만드는 것이지, 어떤 언어로 반드시 만들어야하는지는 중요하지 않을 수 있습니다. 그렇지만, 피해야하는 언어/기술이 있다면 대중적이지 않은 언어/기술입니다. 개발사가 변경되거나, 내부 개발팀을 구축하려고 할 때 대중적이지 않은 언어/기술을 사용해서 만든 서비스라면, 이에 맞는 개발자를 채용하기 어려울 수 있습니다.
대중적이라는 것은 비교적 상대적인 의미라는 것은 잘 알고 있습니다. 하지만 2023년 현 시점에 대중적이라고 표현할 수 있는 언어/기술은 어느정도 정해져있다고 생각합니다. 백엔드라면 NodeJS와 Java(Spring / Spring Boot)가 있습니다. 물론 Python이나 PHP로도 충분히 좋은 시스템을 구축할 수 있습니다. 하지만 Python이나 PHP 개발자보다는 NodeJS나 Java 개발자의 저변이 더 넓다는 정도로 이해해주시면 좋습니다. 웹이라만 ReactJS가 가장 대중적이죠. 모바일은 네이티브(Swift, Kotlin) 이거나, React Native와 Flutter로 개발되느느 크로스플랫폼이 있습니다. 인프라는 AWS구요.
예를 들어 AWS-NodeJS-ReactJS-Swift-Kotlin으로 웹/앱 서비스를 만들었다고 한다면, 누군가가 ‘왜 그런 기술을 사용했는지’ 묻지 않을 것 같습니다. 하지만 Azure-PHP-VueJS-Flutter를 사용했다면 선택할 수 있는 개발사에 제한이 있을 것 같습니다.
기본적으로 개발사는 운영에 관여하지 않습니다. 예를 들어 A라는 사용자가 패스워드를 잊었는데 복구하지 못하고 있다고 가정해봅시다. 고객의 요구를 받아서 패스워드를 새로 설정하거나, 초기화하는 작업은 개발사의 역할이 아닙니다. 개발사는 운영 담당자가 패스워드를 새로 설정하거나, 초기화할 수 있는 기능을 만들어드리는 역할을 하는 것이죠. 조금 더 원론적인 얘기를 덧붙이자면, 개발사는 실제 운영되는 DB에 접근하는 것조차 최대한 안하는 것이 좋습니다. 사용자가 올린 컨텐츠나 개인정보를 개발사가 보면 안되는 것이니까요.
다만, 서비스 운영에 필요한 모든 역할을 위해 신규 인력을 채용하고 유지하는 것이 힘들 수 있습니다. 이러한 경우에 제한적으로 개발사가 도움을 드리는 경우들이 있습니다. 컨텐츠를 주기적으로 업로드한다거나, 시스템을 통해 접수되는 고객 문의사항에 대응한다거나, 광고 계정을 대신 운영하는 등의 업무를 지원해드리는 경우들이 있습니다. 물론 이 경우, 사전에 역할과 이에 따른 비용 관계를 충분히 논의한 후에 제한적으로 진행하고 있습니다.
웹사이트
홈페이지 제작 목적을 분명히 설정하여 전달하려는 자료나 이미지 등은 미리 찾아두는 것이 좋습니다. 만들고 싶은 사이트의 유사 사이트를 찾아 업체에게 전달하는 것도 좋은 방법입니다.
네. 가능합니다. 다만, 별도의 비용이 발생할 수 있습니다. 계약서 작성 시 무료 유지 보수에 대한 언급이 있었다면 추가비용 없이도 유지보수를 받을 수 있습니다. 홈페이지는 제작 후에도 유지보수가 자주 이뤄지기 때문에 유지보수 서비스를 제공하고 월 단위로 일정 금액을 청구하는 곳이 많습니다. 유지보수 외에 액세스 분석 보고서 제출 및 SEO 대책 등 마케팅까지 운영 지원을 제공하는 회사도 있으므로 필요에 따라 고려하시기 바랍니다.
사양이 공개된 콘텐츠관리시스템(CMS)이면 대다수의 홈페이지 제작 회사에서는 가능합니다. 또한 기존의 CMS가 필요한 경우도 홈페이지 제작 회사에 따라 제작이 가능합니다.
우선 개발사가 가장 잘 사용하는 언어로 개발하는 것이 좋습니다. 우리에게 필요한 것은 ‘잘 동작하는 서비스’를 만드는 것이지, 어떤 언어로 반드시 만들어야하는지는 중요하지 않을 수 있습니다. 그렇지만, 피해야하는 언어/기술이 있다면 대중적이지 않은 언어/기술입니다. 개발사가 변경되거나, 내부 개발팀을 구축하려고 할 때 대중적이지 않은 언어/기술을 사용해서 만든 서비스라면, 이에 맞는 개발자를 채용하기 어려울 수 있습니다.
대중적이라는 것은 비교적 상대적인 의미라는 것은 잘 알고 있습니다. 하지만 2023년 현 시점에 대중적이라고 표현할 수 있는 언어/기술은 어느정도 정해져있다고 생각합니다. 백엔드라면 NodeJS와 Java(Spring / Spring Boot)가 있습니다. 물론 Python이나 PHP로도 충분히 좋은 시스템을 구축할 수 있습니다. 하지만 Python이나 PHP 개발자보다는 NodeJS나 Java 개발자의 저변이 더 넓다는 정도로 이해해주시면 좋습니다. 웹이라만 ReactJS가 가장 대중적이죠. 모바일은 네이티브(Swift, Kotlin) 이거나, React Native와 Flutter로 개발되는 크로스플랫폼이 있습니다. 인프라는 AWS구요.
예를 들어 AWS-NodeJS-ReactJS-Swift-Kotlin으로 웹/앱 서비스를 만들었다고 한다면, 누군가가 ‘왜 그런 기술을 사용했는지’ 묻지 않을 것 같습니다. 하지만 Azure-PHP-VueJS-Flutter를 사용했다면 선택할 수 있는 개발사에 제한이 있을 것 같습니다.
글로벌 쇼핑몰
shop shop shop shop shop
일반적인 글로벌 쇼핑몰 제작은 아래의 절차로 이루어집니다.
STEP1. 구축 문의 고객님이 원하는 쇼핑몰 형태와 구현하고자 하는 세부기능 등을 문의합니다.
STEP2. 요구사항 분석 고객님의 요구사항을 분석하고 컨설팅 및 견적안을 제공합니다.
STEP3. 계약 구현 기술 협상 및 계약을 진행합니다.
STEP4. 사이트 제작 글로벌 쇼핑몰 구축을 진행합니다.
STEP5. 확인 및 검수 사이트 구현 내용을 확인, 검수합니다.
인프라서포트 자체 쇼핑몰 플랫폼 - 용 해외 결제수단인 페이팔(PayPal), Authorize.net, 구글 체크아웃 등 다양한 결제모듈을 제공합니다. 아울러 국내 PG사의 결제 모듈 또한 연동 가능합니다.
마젠토 - Magento 언어팩을 이용해서 전 세계 주요언어로 서비스를 구축할 수 있으며, 범용 해외 결제수단인 페이팔(PayPal), Authorize.net, 구글 체크아웃 등 다양한 결제모듈을 제공합니다. PG사에서 제공하는 연동 정보를 입력하는 간단한 작업만으로 바로 결제시스템을 적용할 수 있습니다.
워드프레스 우커머스 - WordPress WooCommerce 다국어 플러그인을 설치하면 다국어를 지원하는 사이트를 구축할 수 있으며, 페이팔(PayPal), 스트라이프(Stripe), 아마존 페이 등의 결제모듈을 제공됩니다. 그 외에도 플러그인을 지원하는 결제수단은 플러그인 설치 및 연동 작업을 거쳐 적용할 수 있습니다.
쇼피파이 - Shopify 기본 언어는 영어이지만 관리자 설정에서 여러 언어로 설정할 수 있습니다. 결제 모듈로는 페이팔(PayPal), 엑심베이, 페이먼트월 등 다양한 결제수단을 지원합니다.
서로 다른 솔루션간 쇼핑몰 이전(데이터 마이그레이션)의 경우 현재 사용중인 쇼핑몰 솔루션과 새로 구축하려는 쇼핑몰 솔루션에 따라 가능여부가 달라질 수 있습니다. 자세한 내용은 문의 및 상담하기를 통해 문의 부탁드립니다.
APP(iOS & Android)
각각은 서로 다른 장점들이 있습니다. 반응형 앱의 경우는 단말기에 구애받지 않고 보여주려는 정보를 동일한 방식으로 보여줍니다. 이는 장점이자 단점인데, 페이지 제작 시, 이를 고려하여 다양한 방식으로 검증하여 여러 단말기에 적합하게 보이는지 확인하여야 합니다. 즉, 개발에 투입될 자원(인력, 시간, 비용)이 증가하는 것입니다. 또한, 향후 유지보수에도 많은 자원이 소요됩니다.
반면, 적응형 앱은 단말기에 맞게 별도로 제작하는 것입니다. 따라서, 이 방식도 초기 제작 비용은 많이 소요되지만, 테스트 등의 기간이 반응형 앱에 비해 짧고, 유지보수에 유리합니다. 단점으로는 단말기별 페이지를 각기 관리해야 하므로 관리상의 복잡도가 증가합니다.
모바일 앱이 비즈니스 성장과 새로운 기회 창출을 위한 핵심요소로 부상함에 따라, 기업들은 더 많은 핵심 기업 서비스를 모바일화하고 있습니다. 이 과정에서 기업의 목표를 달성하기 위한 최적의 개발 방법을 모색하지만, 한 가지 개발 방식으로는 기업의 복잡한 요건을 모두 충족시키기는 어렵습니다.
따라서, 한 가지 개발 방식이 아니라, 각 방식이 제공하는 장점을 활용하고 개발 방식과 상관없이 지속해서 개발하게 될 모바일 앱의 개발을 지원하는 유연한 솔루션이 해답입니다. 하이브리드, 네이티브, 등 웹 개발 방식의 선택은 한 방식이 주가 될 수는 있어도 한 가지 방식만을 선택하는 것은 아닙니다. 모바일 전략을 세우는 기업들은 다음 요소들을 고려해야 합니다.
모바일 앱 개발, 백엔드 서비스와 연동, 앱 관리 등 전체 수명주기 관리 관점의 전체 비용 및 복잡성을 증가시키는 모바일 기기 및 기술의 파편화 소비자와 기업의 모바일 채택 가속화에 따른 보안, 확장성 및 제어에 대한 요구사항 증가 생각지도 못한 새로운 유형과 새로운 용도의 모바일 앱을 가져올 근거리 통신, 위치 정보, 증강 현실, 소셜 네트워크 등과 같은 새로운 기능과 보조 기술 앱 스토어의 제출 및 승인 과정 없이 사용자가 손쉽게 이용할 수 있도록 앱을 배포하고, 업데이트 배포 및 전체 앱 포트폴리오 관리를 신속하게 수행할 수 있는 새로운 앱 배포 채널(공용 및 개인 채널) 기업은 이러한 변수를 모두 고려하여 모든 유형의 앱을 지원하는 유연성과 백엔드 기간 업무 서비스와 완벽한 연동, 높은 수준의 보안 보장, 중앙의 단일 접점으로 전체 애플리케이션 포트폴리오 모니터링 및 관리 기능을 제공하는 솔루션을 선택해야 합니다.
그 이유는 대표적인 모바일 단말기의 OS가 Android와 iOS이며, 이들 운영체계에서는 응용프로그램이 호환되지 않기 때문입니다. 따라서, 하나의 프로그램을 동작시키기 위하여 Android용과 iOS용 2가지 응용 프로그램을 작성하여야 합니다. 기본적인 알고리즘은 같지만, 두 가지 운영체계의 특성과 개발환경이 다르며, 소프트웨어 배포를 동시에 진행하여야 하므로 2가지 운영체계의 응용프로그램을 동시에 개발하고 있습니다.
어플리케이션 개발은 프로젝트 개발 기간에 따라 개발자, 디자이너, 기획자 등의 인건비를 월단위로 산정하여 견적서로 제출됩니다. 간략한 설명으로는 [개발자는 = 기능을 몇일 안에 제작할 수 있는지, 디자이너는 = 요구 디자인의 제작기간, 기획자는 = 스토리보드 제작]의 기간을 이야기 합니다. 이 외 PM/PL/DBA/server engineer 등의 인건비가 추가될 수 있습니다.
개발의 언어, 서버의 구성 등으로 인건비 항목이 변경될 수 있습니다. 인건 비용이 높은 편이고, 상용화 후 개선 및 운영 비용이 필요한 경우 추가될 수 있습니다
AI (인공지능)
중소기업의 경우 한정된 예산으로의 접근이 필요합니다. AI에도 검증된 오픈소스 바람이 불고 있습니다. 검증된 글로벌 오픈소스 플랫폼을 안내합니다.
오픈소스 기반 AI 모델을 이끄는 기업에는 일단 메타(구 페이스북)가 있습니다. 메타는 ‘라마(LLaMa)’라는 이름의 대규모 인공지능 언어모델을 올 2월 공개했습니다. 당시 마크 주커버그 메타 CEO는 다른 연구자나 엔지니어들이 이용할 수 있도록 오픈소스로 공개한다고 밝혔습니다. 여기에 음성과 문자를 상호 변환하는 ‘대규모 다국어 음성인식(MMS)5)’ AI 모델을 오픈소스로 공개하거나, 음악을 생성하는 AI 기술 ‘뮤직젠(MusicGen) 6)’도 오픈소스로 배포하며 주목을 받았습니다.
오픈소스 AI 업계를 대표하는 또 다른 기업에는 스테이빌리티AI(Stability AI)가 있습니다. 스테이빌리티AI는 AI 이미지 생성 기술 ‘스테이블 디퓨전(Stable Diffusion)’을 만들면서 유명세를 떨쳤으며, 지금은 AI 이미지와 관련된 각종 이미지 기술을 오픈소스화하며 시장에 높은 영향력을 행사하고 있습니다. AI 이미지 기술의 대중화에 기여한 스테이빌리티AI는 오픈소스 기반 언어모델 스테이블LM(StableLM)를 출시하기도 했는데, 이는 비영리 연구 기관이 일루써AI(EleutherAI)가 개발한 기술을 기반으로 만들어졌습니다.
스테이빌리티AI는 수익화를 위해 포토샵이나 그림판처럼 간편하게 AI 그림 생성 도구 ‘드림스튜디오(DreamStudio)’라는 것을 별도로 만들었는데, 이 기술조차 스테이블스튜디오(StableStudio)라는 이름으로 오픈소스화했습니다. 스테이빌리티AI는 공식 보도자료7)를 통해 “스테이블스튜디오로 하나의 기업에서 주도하는 AI 프로젝트보다 훨씬 뛰어난 프로젝트를 육성하는 데 기여하고 싶다”라며 “폐쇄형 제품으로 기술 개발 과정을 알리지 않는 것보다는 커뮤니티 중심으로 개방형 기술을 개발하는 것이 이미지 생성 AI 기술 확장하는 가장 좋은 방법”이라며 오픈소스 기술을 발표하는 이유를 밝히기도 했습니다.
마지막으로 AI 오픈소스 이끄는 핵심 기업에 허깅페이스(Hugging Face)가 있습니다. 프랑스 출신 창업자들이 모여 만든 허깅페이스는 머신러닝 애플리케이션에 필요한 여러 개발 도구를 제공하고 있습니다. 허깅페이스 창업자들은 오픈소스 개발에 워낙 오랫동안 몸담은 인물들이기 때문에 허깅페이스 서비스 자체도 오픈소스 기반 머신러닝 모델을 쉽게 구축할 수 있게 만들었다. 실제로 허깅페이스는 ‘AI 버전의 깃허브(The GitHub of AI)’라는 별명을 갖고 있기도 합니다.
인프라서포트는 Meta의 라마(LlaMa)를 베이스로 생성형 AI를 활용하고 있습니다.
허깅 페이스(Hugging Face)는 자연어 처리(NLP) 모델을 쉽게 사용할 수 있게 해주는 플랫폼입니다. LLM(Large Language Model)은 대규모 데이터셋을 학습하여 다양한 언어 작업을 수행할 수 있는 모델입니다.
왜냐하면 허깅 페이스는 다양한 사전 학습된 모델을 제공하여, 개발자들이 쉽게 NLP 작업을 수행할 수 있게 해주기 때문입니다.
허깅 페이스와 LLM을 함께 사용하면, 자연어 처리 작업을 효율적으로 수행할 수 있습니다. 이는 텍스트 분류, 감정 분석, 번역 등 다양한 작업에 유용합니다.
예를 들어, 허깅 페이스의 트랜스포머 라이브러리를 사용하여 사전 학습된 BERT 모델을 불러와 텍스트 분류 작업을 수행할 수 있습니다.
허깅 페이스와 LLM은 앞으로도 계속해서 발전할 것입니다. 특히, 다양한 언어 작업을 효율적으로 수행할 수 있는 기능은 더욱 중요해질 것입니다.
왜냐하면 자연어 처리 기술은 다양한 산업에서 중요한 역할을 하고 있으며, 이를 통해 개발자들은 더욱 효율적으로 작업할 수 있기 때문입니다.
또한, 허깅 페이스와 LLM을 함께 사용하면, 성능 저하를 최소화하면서도 다양한 작업을 효율적으로 수행할 수 있습니다. 이는 텍스트 분류, 감정 분석, 번역 등 다양한 작업에 유용합니다.
앞으로도 허깅 페이스와 LLM은 자연어 처리 기술의 중요한 도구로 자리 잡을 것입니다. 이를 통해 개발자들은 더욱 효율적으로 작업할 수 있을 것입니다.
이 글에서는 허깅 페이스와 LLM을 사용하는 방법과 그 중요성에 대해 자세히 알아보았습니다. 이를 통해 다양한 자연어 처리 작업에서 허깅 페이스와 LLM을 효과적으로 활용할 수 있을 것입니다.
허깅 페이스와 LLM은 자연어 처리 기술의 중요한 도구입니다. 허깅 페이스는 다양한 사전 학습된 모델을 제공하여, 개발자들이 쉽게 NLP 작업을 수행할 수 있게 해줍니다. LLM은 대규모 데이터셋을 학습하여 다양한 언어 작업을 수행할 수 있는 모델입니다.
허깅 페이스와 LLM을 함께 사용하면, 자연어 처리 작업을 효율적으로 수행할 수 있습니다. 이는 텍스트 분류, 감정 분석, 번역 등 다양한 작업에 유용합니다.
앞으로도 허깅 페이스와 LLM은 자연어 처리 기술의 중요한 도구로 자리 잡을 것입니다. 이를 통해 개발자들은 더욱 효율적으로 작업할 수 있을 것입니다.
1. LLaMA란 무엇인가요?
LLaMA는 Meta (구 Facebook)에서 개발한 대규모 언어 모델입니다. 이 모델은 자연어 처리(NLP) 작업을 수행하는 데 사용되며, 대량의 텍스트 데이터를 기반으로 학습하여 인간과 유사한 텍스트를 생성할 수 있습니다.
2. LLaMA의 주요 특징은 무엇인가요?
모델 크기: LLaMA는 다양한 크기의 모델을 제공합니다 (예: LLaMA-7B, LLaMA-13B, LLaMA-30B 등). 각 숫자는 모델의 파라미터 수를 나타냅니다.
오픈 소스: LLaMA 모델은 연구자와 개발자들이 사용할 수 있도록 오픈 소스로 제공됩니다. Meta는 모델의 가중치를 연구 목적으로 제공하며, 일반 사용자는 이에 대한 접근이 제한될 수 있습니다.
고성능: LLaMA는 다양한 자연어 처리 작업에서 높은 성능을 발휘합니다. 특히, 대규모 데이터셋에서 학습하여 문맥 이해와 텍스트 생성 능력이 뛰어납니다.
3. LLaMA는 어떻게 학습되었나요?
LLaMA는 대규모의 인터넷 텍스트 데이터셋을 사용하여 학습되었습니다. 이 데이터는 웹 페이지, 책, 논문 등 다양한 출처에서 수집됩니다. 모델은 이러한 데이터를 기반으로 패턴과 구조를 학습하여 자연어 이해와 생성 능력을 갖추게 됩니다.
4. LLaMA와 다른 언어 모델(GPT, BERT 등)의 차이점은 무엇인가요?
모델 구조: LLaMA는 Transformer 아키텍처를 기반으로 하며, GPT와 유사한 구조를 가지고 있습니다. BERT와는 다르게 LLaMA는 주로 생성 작업에 중점을 두고 있습니다.
출처와 목적: GPT는 OpenAI에서 개발하였고, BERT는 Google에서 개발했습니다. 각 모델은 자체적인 목적과 디자인 원칙을 가지고 있지만, LLaMA는 Meta의 연구 목표에 맞춰 설계되었습니다.
5. LLaMA의 활용 사례는 무엇인가요?
텍스트 생성: 기사 작성, 콘텐츠 생성, 소설 창작 등 다양한 텍스트 생성 작업에 사용됩니다.
질문 답변: 사용자 질문에 대한 답변을 제공하는 데 활용됩니다.
대화형 AI: 채팅봇이나 대화형 시스템에 통합되어 자연스러운 대화를 지원합니다.
언어 번역: 다양한 언어 간의 번역 작업에 활용될 수 있습니다.
6. LLaMA의 접근성은 어떻게 되나요?
LLaMA 모델은 연구자와 개발자를 위해 오픈 소스로 제공되지만, 상용화나 대규모 배포에는 제약이 있을 수 있습니다. Meta의 정책에 따라 모델의 배포와 사용은 제한될 수 있습니다.
7. LLaMA의 성능은 어떻게 평가되나요?
LLaMA의 성능은 다양한 벤치마크와 자연어 처리 작업에서 평가됩니다. 모델의 성능은 텍스트 생성의 자연스러움, 문맥 이해 능력, 그리고 특정 작업에서의 정확도 등을 기준으로 평가됩니다.
8. LLaMA의 한계는 무엇인가요?
편향: LLaMA는 학습 데이터의 편향을 반영할 수 있습니다. 이로 인해 모델의 출력이 편향되거나 부정확할 수 있습니다.
정보 업데이트: LLaMA는 훈련 시점의 정보를 기반으로 학습하므로, 이후에 발생한 최신 정보를 반영하지 않을 수 있습니다.
윤리적 문제: 생성된 콘텐츠가 허위 정보일 수 있으며, 책임 있는 사용이 필요합니다.
9. LLaMA의 미래는 어떻게 될까요?
LLaMA와 같은 모델은 지속적으로 발전하고 있으며, 연구와 기술 발전에 따라 성능이 개선되고 새로운 기능이 추가될 수 있습니다. 또한, 이러한 모델의 연구와 개발은 인공지능의 발전 방향에 큰 영향을 미칠 것입니다.
최저가로 생성형 AI를 제작하는 방법은 다양한 접근 방식을 통해 비용을 절감할 수 있습니다. 다음은 경제적으로 효율적으로 생성형 AI를 개발하는 데 도움이 되는 몇 가지 방법입니다
1. 오픈 소스 모델 활용
사전 훈련된 모델 사용: GPT, BERT, LLaMA 등과 같은 오픈 소스 생성형 AI 모델을 활용하면 모델을 처음부터 훈련할 필요 없이 기본적인 기능을 사용할 수 있습니다. 이 모델들은 무료로 제공되며, 연구 및 개발에 사용할 수 있습니다.
Hugging Face Transformers: Hugging Face의 라이브러리는 다양한 사전 훈련된 모델과 쉽게 사용할 수 있는 도구를 제공합니다.
2. 작은 규모의 모델 사용
모델 축소: 대규모 모델은 높은 비용을 유발할 수 있습니다. 대신, 상대적으로 작은 모델(예: DistilBERT, TinyGPT)을 사용하면 비용을 절감하면서도 필요한 기능을 구현할 수 있습니다.
모델 압축: 학습된 모델을 압축하여 크기와 계산 비용을 줄이는 방법도 고려할 수 있습니다.
3. 효율적인 훈련 및 튜닝
전이 학습: 사전 훈련된 모델을 기반으로 특정 작업에 맞게 추가 학습(fine-tuning)하면 훈련 비용을 크게 줄일 수 있습니다.
하이퍼파라미터 최적화: 최적의 하이퍼파라미터를 찾아 모델의 성능을 극대화하고 훈련 시간을 줄입니다.
4. 데이터 비용 절감
무료 데이터셋 활용: 공개된 데이터셋을 활용하여 모델을 학습시킬 수 있습니다. Kaggle, UCI Machine Learning Repository 등에서 다양한 데이터셋을 무료로 제공받을 수 있습니다.
데이터 생성: 자동화 도구나 시뮬레이션을 통해 필요한 데이터를 생성하여 데이터 수집 비용을 줄일 수 있습니다.
5. 협업 및 크라우드소싱
커뮤니티와 협력: 오픈 소스 커뮤니티나 학술 공동 연구를 통해 리소스와 지식을 공유받을 수 있습니다. 많은 연구자들이 무료로 모델을 제공하거나 협력할 수 있습니다.
Crowdsourcing: 데이터 수집이나 모델 학습을 위한 작업을 외부 인력에게 맡기는 방법도 비용을 절감할 수 있는 방법 중 하나입니다.
6. 로컬 자원 활용
개인 컴퓨터 활용: GPU를 장착한 개인 컴퓨터나 로컬 서버를 사용하여 초기 개발이나 작은 규모의 훈련을 수행할 수 있습니다. 클라우드 자원 대신 로컬 자원을 활용하면 비용을 절감할 수 있습니다.
7. 모델 평가 및 최적화
성능 모니터링: 모델의 성능을 모니터링하고 비효율적인 부분을 개선하여 훈련 시간과 자원 사용을 줄일 수 있습니다.
에너지 효율적 훈련: 훈련 과정에서 에너지 효율성을 고려하여 비용을 줄일 수 있습니다.
이와 같은 방법들을 통해 생성형 AI를 저렴하게 제작할 수 있으며, 특히 오픈 소스 리소스와 클라우드 서비스의 활용은 비용 절감에 큰 도움이 됩니다.
여러 계층의 AI 분야별로 인기를 누리고 있는 오픈소스를 소개합니다.
오픈소스 AI Stack을 한번 살펴보신 후 생성형 AI 도입 상담을 하시면 품질도 보증하면서 합리적인 비용으로 AI 플랫폼을 구축 하실 수 있습니다.
우리나라의 유명 AI 개발사들의 플랫폼도 그 속을 들여다보면 아래의 오픈소스 플랫폼을 베이스로 하고 있습니다.
인프라서포트는 오픈소스의 조합으로 가성비 있는 AI플랫폼을 제공하겠습니다.
Open LLM
생성형 AI의 핵심인 LLM(Large Language Model)은 GPT를 필두로 한 Closed LLM과 Llama 진영의 Open LLM 두 축으로 나뉘는데, Mistral 팀의 모델이 오픈소스 라이선스로 모델을 공개하였고, 뛰어난 성능까지 발휘하여 많은 이들의 관심을 받고 있습니다. Open LLM 은 주로 허깅페이스를 통해 관리하고 제공됩니다.
Mixtral-8x7B-Instruct-v0.1 (Apache-2.0) https://huggingface.co/mistralai/Mixtral-8x7B-Instruct-v0.1- 전문가 혼합 모델(SMoE)을 채용했습니다. - Llama 2 70B 모델을 넘어 GPT-3.5 175B 를 앞서는 성능을 보여줍니다. - 블라인드 챗봇테스트인 챗봇 아레나에서 GPT-4, Claude-2 에 이어 3번째 순위입니다.
Llama-2-7b-chat (Llama 2 Community) https://huggingface.co/meta-llama/Llama-2-7b-chat- 월간 활성사용자 7억명 이하인 서비스에서는 상업적으로 사용 가능한 라이선스입니다. - Llama-2를 파인튜닝한 수 많은 파생 모델이 나와 있습니다.
phi-2 (MIT) https://huggingface.co/microsoft/phi-2- MS 에서 공개한 2.7B 파라미터의 경량 모델입니다. - 상식, 언어 이해, 논리적 추론을 테스트 결과 13B 모델보다 성능이 좋다는 결과를 보였다고 합니다.
LLM 추론 및 서빙
잘 학습된 LLM 을 효과적으로 사용하기 위해서는 빠르고, 컴퓨팅 자원을 효율적으로 관리해줄 수 있는 도구가 필요합니다.
Ollama (MIT) https://github.com/jmorganca/ollama- Mac, Linux, Windows 등 로컬환경에서 7B 수준의 LLM 을 직접 실행할 수 있습니다. - 간단한 명령어만으로 모델을 다운로드하고 실행합니다. - CLI로 모델을 관리하고, 간단한 채팅이 가능합니다. - 제공된 API를 통해 여러가지 활용이 가능합니다.
GPT4All (MIT)https://github.com/nomic-ai/gpt4all- 개인용 CPU 및 모든 GPU에서 로컬로 작동하는 강력하고 맞춤화된 대규모 언어 모델을 실행합니다.- 3GB~8GB 모델 파일을 다운로드하여 GPT4All 오픈 소스 에코시스템 소프트웨어에 연결할 수 있습니다.llama.cpp (MIT)https://github.com/ggerganov/llama.cpp- MacBook에서 4비트 정수 양자화를 사용하여 LLaMA 모델을 실행하는 것이 목표입니다.- 순수 C/C++로 LLaMA 모델 추론합니다.
vLLM (Apache-2.0) https://github.com/vllm-project/vllm- LLM 추론 및 서빙을 위한 빠르고 사용하기 쉬운 라이브러리입니다. - 허깅페이스에서 제공되는 모델을 지원합니다. - 분산처리, 병렬처리, 스트리밍 출력, OpenAI 호환 API 제공합니다. - Nvidia, AMD GPU 지원합니다.
MLC LLM (Apache-2.0)https://github.com/mlc-ai/mlc-llm- 컴파일러 가속을 통해 네이티브 API로 모든 대규모 언어 모델을 네이티브 배포할 수 있는 고성능 범용 배포 솔루션입니다. - ML 컴파일 기술을 사용하여 모든 디바이스에서 기본적으로 AI 모델을 개발, 최적화 및 배포할 수 있도록 합니다.
학습 및 파인튜닝
LlaMA-Factory (Apache-2.0)https://github.com/hiyouga/LLaMA-Factory- LLM 파일튜닝을 쉽게 할 수 있는 UI를 제공합니다.-LLaMA, BLOOM, Mistral, Baichuan, Qwen, ChatGLM 등의 언어를 지원합니다.
Ludwig (Apache-2.0)https://github.com/ludwig-ai/ludwig- LLM 및 기타 심층 신경망과 같은 맞춤형 AI 모델을 구축하기 위한 로우코드 프레임워크- 선언적 YAML 구성 파일 하나만 있으면 데이터에 대한 최첨단 LLM을 학습시킬 수 있습니다.
라우팅
LiteLLM (MIT) https://github.com/BerriAI/litellm- 다양한 LLM API 를 통합하고, 프록시를 제공합니다. - OpenAI 의 API 형식을 따릅니다. - 사용자별 API 인증 관리를 제공합니다.
One API (MIT) https://github.com/songquanpeng/one-api- 표준 OpenAI API 형식을 통해 모든 대형 모델에 즉시 액세스할 수 있도록 합니다. - 다양한 LLM 을 지원하며, 프록시 서비스도 제공합니다. - 로드 밸런싱과 다중 배포가 가능하며, 사용자 관리 및 그룹 기능을 제공합니다.
AI Gateway (MIT) https://github.com/Portkey-AI/gateway- 하나의 빠르고 친숙한 API로 100개 이상의 LLM에 연결을 제공합니다. - 작은 사이즈의 설치만으로 빠른 엑세스를 보장합니다.
LLM Monitoring Great Expectations (Apache-2.0) https://github.com/great-expectations/great_expectations- 데이터 팀이 품질 테스트, 문서화 및 프로파일링을 통해 데이터에 대한 공유된 이해를 구축하도록 돕습니다. - CI/CD 파이프라인과 통합하여 필요한 곳에 정확하게 데이터 품질을 추가할 수 있습니다.
LLM 모니터링
Great Expectations (Apache-2.0)https://github.com/great-expectations/great_expectations- 데이터 팀이 품질 테스트, 문서화 및 프로파일링을 통해 데이터에 대한 공유된 이해를 구축하도록 돕습니다.- CI/CD 파이프라인과 통합하여 필요한 곳에 정확하게 데이터 품질을 추가할 수 있습니다.
LangFuse (MIT) https://github.com/langfuse/langfuse- 오픈 소스 LLM 가시성, 분석, 신속한 관리, 평가, 테스트, 모니터링, 로깅, 추적을 제공합니다. - 시각적 UI에서 복잡한 로그 및 추적을 탐색하고 디버깅할 수 있습니다. - 향후 엔터프라이즈 기능이 추가 예정입니다.
Giskard (Apache-2.0, Dual License) https://github.com/Giskard-AI/giskard- 편향, 데이터 유출, 허위 상관관계, 환각, 독성, 보안 문제 등 표 형식 모델에서 LLM에 이르기까지 AI 모델의 취약점을 자동으로 탐지할 수 있습니다. - AI 모델의 취약점을 스캔하고 테스트 스위트를 자동으로 생성하여 ML 모델과 LLM의 품질 보증 프로세스를 지원합니다. - 배포된 LLM 애플리케이션에서 AI 안전 위험을 감지하는 SaaS 플랫폼을 제공합니다. (프리미엄)
LLM Platform
OpenLLM (Apache-2.0)https://github.com/bentoml/OpenLLM- 대규모 언어 모델(LLM)의 배포 및 운영을 용이하게 하도록 설계된 오픈 소스 플랫폼입니다.- 광범위한 오픈 소스 LLM 및 모델 런타임을 통합적으로 지원합니다.- 단일 명령어로 RESTful API 또는 gRPC를 통해 LLM을 제공합니다.
FastChat (Apache-2.0)https://github.com/lm-sys/FastChat- 대규모 언어 모델 기반 챗봇을 훈련, 서비스 및 평가하기 위한 오픈 플랫폼입니다.- 50개 이상의 LLM을 대상으로 600만 건 이상의 채팅 요청을 처리하는 Chatbot Arena를 지원합니다.
KServe (Apache-2.0)https://github.com/kserve/kserve- Kubernetes 환경에서 구축가능한 ML 모델 추론을 위한 플랫폼입니다.- 스케일링, 네트워킹, 모니터링 등을 위한 추상화 인터페이스를 제공합니다.
Lay Serve (Apache-2.0)https://github.com/ray-project/ray- AI 및 Python 애플리케이션 확장을 위한 통합 프레임워크입니다.- 핵심 분산 런타임과 ML 컴퓨팅을 간소화하기 위한 AI 라이브러리 세트로 구성되어 있습니다.
LLM Framework
LangChain (MIT) https://github.com/langchain-ai/langchain- 언어 모델로 구동되는 애플리케이션을 개발하기 위한 프레임워크입니다. - 파이썬 및 Javascript 로 제공하며, 수 많은 라이브러리들을 통합한 추상화 레이어를 제공합니다. - 구축된 LangChain 을 API 로 배포할 수도 있습니다.
LlamaIndex (MIT) https://github.com/run-llama/llama_index- LLM 어플리케이션을 위한 데이터에 특화된 프레임워크입니다. - 기존 데이터 소스 및 데이터 형식(API, PDF, 문서, SQL 등)을 수집하기 위한 데이터 커넥터를 제공합니다. - 데이터를 LLM에서 쉽게 사용할 수 있도록 데이터(인덱스, 그래프)를 구조화하는 방법을 제공합니다.
Haystack (Apache-2.0) https://github.com/deepset-ai/haystack- 검색 증강 생성(RAG), 문서 검색, 질문 답변, 답변 생성 등 쉬운 구축을 위한 LLM 프레임워크입니다. - 파이프라인 개념을 기반으로 구축합니다.
Flowise (Apache-2.0) https://github.com/FlowiseAI/Flowise- UI를 드래그 앤 드롭하여 맞춤형 LLM 플로우 구축할 수 있습니다.
LangFlow (MIT) https://github.com/logspace-ai/langflow- LangChain 파이프라인을 쉽게 실험하고 프로토타이핑할 수 있도록 합니다. - CLI 를 이용해서 실행하며, Google Cloud Platform(GCP)에 Langflow 배포도 지원합니다.
Spring AI (Apache-2.0) https://github.com/spring-projects/spring-ai- Spring Framwork 에서 제공하는 AI 프레임워크 (아직 스냅샷 상태) - OpenAI 및 MS Azure 기반의 API 연동을 지원하며, 추상화 레이어를 제공 - AI Template 을 이용하여 AI 기능을 보다 쉽고 확장성 있게 구현하는 것이 목표
Data Juicer (Apache-2.0) https://github.com/alibaba/data-juicer- Alibaba에서 공개한 오픈소스로 LLM을 위한 원스톱 데이터 처리 시스템입니다. - 재사용 가능한 20개 이상의 구성 레시피, 50개 이상의 핵심 OP, 풍부한 기능의 전용 툴킷으로 구성된 체계적인 라이브러리를 제공합니다. - 자동화된 보고서 생성 기능으로 상세한 데이터 분석을 수행하여 데이터 세트를 더 깊이 이해할 수 있습니다.
Vector Database
Milvus (Apache-2.0)https://github.com/milvus-io/milvus- 임베딩 유사도 검색 및 AI 애플리케이션을 강화하기 위해 구축된 오픈 소스 벡터 데이터베이스입니다.- 비정형 데이터 검색의 접근성을 높이고 배포 환경에 관계없이 일관된 사용자 경험을 제공합니다.
qdrant (Apache-2.0)https://github.com/qdrant/qdrant- 벡터 유사도 검색 엔진이자 벡터 데이터베이스입니다.- 포인트 벡터를 저장, 검색, 관리할 수 있는 편리한 API를 갖춘 프로덕션 지원 서비스를 제공합니다.
Weaviate (BSD-3-Clause)https://github.com/weaviate/weaviate- 강력하고 확장 가능하며 클라우드 기반의 빠른 오픈 소스 벡터 데이터베이스입니다.- 추천, 요약, 신경망 검색 프레임워크와의 통합 등 다른 강력한 기능도 있습니다.- 데이터를 가져올 때 편리하게 벡터화하거나, 직접 벡터를 업로드할 수도 있습니다.
Prompt
PromptFlow (MIT) https://github.com/microsoft/promptflow- 아이디어 구상, 프로토타이핑, 테스트, 평가부터 프로덕션 배포 및 모니터링에 도움을 주는 MS의 오픈소스입니다. - LLM 기반 AI 애플리케이션의 엔드투엔드 개발 주기를 간소화하도록 설계된 개발 도구 모음입니다. - VS 확장 기능인 Flow Desgin 도 제공합니다.
NeMo Guardrails (Apache-2.0) https://github.com/NVIDIA/NeMo-Guardrails- LLM 기반 대화형 시스템에 프로그래밍 가능한 가드레일을 쉽게 추가할 수 있는 오픈 소스 툴킷입니다. - LLM을 다른 서비스(툴이라고도 함)에 원활하고 안전하게 연결할 수 있습니다. - 사전 정의된 대화 경로를 따르도록 LLM을 조정할 수 있으므로 대화 디자인 모범 사례에 따라 상호 작용을 설계하고 표준 운영 절차를 적용할 수 있습니다.
LLM Lingua (MIT) https://github.com/microsoft/LLMLingua- MS에서 공개한 오픈소스로 프롬프트 압축을 통한 대규모 언어 모델 추론 향상을 목표로 합니다. - 잘 훈련된 경량 모델을 이용하여 프롬프트에서 필수적이지 않은 토큰을 사전에 식별하고 제거합니다. - 이 접근 방식을 사용하면 대규모 언어 모델(LLM)을 사용하여 효율적인 추론을 수행할 수 있으며, 성능 손실을 최소화하면서 최대 20배의 압축을 달성할 수 있습니다.
{guidance} (MIT) https://github.com/guidance-ai/guidance- MS에서 공개한 오픈소스로, 기존의 프롬프트 및 체인에 비해 뛰어난 제어와 효율성을 제공합니다. - 기존 프롬프트를 효율적으로 전달하여, cost 및 응답 시간을 개선합니다. - {{ }} 템플릿을 기반으로 하는 간단하고 직관적인 구문을 제공합니다.
TypeChat (MIT) https://github.com/microsoft/TypeChat- MS에서 공개한 오픈소스로, 자연어 인터페이스를 특정 타입 데이터으로 변환하는 라이브러리입니다. - 프롬프트 엔지니어링을 스키마 엔지니어링으로 대체합니다. - 다양한 예제를 통해 사용 방식을 쉽게 이해할 수 있습니다.
MemGPT (Apache-2.0) https://github.com/cpacker/MemGPT- LLM의 제한된 컨텍스트 창 내에서 확장된 컨텍스트를 효과적으로 제공하기 위해 LLM의 다양한 메모리 계층을 지능적으로 관리하는 시스템입니다. - 중요한 정보를 벡터 데이터베이스에 푸시해두었다가 필요한 경우 이를 사용하여 영구적인 대화를 가능하게 합니다.
LLM 평가
OpenAI Evals (MIT) https://github.com/openai/evals- OpenAI에서 제공하는 것으로 대규모 언어 모델(LLM) 또는 LLM을 사용하여 구축된 시스템을 평가하기 위한 프레임워크를 제공합니다. - 데이터를 사용하여 해당 데이터를 공개적으로 노출하지 않고도 워크플로의 일반적인 LLM 패턴을 나타내는 비공개 평가를 구축할 수 있습니다.
UpTrain (Apache-2.0) https://github.com/uptrain-ai/uptrain- LLM 애플리케이션을 평가하기 위한 오픈 소스 도구입니다. - 정확성, 환각, 독성 등의 측면에서 LLM 반응을 확인할 수 있는 사전 구축된 메트릭을 제공합니다.
OpenCompass (Apache-2.0) https://github.com/open-compass/opencompass- LLM의 품질과 효과를 쉽게 평가할 수 있습니다. - 약 40만 개의 질문으로 구성된 70개 이상의 데이터 세트에 대한 모델 평가 체계인 20개 이상의 HuggingFace 및 API 모델을 사전 지원하여 모델의 기능을 5가지 차원에서 종합적으로 평가합니다. - 표준 또는 대화형 프롬프트 템플릿과 함께 제로 샷, 소수 샷, 연쇄적 평가를 지원하여 다양한 모델의 최대 성능을 쉽게 평가할 수 있습니다.
promptfoo (MIT)https://github.com/promptfoo/promptfoo- 여러 프롬프트에서 출력을 빠르게 평가할 수 있는 매트릭스 보기를 생성합니다.- 코드를 작성하거나 무거운 노트북으로 작업하지 않고도 평가를 정의할 수 있습니다.- 팀원들과 함께 작업할 수 있는 공유 기능 및 웹 뷰어가 내장되어 있습니다.
DeepEval (Apache-2.0)https://github.com/confident-ai/deepeval- 사용이 간편한 오픈 소스 LLM 평가 프레임워크를 제공합니다.- Pytest와 유사하지만 단위 테스트 LLM 애플리케이션에 특화되어 있습니다. - 환각, 답변 관련성, RAGAS 등과 같은 메트릭을 기반으로 LLM 출력을 평가합니다.- 로컬로 실행되는 LLM 및 기타 다양한 NLP 모델을 사용합니다.
ragas (Apache-2.0)https://github.com/explodinggradients/ragas- LLM 및 RAG 애플리케이션의 성능을 평가, 모니터링 및 개선하기 위한 전용 솔루션입니다.- 최신 연구에 기반한 LLM 생성 텍스트를 평가하는 도구를 제공하여 RAG 파이프라인에 대한 인사이트를 제공합니다.
AI Agent
AutoGPT (MIT) https://github.com/Significant-Gravitas/AutoGPT- GitHub Star가 매우 빠르게 증가한 가장 인기있는 AI Agent 오픈소스 - 12월 중순 v0.5.0 업데이트를 통해 프로젝트 구조가 재구성되어 AutoGPT는 /autogpts/autogpt 폴더 하위에 위치합니다.
MetaGPT (MIT) https://github.com/geekan/MetaGPT- 한 줄의 요구사항을 입력으로 받아 사용자 스토리/경쟁사 분석/요구사항/데이터 구조/API/문서 등을 출력합니다. - 내부적으로는 제품 관리자/아키텍트/프로젝트 관리자/엔지니어를 포함합니다.
Javis (MIT) https://github.com/microsoft/JARVIS- MS에서 만든 수많은 전문가 모델 에이전트로 구성된 협업 시스템 입니다. - 작업을 계획하고, 선택된 모델로 작업을 수행한 뒤 응답을 생성합니다.
ChatDEV (Apache-2.0) https://github.com/OpenBMB/ChatDev- 다양한 지능형 에이전트를 통해 운영되는 가상 소프트웨어 회사를 구현했습니다. - 여러 직군들로 구선된 에이전트들이 협업하여 설계, 코딩, 테스트 및 문서화와 같은 작업을 수행합니다.
GPT Pilot (MIT) https://github.com/Pythagora-io/gpt-pilot- 개발자와 협업하며, 전체 코드를 작성하고 개선시킬 수 있는 AI 에이전트 - AI가 앱에 대한 대부분의 코드(아마도 95%)를 작성할 수 있지만 나머지 5%의 경우 개발자가 개입하여 전체 코드를 얻어냅니다.
AgentVerse (Apache-2.0) https://github.com/OpenBMB/AgentVerse- 다양한 애플리케이션에서 여러 개의 LLM 기반 에이전트를 쉽게 배포할 수 있도록 설계되었습니다. - 작업 해결과 시뮬레이션이라는 두 가지 프레임워크를 제공합니다.
PR Agent (Apache-2.0) https://github.com/Codium-ai/pr-agent- AI 에이전트로 PR을 분석해줍니다. - PR 제목, 설명, 요약, 레이블 작성뿐만 아니라, PR 리뷰, 댓글 답변, 코드 제안 등의 기능을 제공합니다.
Leon (MIT)https://github.com/leon-ai/leon- 오픈소스 개인비서입니다.- 채팅 또는 문자를 보내서 대화를 할 수 있습니다.
Tasking AI (Apache-2.0)https://github.com/TaskingAI/TaskingAI- AI 네이티브 애플리케이션 개발을 위한 오픈 소스 플랫폼입니다.- 추론, 검색, 어시스턴트 및 도구와 같은 고유한 모듈식 기능이 원활하게 통합되어 개발 프로세스를 향상시킵니다.- 집단 지식과 도구를 활용하여 팀워크와 생산성을 향상시키는 AI 에이전트를 만들 수 있습니다.
Web UI for LLM
Chatbot UI (MIT) https://github.com/mckaywrigley/chatbot-ui- 모두를 위한 오픈 소스 AI 채팅 UI를 제공합니다. - 2024년 1월 v2.0 이 업데이트 되었습니다. - 클라우드 LLM 뿐만 아니라 로컬에서 동작하는 LLM 도 지원합니다.
Chat UI (Apache-2.0)https://github.com/huggingface/chat-ui- 허깅페이스챗에 사용되는 오픈소스 ChatUI 입니다.- 다양한 LLM을 사용하여 나만의 맞춤형 채팅 UI 를 배포할 수 있습니다.
Quivr (Apache-2.0) https://github.com/StanGirard/quivr- GPT, Anthropic, VertexAI, Ollama 를 사용하여 문서 (PDF, CSV, ...) 기반으로 채팅을 할 수 있습니다. - 오프라인 모드 및 링크를 공개할 수도 있으며, 마켓플레이스도 제공합니다.
Langchain-Chatchat (Apache-2.0) https://github.com/chatchat-space/Langchain-Chatchat- LangChain을 이용한 Q&A 챗봇 UI를 제공합니다. - 오픈 소스 LLM 및 임베딩 모델을 기반으로 모든 오픈 소스 모델을 사용하여 오프라인 프라이빗 배포를 달성할 수 있습니다.
LibreChat (MIT) https://github.com/danny-avila/LibreChat- ChatGPT 와 유사한 Web 채팅 UI 를 제공합니다. - 멀티모달 채팅이 가능하며, 다양한 모델을 선택할 수 있습니다.
Next.js AI Chatbot https://github.com/vercel/ai-chatbot- Vercel에서 제공하는 Chatbot UI입니다. - 스트리밍 채텅을 위한 Vercel AI SDK 를 제공합니다. - Shadcn/ui 를 사용하여 개발되었습니다.
Stable Diffusion web UI (AGPL-3.0) https://github.com/AUTOMATIC1111/stable-diffusion-webui- Stable Diffusion을 위한 Gradio 라이브러리를 기반으로 하는 Web UI를 제공합니다. - 한 번의 클릭으로 설치 및 실행이 가능합니다.
ComfyUI InstantID (Apache-2.0) https://github.com/huxiuhan/ComfyUI-InstantID- InstantID는 단일 이미지만으로 인물 식별이 가능한 새로운 이미지를 생성합니다. - Instant ID 기능을 사용하기 위한 기본 테스트 인터페이스를 제공합니다. - SD Turbo를 사용가능합니다.
h2o GPT (Apache-2.0) https://github.com/h2oai/h2ogpt- 문서를 쿼리하고 요약하거나 로컬 비공개 GPT LLM과 채팅할 수 있습니다. - 다양한 모델 지원하며, 추론 서버를 지원합니다. - Linux, Docker, macOS 및 Windows 에서 사용 가능합니다.
Anything LLM (Apache-2.0) https://github.com/Mintplex-Labs/anything-llm- 모든 문서, 리소스 또는 콘텐츠를 채팅 중에 모든 LLM이 참조로 사용할 수 있는 컨텍스트로 변환할 수 있는 풀스택 애플리케이션입니다. - 사용할 LLM 또는 벡터 데이터베이스를 선택할 수 있습니다. - 다중 사용자 관리 및 권한 관리 기능을 제공합니다.
Open Role Play (AGPL-3.0)https://github.com/Open-Roleplay-AI/openroleplay.ai- 오픈소스로 제작된 Character.ai 와 유사한 기능을 제공합니다.- 나만의 캐릭터, 페르소나, 고유한 UI를 만들 수 있습니다.- 이미지 생성, 일레븐렙스를 이용한 목소리 생성 등을 지원합니다.
SoM (MIT)https://github.com/microsoft/SoM- 마이크로소프트에서 공개한 오픈소스로 GPT-4V 를 시작적으로 표현해줍니다.- 다양한 활용 사례를 소개하고 있어서 참고해볼 수 있습니다.
생산성
Open Interpreter (AGPL-3.0) https://github.com/KillianLucas/open-interpreter- ChatGPT의 Code Interpreter의 기능을 로컬에서 가능하게 해주는 오픈소스입니다. - CodeLlama를 사용해서 코드가 작성됩니다. - 실제 로컬환경에서 돌아가며 시스템 명령어도 수행하기 때문에 주의 필요합니다.
Tldraw (Apache-2.0 에서 자체 라이선스로 변경, non-commercial) https://github.com/tldraw/tldraw- 캔버스에 그림을 그리면 해당 기능을 AI 로 개발해줍니다.
Screenshot to Code (MIT) https://github.com/abi/screenshot-to-code- 웹사이트을 찍어서 올리면 HTML/Tailwind css 로 사이트를 구축합니다. - GPT-4의 Vision 기능을 이용하여 스크린샷을 분삭하고, 이미지가 필요한 경우 DALL-E 로 생성합니다.
ShellGPT (MIT) https://github.com/TheR1D/shell_gpt- 터미널에서 쉘 명령어, 코드 스니펫, 문서 생성에 도움을 줍니다. - Linux, macOS, Windows를 지원하며 PowerShell, CMD, Bash, Zsh 등과 같은 모든 주요 셸과 호환됩니다.
Pandas AI (MIT) https://github.com/gventuri/pandas-ai- 데이터 분석 및 조작 도구인 pandas에 생성적 AI 기능을 추가한 Python 라이브러리입니다. - 자연어로 데이터에 대해 질문할 수 있습니다.
Continue (Apache-2.0) https://github.com/continuedev/continue- VS Code 및 JetBrains용 오픈 소스 Code Copilot 플러그인입니다. - 채팅을 통해 코드를 작성할 수 있는 IDE 플러그인을 제공합니다.
Sweep (Elastic License - 오픈소스X) https://github.com/sweepai/sweep- 버그와 기능 요청을 코드 변경으로 전환하는 AI 주니어 개발자입니다. - GitHub 이슈를 등록하면, 이슈가 해결된 코드를 자동을 작성하고 PR로 전환됩니다. - 종속성 그래프, 텍스트 및 벡터 검색을 사용하여 코드베이스를 이해합니다.
keploy (Apache-2.0)https://github.com/keploy/keploy- AI를 이용한 자동화된 테스트 생성 기능을 제공합니다.- 중복된 테스트를 감지하고 제거합니다.Jupyter AI (BSD-3-Clause)https://github.com/jupyterlab/jupyter-ai- 생성형 AI와 Jupyter 노트북을 연결합니다.- Jupyter AI는 JupyterLab 조직의 일부로 인큐베이팅 중입니다.
플랫폼 관련 문의사항을 알려주세요~
플랫폼 제작 관련 문의사항을 남겨주세요.
