Task Management system for langchain
Started off with ethical hacking, but now I'm more of a developer. Grew up in the USA & UK. Currently at Western Carolina University.
Search for a command to run...
Started off with ethical hacking, but now I'm more of a developer. Grew up in the USA & UK. Currently at Western Carolina University.
No comments yet. Be the first to comment.
This is a brief update, continuing from my previous post where I built a basic, custom analytics service to use on my Hashnode blog. In my final thoughts, I said: While I'm happy with what I created, there are still some things I'd like to work on. ...

View part 2 of this article here! IntroductionHi, my name is Marcus Weinberger. I'm mainly a Python developer (due to my love for hacking), but I work with JS when I must. One of my passions is creating my own software for doing things - I really enj...

BackstoryHi, my name is Marcus Weinberger. My two biggest interests are cyber security and programming, which (paired with recent advancements in tech) led me to begin the development of 1337GPT - an AI penetration testing assistant. This is the stor...

1337GPT is my attempt at designing a GPT agent for pentesting. I built it on top of my previous AI Task Manager - a layer designed to be above a langchain agent that can complete complex tasks. How does it work? 1337GPT starts off with a goal that th...

About meHey reader! My name is Marcus Weinberger, and I'm just getting started with Hashnode. While I'm mainly a Python developer, I work with HTML and such for my frontends. Click here to see more about me! So, my personal website is a bit lame. Ac...

The TaskManager gets created, with a goal, a list of tools, and its own LLM. It includes a bunch of prompts which is used internally. When initialized, it creates an initial list of tasks to get started (this behaviour is different when initializing with certain arguments, but I'll get into that later).
As a developer, it's up to you how you process those tasks, but you can see what I would do at the end of main.py. But, as a task is completed, you give the TaskManager the name of the task and the result. The TaskManager will then use another prompt to reflect on the results of this task. This is called the refinement process. If additional tasks are needed, they will be added here. Info that may be needed for future tasks is saved to stored_info, and stuff for the end result should go to final_result.
When the final goal has been met, the TaskManager will run the complete_func (which you can define in the initialization) which will - by default - save all variables to a file.
Internal LLM to fix JSON output
Can persist state
Uses text-davinci-003 or something by default (cheap)