Metadata-Version: 2.1 Name: ams-python Version: 0.1.0 Summary: Author: Team Dotagent Author-email: team@dotagent.ai Requires-Python: >=3.9,<4.0 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Requires-Dist: InstructorEmbedding (>=1.0.1,<2.0.0) Requires-Dist: Pillow (>=9.5,<10.0) Requires-Dist: PyYAML (>=6.0) Requires-Dist: SQLAlchemy (>=2.0,<3.0) Requires-Dist: aiofiles (>=23.1,<24.0) Requires-Dist: aiohttp (>=3.8.4,<4.0.0) Requires-Dist: aioresponses (>=0.7.4,<0.8.0) Requires-Dist: aleph_alpha_client (>=3.2,<4.0) Requires-Dist: apify_client (>=1.3.1,<2.0.0) Requires-Dist: asyncer (>=0.0.2,<0.0.3) Requires-Dist: auth0_python (>=4.4,<5.0) Requires-Dist: beautifulsoup4 (>=4.12.2,<5.0.0) Requires-Dist: bibtexparser (>=1.4,<2.0) Requires-Dist: boto3 (>=1.26,<2.0) Requires-Dist: chainlit (==0.6.2) Requires-Dist: chromadb (>=0.3.26,<0.4.0) Requires-Dist: click (>=8.1.3,<9.0.0) Requires-Dist: dataclasses_json (>=0.5.8,<0.6.0) Requires-Dist: diskcache (>=5.6.1,<6.0.0) Requires-Dist: docarray (>=0.37,<0.38) Requires-Dist: docx2txt (>=0.8,<0.9) Requires-Dist: ebooklib (>=0.18,<0.19) Requires-Dist: fastapi (>=0.97.0,<0.98.0) Requires-Dist: fastapi_socketio (>=0.0.10,<0.0.11) Requires-Dist: feedparser (>=6.0.10,<7.0.0) Requires-Dist: filetype (>=1.2,<2.0) Requires-Dist: fitz (>=0.0.1-dev2,<0.0.2) Requires-Dist: flask (>=2.3.2,<3.0.0) Requires-Dist: google-search-results (>=2.4.2,<3.0.0) Requires-Dist: gql (>=3.4.1,<4.0.0) Requires-Dist: html2text (>=2020.1.16,<2021.0.0) Requires-Dist: httpx (>=0.24,<0.25) Requires-Dist: huggingface_hub (>=0.16.4,<0.17.0) Requires-Dist: ipykernel (>=6.25,<7.0) Requires-Dist: ipython (>=8.14,<9.0) Requires-Dist: jsonschema (>=4.18,<5.0) Requires-Dist: jupyter (>=1.0.0,<2.0.0) Requires-Dist: lxml (>=4.9.3,<5.0.0) Requires-Dist: matplotlib (>=3.7.2,<4.0.0) Requires-Dist: metal_sdk (>=2.0.1,<3.0.0) Requires-Dist: msal (>=1.22,<2.0) Requires-Dist: nbconvert (>=7.7,<8.0) Requires-Dist: nest_asyncio (>=1.5,<2.0) Requires-Dist: nltk (>=3.8.1,<4.0.0) Requires-Dist: numpy (>=1.25.1,<2.0.0) Requires-Dist: openapi_schema_pydantic (>=1.2.4,<2.0.0) Requires-Dist: opendal (>=0.39,<0.40) Requires-Dist: pandas (>=1.4.0,<2.0.0) Requires-Dist: pexpect (>=4.8,<5.0) Requires-Dist: platformdirs (>=3.10,<4.0) Requires-Dist: playwright (>=1.36,<2.0) Requires-Dist: praw (>=7.7.1,<8.0.0) Requires-Dist: protobuf (>=4.23,<5.0) Requires-Dist: pydantic (>=1.10,<2.0) Requires-Dist: pydub (>=0.25,<0.26) Requires-Dist: pygtrie (>=2.5,<3.0) Requires-Dist: pymilvus (>=2.2,<3.0) Requires-Dist: pyowm (>=3.3,<4.0) Requires-Dist: pyparsing (>=2.3.1,<3.1) Requires-Dist: pytesseract (>=0.3,<0.4) Requires-Dist: pytest (>=7.4,<8.0) Requires-Dist: python-dotenv (>=1.0,<2.0) Requires-Dist: python-socketio (>=5.8,<6.0) Requires-Dist: python_graphql_client (>=0.4.3,<0.5.0) Requires-Dist: rdflib (>=7.0,<8.0) Requires-Dist: regex (>=2023.6,<2024.0) Requires-Dist: reportlab (>=4.0,<5.0) Requires-Dist: responses (>=0.23,<0.24) Requires-Dist: retrying (>=1.3,<2.0) Requires-Dist: scikit_learn (>=1.3,<2.0) Requires-Dist: sentence_transformers (>=2.2,<3.0) Requires-Dist: sentencepiece (>=0.1.99,<0.2.0) Requires-Dist: spacy (>=3.6,<4.0) Requires-Dist: starlette (>=0.27.0,<0.28.0) Requires-Dist: svglib (>=1.5,<2.0) Requires-Dist: syncer (>=2.0,<3.0) Requires-Dist: tenacity (>=8.2,<9.0) Requires-Dist: tiktoken (>=0.4,<0.5) Requires-Dist: tomli (>=2.0,<3.0) Requires-Dist: tqdm (>=4.65,<5.0) Requires-Dist: trafilatura (>=1.6,<2.0) Requires-Dist: typing_extensions (>=4.7,<5.0) Requires-Dist: uptrace (>=1.19,<2.0) Requires-Dist: uvicorn (>=0.22.0,<0.23.0) Requires-Dist: watchfiles (>=0.19,<0.20) Requires-Dist: zep_python (>=0.34,<0.35) Description-Content-Type: text/markdown ```diff + Searching for openagent? You are in the right repo. It's now dotagent.(.🤖) + ```

