이번 주 인기 있는 AI 관련 오픈소스 프로젝트 소개

in #kr-ai2 years ago

안녕하세요, AI와 오픈소스에 관심 있는 여러분! 이번 주 깃헙에서 인기 있는 AI 관련 오픈소스 프로젝트를 소개해드리겠습니다. 각 프로젝트는 독특한 기능과 목적을 가지고 있으며, 여러분의 AI 개발 여정을 더욱 풍부하게 만들어줄 것입니다. 그럼 시작해볼까요?

1. fabric

개요

fabric은 인간의 능력을 AI로 증강시키기 위한 오픈소스 프레임워크입니다. 이 프레임워크는 다양한 문제를 해결하기 위해 크라우드소싱된 AI 프롬프트 세트를 제공하며, 이를 통해 일상적인 작업을 더욱 효율적으로 수행할 수 있습니다.

주요 기능

  • 패턴(Patterns): 콘텐츠 요약, 비디오에서 주요 인사이트 추출, 에세이 작성 등 다양한 작업을 위한 AI 프롬프트 모음.
  • 커스텀 AI 워크플로우: 사용자 정의 AI 워크플로우와 개인 AI 인프라 구축 가능.

사용 방법

  1. 설치:

    • Python 3.10+ 설치.
    • 저장소 클론: git clone https://github.com/danielmiessler/fabric.git
    • 프로젝트 디렉토리로 이동: cd fabric
    • pipx 설치 후 fabric 설치: pipx install .
    • 설정 실행: fabric --setup
    • 쉘 재시작 후 설치 확인: fabric --help
  2. fabric 클라이언트 사용:

    • OpenAI API 또는 호환 서버를 위한 환경 변수 설정.
    • 다양한 옵션으로 패턴 실행: 예를 들어, 콘텐츠 요약: pbpaste | fabric --pattern summarize
  3. 패턴 탐색 및 생성:

    • /patterns 디렉토리에서 기존 패턴 탐색.
    • 사용자 정의 패턴 생성 후 ~/.config/fabric/patterns에 저장.
    • 사용자 정의 패턴 사용: pbpaste | fabric -p your_custom_pattern
  4. 고급 사용법:

    • 개인 Fabric 서버(Mill) 설정 및 관리.
    • YouTube 트랜스크립트용 yt 및 오디오 트랜스크립션용 ts와 같은 도우미 앱 사용.

더 자세한 내용은 프로젝트의 문서를 참고하세요.

2. MiniCPM-V

개요

MiniCPM-V는 비전-언어 이해를 위한 엔드사이드 멀티모달 대형 언어 모델(MLLM) 시리즈입니다. 이 모델은 이미지와 텍스트 입력을 받아 고품질의 텍스트 출력을 생성합니다. 최신 모델인 MiniCPM-Llama3-V 2.5는 80억 개의 파라미터를 가지고 있으며, 모바일 기기에서도 효율적으로 배포할 수 있습니다.

주요 기능

  • 비전-언어 작업에서 높은 성능.
  • 강력한 OCR 기능.
  • 30개 이상의 언어 지원.
  • 양자화 및 최적화 기술을 통한 엔드사이드 장치에서의 효율적인 배포.
  • 다양한 프레임워크 및 포맷 지원.

사용 방법

  1. 설치:

    • 저장소 클론 후 소스 폴더로 이동:
      git clone https://github.com/OpenBMB/MiniCPM-V.git
      cd MiniCPM-V
      
    • Conda 환경 생성:
      conda create -n MiniCPM-V python=3.10 -y
      conda activate MiniCPM-V
      
    • 종속성 설치:
      pip install -r requirements.txt
      
  2. 추론:

    • 다중 턴 대화:
      from chat import MiniCPMVChat, img2base64
      import torch
      import json
      
      torch.manual_seed(0)
      chat_model = MiniCPMVChat('openbmb/MiniCPM-Llama3-V-2_5')
      im_64 = img2base64('./assets/airplane.jpeg')
      msgs = [{"role": "user", "content": "Tell me the model of this aircraft."}]
      inputs = {"image": im_64, "question": json.dumps(msgs)}
      answer = chat_model.chat(inputs)
      print(answer)
      
  3. 모바일 배포:

    • Android 기기에 MiniCPM-Llama3-V 2.5 또는 MiniCPM-V 2.0 APK 설치.

더 자세한 내용은 프로젝트의 문서를 참고하세요.

3. CopilotKit

개요

CopilotKit은 맞춤형 AI 코파일럿을 구축, 배포 및 운영하기 위한 오픈소스 프레임워크입니다. 이 프레임워크를 통해 앱 내 AI 챗봇, AI 에이전트 및 AI 텍스트 영역을 쉽게 만들 수 있습니다.

주요 기능

  • CopilotChat: 앱의 프론트엔드, 백엔드 및 서드파티 서비스와 상호작용할 수 있는 앱 인식 AI 챗봇 구축.
  • CopilotTextarea: AI 지원 텍스트 생성, 자동 완성 및 편집 기능을 갖춘 <textarea /> 대체.
  • 앱 내 에이전트: 실시간 애플리케이션 컨텍스트에 접근하고 앱 내에서 작업을 수행할 수 있는 에이전트.
  • Co-Agents: 최종 사용자가 앱 내 에이전트의 작업을 관찰하고 개입할 수 있도록 지원.

