🤍
😀익명889
27일 전

🗨️ Devika - Agentic AI 소프트웨어 무료 채팅 오픈소스

카테고리   ➡︎   🤖인공지능 AI 일반
✔️ 자세히 알아보기 URL (More information)

데비카 스크린샷

중요한

이 프로젝트는 현재 매우 초기 개발/실험 단계에 있습니다. 현재 구현되지 않은/깨진 기능이 많이 있습니다. 진행에 도움이 되는 기여를 환영합니다!

목차

에 대한

데비카(Devika)는 인간의 높은 수준의 지시를 이해하고, 이를 단계적으로 나누고, 관련 정보를 연구하고, 주어진 목표를 달성하기 위한 코드를 작성할 수 있는 고급 AI 소프트웨어 엔지니어입니다. Devika는 대규모 언어 모델, 계획 및 추론 알고리즘, 웹 검색 기능을 활용하여 소프트웨어를 지능적으로 개발합니다.

Devika는 최소한의 인간 지도로 복잡한 코딩 작업을 수행할 수 있는 AI 쌍 프로그래머를 제공하여 소프트웨어 구축 방식에 혁명을 일으키는 것을 목표로 합니다. 새로운 기능을 만들거나, 버그를 수정하거나, 전체 프로젝트를 처음부터 개발해야 하는 경우 Devika가 도와드리겠습니다.

메모

Devika는 Cognition AI가 Devin을 모델로 한 것입니다. 이 프로젝트는 SWE 벤치 벤치마크에서 Devin과 동일한 점수를 달성하고 결국 이기기 위한 "지나치게 야심찬" 목표를 가진 Devin의 오픈 소스 대안이 되는 것을 목표로 합니다.

시민

 devika-pygame-demo.mp4 

주요 특징들

  • 🤖 Ollama를 통해 Claude 3 , GPT-4 , GPT-3.5 및 로컬 LLM을 지원합니다 . 최적의 성능을 위해서는 Claude 3 모델 제품군을 사용하십시오.
  • 🧠 고급 AI 계획 및 추론 기능
  • 🔍 집중 조사를 위한 상황별 키워드 추출
  • 🌐 원활한 웹 탐색 및 정보 수집
  • 💻 여러 프로그래밍 언어로 코드 작성
  • 📊 동적 에이전트 상태 추적 및 시각화
  • 💬 채팅 인터페이스를 통한 자연어 상호 작용
  • 📂 프로젝트 기반 구성 및 관리
  • 🔌 새로운 기능과 통합을 추가하기 위한 확장 가능한 아키텍처

시스템 구조

Devika의 시스템 아키텍처는 다음과 같은 주요 구성 요소로 구성됩니다.

  1. 사용자 인터페이스 : Devika와 상호 작용하고, 프로젝트 파일을 보고, 에이전트 상태를 모니터링하기 위한 웹 기반 채팅 인터페이스입니다.
  2. Agent Core : AI 계획, 추론 및 실행 프로세스를 조율하는 핵심 구성 요소입니다. 다양한 하위 에이전트 및 모듈과 통신하여 작업을 수행합니다.
  3. 대규모 언어 모델 : Devika는 자연어 이해, 생성 및 추론을 위해 Ollama를 통해 Claude , GPT-4 및 로컬 LLM 과 같은 최첨단 언어 모델을 활용합니다 .
  4. 계획 및 추론 엔진 : 높은 수준의 목표를 실행 가능한 단계로 나누고 현재 상황에 따라 결정을 내리는 역할을 담당합니다.
  5. 연구 모듈 : 키워드 추출 및 웹 검색 기능을 활용하여 현재 작업에 대한 관련 정보를 수집합니다.
  6. 코드 작성 모듈 : 계획, 연구 결과 및 사용자 요구 사항을 기반으로 코드를 생성합니다. 다양한 프로그래밍 언어를 지원합니다.
  7. 브라우저 상호 작용 모듈 : Devika가 필요에 따라 웹 사이트를 탐색하고, 정보를 추출하고, 웹 요소와 상호 작용할 수 있도록 합니다.
  8. 기술 자료 : 효율적인 액세스를 위해 프로젝트별 정보, 코드 조각, 학습된 지식을 저장하고 검색합니다.
  9. 데이터베이스 : 프로젝트 데이터, 에이전트 상태 및 구성 설정을 유지합니다.