Grinning Face Robot

*Hey there, Friend! This project is still in the "just for friends" stage. If you want to see what we're messing with and have some thoughts, take a look at the code.* *We'd love to incorporate your ideas or contributions. You can drop me a line at- ✉️ ` anurag@dotagent.ai `*

Why we started dotagent?

We have a dream: Open and democratic AGI , free from blackbox censorship and control imposed by private corporations under the disguise of alignment. We once had this with the web but lost this liberty to the corporate giants of the mobile era, whose duopoly has imposed a fixed 30% tax on all developers.

Our moonshot : A network of domain specific AI agents , collaborating so seamlessly that it feels like AGI. Contribute to democratizing the LAST technological frontier.

![-----------------------------------------------------](https://res.cloudinary.com/dzznkbdrb/image/upload/v1694798498/divider_1_rej288.gif)

What is dotagent ?

dotagent is a library of modular components and an orchestration framework. Inspired by a microservices approach, it gives developers all the components they need to build robust, stable & reliable AI applications and experimental autonomous agents.

🧱 Modularity

🚧 Guardrails

🏗️ Greater control with Structured outputs

🏭 Powerful Prompt Compiler

The philosophy is to handle more processing at compile time and maintain better session with LLMs.

📦 Containerized & Scalable

![-----------------------------------------------------](https://res.cloudinary.com/dzznkbdrb/image/upload/v1694798498/divider_1_rej288.gif) ## Installation `pip install dotagent` ## Common Errors ### SQLite3 Version Error 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](https://docs.trychroma.com/troubleshooting#sqlite). ### Here's the code for a full stack chat app with UI, all in a single Python file! (37 lines) ```python import dotagent.compiler as compiler from dotagent.compiler._program import Log from dotagent 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: ![-----------------------------------------------------](https://res.cloudinary.com/dzznkbdrb/image/upload/v1694798498/chatapp_1_o3dypp.png)