Coder Social home page Coder Social logo

superagent-ai / superagent Goto Github PK

View Code? Open in Web Editor NEW
4.4K 51.0 777.0 66.24 MB

πŸ₯· Run AI-agents with an API

Home Page: https://docs.superagent.sh

License: Other

Dockerfile 0.46% Python 36.87% Makefile 0.04% Shell 0.64% PLpgSQL 1.30% JavaScript 1.09% MDX 16.67% HTML 0.09% TypeScript 42.63% CSS 0.19%
ai agent generative-ai open-source python rag assistant llm

superagent's People

Contributors

404nikhil avatar areibman avatar bdqfork avatar briah avatar dannysheridan avatar devkingme avatar dsinghvi avatar elisalimli avatar heresandyboy avatar homanp avatar howieg avatar itzcrazykns avatar jakubno avatar kushal34712 avatar marcklingen avatar mlejva avatar mohitd404 avatar plebeiusgaragicus avatar rutambhagat avatar samsonmxvi avatar sh4d0wy avatar shannonrdunn avatar simjak avatar simonweniger avatar src200 avatar thesushilsharma avatar tobiastornros avatar trivikr avatar victorhugopilled avatar yusofy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

superagent's Issues

`Replicate` tool

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Add a replicate Tool that can work together with an agent.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Bash script for starting all required services

Getting Started

To get started with SuperAgent, follow these steps:

  1. Clone the SuperAgent repository into a public GitHub repository or fork it from https://github.com/homanp/superagent/fork. If you plan to distribute the code, keep the source code public.

    git clone https://github.com/homanp/superagent.git
  2. Set up your .env file.

    cp .env.example .env
    • Configure the environment variables according to your requirements.
  3. To run the script, simply execute it using:

    bash setup.sh

You can save the script in a file, e.g., setup.sh,

#!/bin/bash

# Create and activate the virtual environment
virtualenv venv
source venv/bin/activate

# Install dependencies using Poetry
poetry install

# Run Prisma migration
poetry run prisma migrate dev

# Start the application with auto-reload
uvicorn app.main:app --reload

This script streamlines the setup process by creating the virtual environment, installing dependencies, performing the Prisma migration, and starting the application with auto-reload. It helps ensure a consistent and efficient development environment for Python web applications.

Implement all `Agent` callbacks for more granular logging.

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

In order to do more granular logging and debugging for an agent we should handle all callbacks from the Agent or enable a more verbose logging.

This PR is connected to #64

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Superagent Scheduler

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Create a scheduler that can either:

  • Keep vector indexes up to date.
  • Run agents

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add documents

Summary

A user should be able to attach documents/vectorstores for QA

User API tokens

Summary

A user should be able to invocate Agents using a JWT token. These tokens need a separate DB with the following fields:

description, token

Add unit and integration tests

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Would be great if we could add unit tests to Superagent.

βœ”οΈ Solution

Use pytest test suite to add unit tests and integration tests to Superagent.

❓ Alternatives

No response

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise, descriptive, and in title casing.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Prompt versioning

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

We should introduce versioning of the prompts in order for users to track/evaluate different versions of a specific prompt. Similar to what Replicate does with their models.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add functionality for updating a prompt

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

A user should be able to update a prompt

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Webhooks

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Sometimes queries take a long time to execute. When that happens it would be nice to offer webhooks for more flexible DX.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Suggesting Project Name Change to avoid Confusion

There is an existing project "SuperAgent" which is a popular NPM package for performing requests.
In order to avoid impacting the searchability for each project changing the name would be an effective solution.

Add a `AgentBase` class for cleaner implementation of new Agents.

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

The Agent lib is getting bigger for each feature we release. Instead of running everything in the same class we should create a AgentBase and implement common features there.

Each new Agent should inherit from the AgentBaseΒ class.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add prompts

Summary

Create a prompt model containing the following:

name
template -> Large text field
inputs -> JSON
type -> QA prompt etc.

Autonomous Agents

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Autonomous Agents such as AutoGPT or BabyAGI would be a great Agent type to bring into Superagent.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Virtual Environment

image
somehow it is not installing dependencies.

image

If I add this

   virtualenv venv
   source venv/bin/activate

then it is installing dependencies
image

To run the project from the root directory

   uvicorn app.main:app --reload

Content aggregation Agent

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Add a new type of Agent that specializes on content aggreation.

This would be an ideal issue to use Llama IndexΒ for.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add possibility to update Pinecone indexes based on a schedule.

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Sometimes, users will upsert documents that need to be more "real-time". Possibility to update the indexes with new content would be a useful feature for this.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add possiblity to add multiple documents and tools as context to a LLM

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

A user should be able to add multiple documents to an Agent.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Save token usage statistics to DB

Summary

In order to introduce spending limits we would want to save the token usage for an agent in the DB

Expected behaviour

Create a new DB table for saving tokens and cost estimations.
Each run should be saved as a run entry.
One to many relationship between usage and agent.

Search Agent

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Add a new type of tool that enables an Agent to do real-time search via Bing or Google.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Expose more LLM options.

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Users want to be able to control settings such as max_tokens, temperature etc.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

OpenAI Agent type

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Implement the OpenAI Agent type.

https://github.com/hwchase17/langchain/blob/master/docs/modules/agents/tools/tools_as_openai_functions.ipynb

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Run Huggingface models in Superagent

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

One of the great things about @huggingface face is the race to build what I call "mini" models suited for specific use cases. Wrap those models around a specific Agent and you build amazing apps.

Superagent should support these mini models wrapped so that they can be used with Agents.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add verbose logging

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

All Agent callbacks and intermediate steps should be stored in a log.

βœ”οΈ Solution

TBD

❓ Alternatives

No response

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Browser Agent

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Create a browser agent that can search the web and aggregate content.

This could be followed up with controlling the browser in future PRs.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add support for Llamaindex

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Add support for pulling in Llamaindex into Superagent.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Support `tools`Β with additional authentication requirements

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

Some tools require additional authentication params on runtime. Examples of such tools are Wolfram. The API should support passing required authentication methods similar to YAML documents.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

Add possibility to change `prompt` in Document Agent.

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

πŸ”– Feature description

A user should be able to set a prompt on a Document QA Agent.

πŸ“ Additional Context

No response

Acknowledgements

  • My issue title is concise and descriptive.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.

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.