자세한 문서는 ARCHITECTURE.md를 읽어보세요 .

빠른 시작

프로젝트를 로컬에서 실행하는 가장 쉬운 방법:

  1. 설치 uv- Python 패키지 관리자( https://github.com/astral-sh/uv )
  2. 설치 bun- JavaScript 런타임( https://bun.sh/docs/installation )
  3. 설치 및 설정 Ollamahttps://ollama.com/ )(로컬 모델을 사용하지 않으려면 이 단계를 건너뛸 수 있습니다)

ollama의 경우 모델을 설치해야 합니다.
API 모델의 경우 UI의 설정 페이지를 통해 API 키를 구성하세요.

 

그런 다음 다음 명령 세트를 실행하십시오.

ollama serve
git clone https://github.com/stitionai/devika.git
cd devika/
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
playwright install --with-deps
cd ui/
bun install
bun run dev
cd ..
python3 devika.py
  

Docker 이미지가 곧 출시될 예정입니다. 🙌

설치

Devika에는 종속성으로 다음 사항이 필요합니다.

Devika를 설치하려면 다음 단계를 따르세요.

  1. Devika 저장소를 복제합니다.
    git clone https://github.com/stitionai/devika.git  
  2. 프로젝트 디렉터리로 이동합니다.
    cd devika  
  3. 가상 환경을 만들고 필요한 종속성을 설치합니다.
    uv venv
    uv pip install -r requirements.txt  
  4. 필요한 종속성을 설치합니다.
    pip install -r requirements.txt
    playwright install --with-deps # installs browsers in playwright (and their deps) if required  
  5. 필요한 API 키 및 구성 설정
  6. Devika 서버를 시작합니다.
    python devika.py  
  7. UI 서버를 컴파일하고 실행합니다.
    cd ui/
    bun install
    bun run dev  
  8. 브라우저를 열고 로 이동하여 Devika 웹 인터페이스에 액세스합니다 http://127.0.0.1:3000.

시작하기

Devika 사용을 시작하려면 다음 단계를 따르세요.

  1. 브라우저에서 Devika 웹 인터페이스를 엽니다.
  2. "새 프로젝트" 버튼을 클릭하고 프로젝트 이름을 입력하여 새 프로젝트를 만듭니다.
  3. 프로젝트에 대해 원하는 프로그래밍 언어와 모델 구성을 선택하십시오.
  4. 채팅 인터페이스에서 Devika가 작업할 높은 수준의 목표나 작업 설명을 제공하세요.
  5. Devika는 귀하의 요청을 처리하고, 이를 여러 단계로 나누고, 작업을 시작합니다.
  6. Devika의 진행 상황을 모니터링하고, 생성된 코드를 보고, 필요에 따라 추가 지침이나 피드백을 제공하세요.
  7. Devika가 작업을 완료하면 생성된 코드와 프로젝트 파일을 검토합니다.
  8. 추가 지침이나 수정 사항을 제공하여 원하는 대로 프로젝트를 반복하고 개선합니다.

구성

Devika가 제대로 작동하려면 특정 구성 설정과 API 키가 필요합니다.

Devika를 처음 실행하면 config.toml루트 디렉터리에 파일이 생성됩니다. UI를 통해 설정 페이지에서 다음 설정을 구성할 수 있습니다.

  • 저장

    • SQLITE_DB: Devika의 데이터를 저장하기 위한 SQLite 데이터베이스 파일의 경로입니다.
    • SCREENSHOTS_DIR: Devika에서 캡처한 스크린샷이 저장되는 디렉터리입니다.
    • PDFS_DIR: Devika에서 처리한 PDF 파일이 저장될 디렉터리입니다.
    • PROJECTS_DIR: Devika의 프로젝트가 저장될 디렉터리입니다.
    • LOGS_DIR: Devika의 로그가 저장될 디렉터리입니다.
    • REPOS_DIR: Devika가 복제한 Git 저장소가 저장될 디렉터리입니다.
    • WEB_SEARCH: 웹 탐색을 위한 기본 웹 검색 방법을 결정합니다. 허용되는 값은 google, bing 또는 ddgs입니다.
  • API 키

    • BING: 웹 검색 기능을 위한 Bing Search API 키입니다.
    • GOOGLE_SEARCH: 웹 검색 기능을 위한 Google 검색 API 키입니다.
    • GOOGLE_SEARCH_ENGINE_ID: Google을 사용하여 웹 검색을 위한 Google 검색 엔진 ID입니다.
    • OPENAI: GPT 모델에 액세스하기 위한 OpenAI API 키입니다.
    • GEMINI: Gemini 모델에 액세스하기 위한 Gemini API 키입니다.
    • CLAUDE: Claude 모델에 액세스하기 위한 Anthropic API 키입니다.
    • MISTRAL: Mistral 모델에 액세스하기 위한 Mistral API 키입니다.
    • GROQ: Groq 모델에 액세스하기 위한 Groq API 키입니다.
    • NETLIFY: 웹 프로젝트 배포 및 관리를 위한 Netlify API 키입니다.

API 키를 안전하게 보관하고 공개적으로 공유하지 마세요.

웹 검색 방법 구성

Devika는 현재 웹 검색을 위해 Bing, Google 및 DuckDuckGo를 지원합니다. UI를 통해 웹 검색 방법을 구성할 수 있습니다.

후드

Devika에서 사용되는 몇 가지 주요 구성 요소와 기술에 대해 자세히 살펴보겠습니다.

AI 계획 및 추론

Devika는 고급 AI 계획 및 추론 알고리즘을 사용하여 높은 수준의 목표를 실행 가능한 단계로 분류합니다. 계획 프로세스에는 다음 단계가 포함됩니다.

  1. 객관적 이해 : Devika는 주어진 목표나 작업 설명을 분석하여 사용자의 의도와 요구 사항을 이해합니다.
  2. 컨텍스트 수집 : 대화 기록, 프로젝트 파일, 지식 베이스에서 관련 컨텍스트를 수집하여 계획 프로세스를 알려줍니다.
  3. 단계 생성 : Devika는 목표와 컨텍스트를 기반으로 작업을 달성하기 위한 일련의 상위 수준 단계를 생성합니다.
  4. 개선 및 검증 : 생성된 단계는 타당성과 목표와의 일치를 보장하기 위해 개선되고 검증됩니다.
  5. 실행 : Devika는 필요에 따라 다양한 하위 에이전트와 모듈을 활용하여 계획의 각 단계를 실행합니다.

추론 엔진은 진행 상황을 지속적으로 평가하고 실행 중에 받은 새로운 정보나 피드백을 기반으로 계획을 조정합니다.

키워드 추출

집중적인 연구와 정보 수집을 위해 Devika는 키워드 추출 기술을 사용합니다. 이 프로세스에는 다음 단계가 포함됩니다.

  1. 전처리 : 입력된 텍스트(목적어, 대화내역, 프로젝트 파일)를 불용어 제거, 토큰화, 정규화를 통해 전처리합니다.
  2. 키워드 식별 : Devika는 BERT(Bidirection Encoder Representations from Transformers) 모델을 사용하여 전처리된 텍스트에서 중요한 키워드와 문구를 식별합니다. 대규모 코퍼스에 대한 BERT의 사전 훈련을 통해 의미론적 관계를 포착하고 주어진 맥락에서 단어의 중요성을 이해할 수 있습니다.
  3. 키워드 순위 : 식별된 키워드는 현재 작업과의 관련성과 중요성을 기준으로 순위가 매겨집니다. TF-IDF(용어 빈도-문서 빈도 역수) 및 TextRank와 같은 기술을 사용하여 각 키워드에 점수를 할당합니다.
  4. 키워드 선택 : 현재 맥락에 가장 관련성이 높고 유익한 키워드를 상위 순위의 키워드로 선택합니다. 이러한 키워드는 연구 및 정보 수집 과정을 안내하는 데 사용됩니다.

상황에 맞는 키워드를 추출함으로써 Devika는 연구 노력에 집중하고 관련 정보를 검색하여 작업 완료에 도움을 줄 수 있습니다.

브라우저 상호 작용

Devika는 웹사이트를 탐색하고, 정보를 추출하고, 웹 요소와 상호작용하는 브라우저 상호작용 기능을 통합합니다. 브라우저 상호 작용 모듈은 Playwright 라이브러리를 활용하여 웹 상호 작용을 자동화합니다. 이 프로세스에는 다음 단계가 포함됩니다.

  1. 탐색 : Devika는 Playwright를 사용하여 특정 URL로 이동하거나 제공된 키워드 또는 요구 사항을 기반으로 검색을 수행합니다.
  2. 요소 상호 작용 : Playwright를 사용하면 Devika가 버튼 클릭, 양식 채우기, 특정 요소에서 텍스트 추출 등 웹 요소와 상호 작용할 수 있습니다.
  3. 페이지 구문 분석 : Devika는 방문한 웹 페이지의 HTML 구조를 구문 분석하여 관련 정보를 추출합니다. CSS 선택기 및 XPath와 같은 기술을 사용하여 특정 데이터 포인트를 찾고 추출합니다.
  4. JavaScript 실행 : Playwright를 사용하면 Devika가 브라우저 컨텍스트 내에서 JavaScript 코드를 실행할 수 있어 동적 상호 작용과 데이터 검색이 가능합니다.
  5. 스크린샷 캡처 : Devika는 방문한 웹 페이지의 스크린샷을 캡처할 수 있으며 이는 시각적 참조 또는 디버깅 목적에 유용할 수 있습니다.

브라우저 상호 작용 모듈을 통해 Devika는 웹에서 정보를 수집하고, 온라인 리소스와 상호 작용하고, 실시간 데이터를 의사 결정 및 코드 생성 프로세스에 통합할 수 있습니다.

코드 작성

Devika의 코드 작성 모듈은 계획, 연구 결과 및 사용자 요구 사항을 기반으로 코드를 생성합니다. 이 프로세스에는 다음 단계가 포함됩니다.

  1. 언어 선택 : Devika는 사용자가 지정한 프로그래밍 언어를 식별하거나 프로젝트 상황에 따라 추론합니다.
  2. 코드 구조 생성 : Devika는 계획 및 언어별 패턴을 기반으로 클래스, 함수 및 모듈을 포함한 코드의 상위 수준 구조를 생성합니다.
  3. 코드 채우기 : Devika는 특정 논리, 알고리즘 및 데이터 조작 문으로 코드 구조를 채웁니다. 연구 결과, 지식 베이스의 코드 조각, 프로그래밍 개념에 대한 자체 이해를 활용하여 의미 있는 코드를 생성합니다.
  4. 코드 형식 지정 : 생성된 코드는 가독성과 유지 관리성을 보장하기 위해 언어별 규칙 및 모범 사례에 따라 형식이 지정됩니다.
  5. 코드 검토 및 개선 : Devika는 생성된 코드에서 구문 오류, 논리적 불일치 및 잠재적인 개선 사항을 검토합니다. 자체 분석과 사용자가 제공한 피드백을 기반으로 코드를 반복적으로 개선합니다.

Devika의 코드 작성 기능을 사용하면 각 프로젝트의 특정 요구 사항과 컨텍스트를 고려하여 다양한 프로그래밍 언어로 기능적이고 효율적인 코드를 생성할 수 있습니다.

커뮤니티 디스코드 서버

Devika 커뮤니티를 위한 Discord 서버가 있어 다른 사용자와 연결하고, 경험을 공유하고, 질문하고, 프로젝트에 대해 협업할 수 있습니다. 서버에 참여하려면 다음 지침을 따르십시오.

  • 존중하십시오: 지역 사회의 모든 구성원을 친절하고 존중하는 마음으로 대하십시오. 괴롭힘, 증오심 표현 및 기타 부적절한 행동은 용납되지 않습니다.
  • 긍정적으로 기여: Devika 개선에 도움이 되도록 아이디어, 통찰력, 피드백을 공유하세요. 가능하다면 다른 지역 사회 구성원에게 도움을 제공하십시오.
  • 개인 정보 보호 유지: 타인의 개인 정보를 존중하고 동의 없이 개인 정보를 공유하지 마십시오.

Devika 커뮤니티 Discord 서버에 가입하려면 여기를 클릭하세요 .

기여

Devika의 역량을 강화하고 성능을 향상시키는 데 기여하는 것을 환영합니다. 참여하려면 CONTRIBUTING.md파일의 단계를 참조하세요.

특허

Devika는 MIT 라이센스 에 따라 출시됩니다 LICENSE자세한 내용은 파일을 참조하세요 .

410
0
댓글
0
덕질 비회원은 댓글을 볼 수 없습니다. 로그인을 해주세요.
Deokjil non-members cannot see comments. Please log in.
1 2 3 4 5
카테고리 즐겨찾기 검색 알림