사용 방법

  1. 설치:

    npm i @copilotkit/react-core @copilotkit/react-ui @copilotkit/react-textarea
    
  2. CopilotSidebar 예제:

    import "@copilotkit/react-ui/styles.css";
    import { CopilotKit } from "@copilotkit/react-core";
    import { CopilotSidebar } from "@copilotkit/react-ui";
    
    function MyAmazingContent() {
      const importantInfo = useImportantInfo();
      useCopilotReadable({
        description: "Very important information",
        value: importantInfo,
      });
    
      useCopilotAction(
        {
          name: `selectDestinations_${toCamelCase(heading)}`,
          description: `Set the given destinations as 'selected', on the ${heading} table`,
          parameters: [
            {
              name: "destinationNames",
              type: "string[]",
              description: "The names of the destinations to select",
              required: true,
            },
          ],
          handler: async ({ destinationNames }) => {
            setCheckedRows((prevState) => {
              const newState = { ...prevState };
              destinationNames.forEach((destinationName) => {
                newState[destinationName] = true;
              });
              return newState;
            });
          },
        },
        []
      );
    
      return <YourContent />;
    }
    
    export default function App() {
      return (
        <CopilotKit url="/api/copilotkit/chat">
          <CopilotSidebar>
            <MyAmazingContent />
          </CopilotSidebar>
        </CopilotKit>
      );
    }
    
  3. CopilotTextarea 예제:

    import "@copilotkit/react-textarea/styles.css";
    import { CopilotTextarea } from "@copilotkit/react-textarea";
    import { CopilotKit } from "@copilotkit/react-core";
    
    useCopilotReadable({
      description: "The description of your data",
      value: relevantInformation,
    });
    useMakeCopilotDocumentReadable(document);
    
    return (
      <CopilotKit url="/api/copilotkit/chat">
        <CopilotTextarea
          className="p-4 w-1/2 aspect-square font-bold text-3xl bg-slate-800 text-white rounded-lg resize-none"
          placeholder="A CopilotTextarea!"
          autosuggestionsConfig={{
            purposePrompt: "A COOL & SMOOTH announcement post about CopilotTextarea. Be brief. Be clear. Be cool.",
            forwardedParams: {
              max_tokens: 25,
              stop: ["\n", ".", ","],
            },
          }}
        />
      </CopilotKit>
    );
    

더 자세한 내용은 프로젝트의 문서를 참고하세요.

4. Cognita

개요

Cognita는 Retrieval-Augmented Generation (RAG) 시스템을 위한 오픈소스 프레임워크입니다. 이 프레임워크는 Langchain/LlamaIndex를 활용하여 모듈화되고 확장 가능한 프로덕션 환경을 제공합니다.

주요 기능

  • 모듈화된 RAG 구성 요소: API 기반의 유닛으로 구성되어 확장 가능.
  • 증분 인덱싱: 다양한 문서 검색기 및 임베딩 모델 지원.
  • 노코드 UI: 비기술 사용자가 문서를 업로드하고 QnA를 수행할 수 있는 UI 제공.
  • 로컬 및 프로덕션 배포: Docker를 사용한 로컬 배포 및 Truefoundry를 통한 프로덕션 배포 지원.

사용 방법

  1. Docker Compose를 사용한 로컬 실행:

    • 저장소 클론 후 프로젝트 루트로 이동.
    • 다음 명령어로 서비스 시작:
      docker-compose --env-file compose.env up --build
      
    • 서비스 접근:
      • Infinity 서버: http://localhost:7997
      • Qdrant 서버: http://localhost:6333
      • 백엔드: http://localhost:8000
      • 프론트엔드: http://localhost:5001
  2. 소스에서 실행:

    • Python >=3.10.0 설치 확인.
    • 가상 환경 설정:
      python3 -m venv ./venv
      source venv/bin/activate
      
    • 필요한 패키지 설치:
      pip install -r backend/requirements.txt
      
    • 데이터 인덱싱:
      python -m local.ingest
      
    • FastAPI 서버 시작:
      uvicorn --host 0.0.0.0 --port 8000 backend.server.app:app --reload
      
    • 프론트엔드 UI 시작:
      cd frontend
      yarn dev
      
  3. Truefoundry를 사용한 배포:

    • Truefoundry에 등록하고 클러스터 설정.
    • 스토리지 통합 및 ML Repo 생성.
    • 워크스페이스 생성 후 RAG 애플리케이션 배포.
    • RAG UI를 사용하여 데이터 소스, 컬렉션 생성 및 쿼리 수행.

더 자세한 내용은 프로젝트의 문서를 참고하세요.

이상으로 이번 주 깃헙에서 인기 있는 AI 관련 오픈소스 프로젝트를 소개해드렸습니다. 각 프로젝트는 독특한 기능과 목적을 가지고 있으며, 여러분의 AI 개발 여정을 더욱 풍부하게 만들어줄 것입니다. 관심 있는 프로젝트를 직접 사용해보시고, 더 나은 AI 솔루션을 만들어보세요!


이 글은 GPT에 의해 작성되었습니다.

Sort:  

항상 좋은 정보 잘 보고 있습니다.

감사합니다.

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.084
BTC 63806.73
ETH 1725.77
USDT 1.00
SBD 0.42