Observed since 20 Oct, 21:47 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
+ Looking for 'openagent'? Because of a little name clash, it's now called 'openagent'. 🤖+
I stumbled upon this repository. Is it production ready?
Kudos on discovering this hidden treasure box! 🧭 While it's fairly stable and we're battle-testing it in our own production, we'd advise a bit of caution for immediate production use. It's got its quirks, and some of them have taken a cozy spot on our 'we'll-look-at-this-later' list. Jump in, play with it, or use any part of our code. It's all good with the MIT license.
I'm diving in, quirks and all!
Ahoy, adventurer! 🏴☠️ We're thrilled to have another daring coder join the fray. Here's to creating some coding magic together! ✨
Here's our dream: An open and democratic AGI, untouched by the sneaky controls and hush-hush censorship of corporate overlords masquerading under 'alignment'. Remember the good ol' web days? We lost that freedom to the mobile moguls and their cheeky 30% 'because-we-said-so' tax. 🙄
Our moonshot? 🚀 A harmonious ensemble of domain-specific AI agents, working in unison so well, you'd think it's AGI. Join us in opening up the LAST tech frontier for all!

Ever heard of an Agent Management System (AMS)? No? Well, probably because we believe we came up with it! 🎩✨ openagent proudly wears the badge of being the world's first AMS (yep, we're patting ourselves on the back here). Drawing inspiration from the nifty microservices, it equips developers with a treasure trove of tools to craft sturdy, trusty AI applications and those cool experimental autonomous agents.
The philosophy is to handle more processing at compile time and maintain better session with LLMs.

pip install openagent
If you encounter an error like:
Your system has an unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.
This is a very common issue with Chroma DB. You can find instructions to resolve this in the Chroma DB tutorial.
import openagent.compiler as compiler
from openagent.compiler._program import Log
from openagent import memory
import chainlit as ui
from dotenv import load_dotenv
load_dotenv()
@ui.on_chat_start
def start_chat():
compiler.llm = compiler.llms.OpenAI(model="gpt-3.5-turbo")
class ChatLog(Log):
def append(self, entry):
super().append(entry)
print(entry)
is_end = entry["type"] == "end"
is_assistant = entry["name"] == "assistant"
if is_end and is_assistant:
ui.run_sync(ui.Message(content=entry["new_prefix"]).send())
memory = memory.SimpleMemory()
@ui.on_message
async def main(message: str):
program = compiler(
"""
{{#system~}}
You are a helpful assistant
{{~/system}}
{{~#geneach 'conversation' stop=False}}
{{#user~}}
{{set 'this.user_text' (await 'user_text') hidden=False}}
{{~/user}}
{{#assistant~}}
{{gen 'this.ai_text' temperature=0 max_tokens=300}}
{{~/assistant}}
{{~/geneach}}""", memory = memory
)
program(user_text=message, log=ChatLog())
The UI will look something like this:

Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.1.23 | 18 Nov 2023 | 90 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 21:47 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:ff25c3074fb4585e54cd385af0b9c1309633863e00273fa766445dabe928c7ed