Top Related Projects
A guidance language for controlling large language models.
🦜🔗 Build context-aware reasoning applications
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
Drag & drop UI to build your customized LLM flow
Quick Overview
AgentGPT is an open-source project that allows users to create and deploy AI agents capable of performing various tasks. It provides a web interface for users to interact with AI agents, set goals, and monitor their progress. The project aims to make AI technology more accessible and user-friendly for a wide range of applications.
Pros
- User-friendly interface for creating and managing AI agents
- Customizable agent behaviors and goals
- Open-source, allowing for community contributions and improvements
- Supports multiple languages and can be deployed on various platforms
Cons
- May require significant computational resources for complex tasks
- Potential for misuse or unintended consequences if not properly configured
- Limited documentation and support compared to commercial AI solutions
- Still in active development, which may lead to frequent changes and potential instability
Getting Started
To get started with AgentGPT, follow these steps:
-
Clone the repository:
git clone https://github.com/reworkd/AgentGPT.git
-
Install dependencies:
cd AgentGPT npm install
-
Set up environment variables:
- Copy
.env.example
to.env
- Add your OpenAI API key to the
.env
file
- Copy
-
Run the development server:
npm run dev
-
Open your browser and navigate to
http://localhost:3000
to access the AgentGPT interface.
For more detailed instructions and deployment options, refer to the project's README file on GitHub.
Competitor Comparisons
A guidance language for controlling large language models.
Pros of guidance
- More flexible and customizable language model control
- Supports a wider range of language models and providers
- Better suited for complex, multi-step language tasks
Cons of guidance
- Steeper learning curve for beginners
- Less focus on autonomous agent capabilities
- Requires more manual configuration for specific use cases
Code Comparison
AgentGPT:
async def analyze_task(self, task: str) -> str:
prompt = f"Analyze the following task: {task}\n\n"
prompt += "Provide a brief analysis of the task."
return await self.llm.generate_text(prompt)
guidance:
with guidance(llm) as g:
g += "Analyze the following task: {{task}}\n\n"
g += "Provide a brief analysis of the task."
g += "Analysis: {{gen 'analysis'}}"
result = g(task=task)
analysis = result['analysis']
The guidance example demonstrates more fine-grained control over the language model's output, allowing for structured generation and easier extraction of specific information. AgentGPT's approach is simpler but less flexible in terms of controlling the model's output structure.
🦜🔗 Build context-aware reasoning applications
Pros of LangChain
- More comprehensive and flexible framework for building AI applications
- Extensive documentation and community support
- Wider range of integrations with various AI models and tools
Cons of LangChain
- Steeper learning curve due to its extensive features
- May be overkill for simpler AI agent implementations
- Requires more setup and configuration
Code Comparison
LangChain:
from langchain import OpenAI, LLMChain, PromptTemplate
llm = OpenAI(temperature=0.9)
prompt = PromptTemplate(
input_variables=["product"],
template="What is a good name for a company that makes {product}?",
)
chain = LLMChain(llm=llm, prompt=prompt)
print(chain.run("colorful socks"))
AgentGPT:
from reworkd_platform.web.api.agent.tools.utils import get_tool_name
from reworkd_platform.web.api.agent.model_settings import ModelSettings
tool_name = get_tool_name("Google Search")
settings = ModelSettings(...)
result = await analyze_task(task, tool_name, settings)
LangChain offers a more structured approach to building AI chains, while AgentGPT provides a simpler interface for specific agent-based tasks. LangChain's code demonstrates its flexibility in creating custom prompts and chains, whereas AgentGPT's code shows its focus on pre-defined tools and agent-specific functionalities.
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
Pros of AutoGPT
- More extensive documentation and setup instructions
- Larger community and more active development
- Supports a wider range of AI models and APIs
Cons of AutoGPT
- More complex setup process
- Requires API keys for various services
- Higher resource consumption
Code Comparison
AutoGPT
def get_ada_embedding(text):
text = text.replace("\n", " ")
return openai.Embedding.create(input=[text], model="text-embedding-ada-002")["data"][0]["embedding"]
AgentGPT
export const getEmbedding = async (input: string) => {
return await api.post(`/api/embed`, { input });
};
AutoGPT uses OpenAI's API directly for embeddings, while AgentGPT abstracts this process through a custom API endpoint. AutoGPT's approach offers more flexibility but requires direct API access, whereas AgentGPT's method simplifies usage but may limit customization options.
Both projects aim to create autonomous AI agents, but AutoGPT offers more features and flexibility at the cost of complexity, while AgentGPT provides a more streamlined experience with a focus on ease of use and accessibility.
Pros of BabyAGI
- Simpler implementation, making it easier to understand and modify
- Focuses on task management and execution, which can be beneficial for specific use cases
- Lightweight and requires fewer dependencies
Cons of BabyAGI
- Less feature-rich compared to AgentGPT
- Limited user interface, primarily designed for command-line usage
- Lacks the ability to easily customize agent behavior without modifying the core code
Code Comparison
BabyAGI:
def task_creation_agent(objective: str, result: Dict, task_description: str, task_list: List[str]):
prompt = f"You are an task creation AI that uses the result of an execution agent to create new tasks with the following objective: {objective}, The last completed task has the following result: {result}. This result was based on this task description: {task_description}. These are incomplete tasks: {', '.join(task_list)}. Based on the result, create new tasks to be completed by the AI system that do not overlap with incomplete tasks. Return the tasks as an array."
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "system", "content": prompt}],
temperature=0.5,
max_tokens=100,
n=1,
stop=None,
)
new_tasks = response.choices[0].message.content.strip().split('\n')
return [{"task_name": task_name} for task_name in new_tasks]
AgentGPT:
export const createAgent = (
model: ModelSettings,
goal: string,
tasks: string[],
lastTask: string,
result: string,
completedTasks: string[]
) => {
return new LanguageModel(model).chat(
createPrompt(goal, tasks, lastTask, result, completedTasks)
);
};
Both repositories focus on creating AI agents for task management and execution. BabyAGI provides a more straightforward implementation, while AgentGPT offers a more feature-rich and customizable solution with a user-friendly interface.
Drag & drop UI to build your customized LLM flow
Pros of Flowise
- Offers a visual, drag-and-drop interface for creating AI workflows
- Supports integration with multiple AI models and APIs
- Provides a more user-friendly experience for non-technical users
Cons of Flowise
- Less focused on autonomous agent creation than AgentGPT
- May have a steeper learning curve for complex workflows
- Limited to predefined components and integrations
Code Comparison
Flowise (Node.js):
const { ChatOpenAI } = require("langchain/chat_models/openai");
const { HumanChatMessage, SystemChatMessage } = require("langchain/schema");
const chat = new ChatOpenAI({ temperature: 0 });
const response = await chat.call([
new SystemChatMessage("You are a helpful assistant."),
new HumanChatMessage("Hello, how are you?"),
]);
AgentGPT (TypeScript):
import { OpenAIChat } from "langchain/llms/openai";
import { AgentExecutor, ZeroShotAgent } from "langchain/agents";
import { Tool } from "langchain/tools";
const model = new OpenAIChat({ temperature: 0 });
const tools: Tool[] = [/* ... */];
const agent = ZeroShotAgent.fromLLMAndTools(model, tools);
const executor = AgentExecutor.fromAgentAndTools({ agent, tools });
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
ð¤ Assemble, configure, and deploy autonomous AI Agent(s) in your browser. ð¤
ð Short link ⢠ð Docs ⢠ð¤ Contribute ⢠ð¦ Twitter ⢠ð¢ Discord
AgentGPT allows you to configure and deploy Autonomous AI agents. Name your own custom AI and have it embark on any goal imaginable. It will attempt to reach the goal by thinking of tasks to do, executing them, and learning from the results ð.
⨠Demo
For the best demo experience, try our site directly :)
ð¨âð Getting Started
The easiest way to get started with AgentGPT is automatic setup CLI bundled with the project. The cli sets up the following for AgentGPT:
- ð Environment variables (and API Keys)
- ðï¸ Database (Mysql)
- ð¤ Backend (FastAPI)
- ð¨ Frontend (Nextjs)
Prerequisites :point_up:
Before you get started, please make sure you have the following installed:
- An editor of your choice. For example, Visual Studio Code (VS Code)
- Node.js
- Git
- Docker. After installation, please create an account, open up the Docker application, and sign in.
- An OpenAI API key
- A Serper API Key (optional)
- A Replicate API Token (optional)
Getting Started :rocket:
-
Open your editor
-
Open the Terminal - Typically, you can do this from a 'Terminal' tab or by using a shortcut (e.g.,
Ctrl + ~
for Windows orControl + ~
for Mac in VS Code). -
Clone the Repository and Navigate into the Directory - Once your terminal is open, you can clone the repository and move into the directory by running the commands below.
For Mac/Linux users :apple: :penguin:
git clone https://github.com/reworkd/AgentGPT.git cd AgentGPT ./setup.sh
For Windows users :windows:
git clone https://github.com/reworkd/AgentGPT.git cd AgentGPT ./setup.bat
-
Follow the setup instructions from the script - add the appropriate API keys, and once all of the services are running, travel to http://localhost:3000 on your web-browser.
Happy hacking! :tada:
ð Roadmap
This platform is currently in beta, a full list of completed and planed features can be found on our public roadmap.
ð Tech Stack
- â Bootstrapping: create-t3-app + FastAPI-template.
- â Framework: Nextjs 13 + Typescript + FastAPI
- â Auth: Next-Auth.js
- â ORM: Prisma & SQLModel.
- â Database: Planetscale.
- â Styling: TailwindCSS + HeadlessUI.
- â Schema Validation: Zod + Pydantic.
- â LLM Tooling: Langchain.
ð Our GitHub sponsors ð
Join us in fueling the development of AgentGPT, an open-source project pushing the boundaries of AI agents! Your sponsorship would drive progress by helping us scale up resources, enhance features and functionality, and continue to iterate on this exciting project! ð
ðª Contributors ðª
Our contributors have made this project possible. Thank you! ð
Top Related Projects
A guidance language for controlling large language models.
🦜🔗 Build context-aware reasoning applications
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.
Drag & drop UI to build your customized LLM flow
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot