/eidolon

An Open Source Agent Services Framework

Primary LanguagePythonApache License 2.0Apache-2.0

Welcome to Eidolon - an Open Source Agent Services Framework

img_1

The Eidolon framework represents a sophisticated architecture for designing and operating agent-based systems. It is purpose-built to support the agile development of software agents—modular components designed to perform specific tasks autonomously within a distributed computing environment. At its core, the eidolon system facilitates an extensive range of functionalities, enabling developers to construct, customize, and scale agent operations effectively.

Demo

Deploy a Chatbot: Help Swifties learn about Kelce

Getting Started

Step 0: Prerequisites

Step 1: Install Eidolon SDK

First, you need to install the Eidolon SDK. Open your terminal and run the following command:

pip install eidolon-ai-sdk

Step 2: Create an Agent

Now it is time to create your first AgentProgram. Create a directory and add a yaml file to describe your resource.

mkdir hello_world
vim hello_world/hello_world_agent.yaml
apiVersion: eidolon/v1
kind: Agent
metadata:
  name: hello_world
spec:
  description: "This is an example of a generic agent which greets people by name."
  system_prompt: "You are a friendly greeter who greets people by name while using emojis"
  actions:
    - user_prompt: "Hi, my name is {{name}}"

Step 3: Run Eidolon Server

Finally, open a new terminal window and run your machine using eidolon-server.

eidolon-server -m local_dev hello_world

🚨 Getting command not found: eidolon-server? Open a new terminal window and try the command again.

⚠️ The -m local_dev option specifies using the local_dev builtin Machine resource. This machine uses in-memory symbolic memory rather than mongo, so state will disappear between server restarts.

Step 4: Try it out!

First create a process for your conversation.

curl -X POST http://0.0.0.0:8080/agents/hello_world/processes; echo

The result should be a json object with a process id. For example:

{"process_id":"hello_world-1"}

Now let's try to make a request to your server from another terminal window.

curl -X POST http://0.0.0.0:8080/agents/hello_world/processes/{process_id}/actions/converse -H 'Content-Type: application/json' -d '{"name": "World"}'; echo

Replace {process_id} with the process id you received from the previous command.

You should now see something like Hello, World! 🌍👋

And that's it! You have successfully set up and used a basic project using the Eidolon SDK. To see more endpoints on your agent machine, visit the swagger ui.

Further Reading

For full documentation, visit www.eidolonai.com.