Giter Club home page Giter Club logo

autogpt-evo.ninja's Introduction

evo.ninja

Discord | Website | Give the repo a โญ !

Welcome!

To get started using evo.ninja simply head to our website, or to build and run from source follow these setup instructions.

Need Help?

Join our Discord community for support and discussions.

Join us on Discord

If you have questions or encounter issues, please don't hesitate to create a new issue to get support.

How it works

What makes evo.ninja special is that it adapts itself in real-time, based on the tasks at hand. Evo utilizes pre-defined agent personas that are tailored to specific domains of tasks. Each iteration of evo's execution loop it will select and adopt the persona that fits the task at hand best.

Agent Personas

Agent Expertise
๐Ÿ“Synthesizer "Reads text files, analyzing and gathering data and information from text files, generating summaries and reports, and analyzing text."
#๏ธโƒฃ Csv Analyst "Adept at reading CSV files, searching for data, extracting key data points, calculating amounts, and derive insights from CSV files."
๐ŸŒ Researcher "Searching the internet, comprehending details, and finding information."
๐Ÿ’ป Developer "Architect and build complex software. specialized in python."

Execution Loop

  1. Predict Next Step: For each iteration of the execution loop, Evo starts by making an informed prediction about what the best-next-step should be.
  2. Select Best Agent: Based on this prediction, Evo selects a best-fit agent persona.
  3. Contextualize Chat History: Based on the prediction from step 1, and the agent persona in step 2, the complete chat history is "contextualized" and only the most relevant messages are used for the final evaluation step.
  4. Evaluate and Execute: A final evaluation step is run to determine what agent function is executed to try and further achieve the user's goal.

These 4 steps run in a loop continuously until it is determined the user's goal has been achieved.

Setup

Pre-Requisites

Please install the following:

Installation

  1. Clone the repository

    git clone https://github.com/polywrap/evo.ninja

  2. Copy the .env.template file and rename it to .env.

    cp .env.template .env

  3. Find the line that says OPENAI_API_KEY=, and add your unique OpenAI API Key OPENAI_API_KEY=sk-...
  4. Find the line that says SERP_API_KEY=, and add your unique SERP API Key. SERP_API_KEY=b071... (see https://serpapi.com)
  5. Use the correct version of Node.JS

    nvm install && nvm use

  6. Install all dependencies & build project

    yarn && yarn build

Now you're ready to go! You can run Evo through CLI or using the UI

CLI

Run evo in the terminal:

yarn start

Arguments:

  • [goal] - Goal to be achieved

Options:

  • -s, --session <name> - Name of the session within the ./sessions/... directory.
  • -t, --timeout <seconds> - Specify a timeout, used to terminate the process after a specified number of seconds.
  • -d, --debug - Emit debug logs within the ./sessions/${session}/.evo/... directory.

Session Workspace

Once the evo.ninja CLI is run, there will be a ./sessions directory created, with named sessions within it. This is the root directory for the agent, and only files within this directory will be read and written by the agent. There exists a .evo/ directory within each session workspace, where internal logs are kept, including a chat.md file that's provides a markdown version of the agent's output. Use --debug to get a raw debug log emitted here as well.

UI

The UI depends on Supabase Database. In order to run it locally you must have Docker Desktop installed and running.

  1. Make sure you've followed installation steps above
  2. Go to cd apps/browser
  3. Run yarn db:start - This can take up to ~3 minutes, since it will download all the images needed by supabase
  4. Update .env.local with:
    • NEXT_PUBLIC_SUPABASE_URL will have the value of API URL
    • SUPABASE_SERVICE_ROLE_KEY will have the value of service_role key
  5. Run the UI with yarn dev

autogpt-evo.ninja's People

Contributors

dorgjelli avatar cbrzn avatar nerfzael avatar namesty avatar krisbitney avatar cedricwaxwing avatar rihp avatar pileks avatar blubber-fish avatar jsydorowicz21 avatar kev-ngo avatar nirpow avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.