From 42e583115cb73aad221a1106994d10a5433dc4ed Mon Sep 17 00:00:00 2001 From: Object335 Date: Sat, 29 Jun 2024 23:01:47 +0100 Subject: [PATCH 01/37] Add RAG agent --- submodules/moragents_dockers/README.md | 20 +++- .../moragents_dockers/agents/requirements.txt | 8 +- .../moragents_dockers/agents/src/app.py | 51 ++++++++++ .../moragents_dockers/agents/src/config.py | 3 +- .../agents/src/rag_agent/src/agent.py | 97 +++++++++++++++++++ .../agents/src/rag_agent/src/config.py | 10 ++ .../docker-compose-apple.yml | 11 ++- .../moragents_dockers/docker-compose.yml | 7 +- .../frontend/components/Chat/index.tsx | 1 + .../components/SwapAgentModal/index.tsx | 29 ++++++ .../moragents_dockers/frontend/config.ts | 10 +- 11 files changed, 230 insertions(+), 17 deletions(-) create mode 100644 submodules/moragents_dockers/agents/src/rag_agent/src/agent.py create mode 100644 submodules/moragents_dockers/agents/src/rag_agent/src/config.py create mode 100644 submodules/moragents_dockers/frontend/components/SwapAgentModal/index.tsx diff --git a/submodules/moragents_dockers/README.md b/submodules/moragents_dockers/README.md index 7d8f158..28510f8 100644 --- a/submodules/moragents_dockers/README.md +++ b/submodules/moragents_dockers/README.md @@ -3,7 +3,21 @@ This repo contains multiple agents and a dapp that enables you to interact with the agents, all running locally and containerized with Docker. -## Usage + +## Dependencies + +* Docker +* Ollama + +Pull the required models in ollama + +```ollama pull llama3``` + +```ollama pull nomic-embed-text``` + + +## Installation + Docker compose will build and run two containers. One will be for the agents, the other will be for the UI. ```docker-compose up``` @@ -44,6 +58,6 @@ A typical flow looks like this: - If the user accepts the quote, the swap may proceed. The back-end will generate transactions which will be sent to the front-end to be signed by the user's wallet. - If the allowance for the token being sold is too low, an approval transaction will be generated first +### RAG Agent - - +This agent will answer questions about an uploaded PDF file. diff --git a/submodules/moragents_dockers/agents/requirements.txt b/submodules/moragents_dockers/agents/requirements.txt index 08ee92b..4d78596 100644 --- a/submodules/moragents_dockers/agents/requirements.txt +++ b/submodules/moragents_dockers/agents/requirements.txt @@ -6,6 +6,10 @@ scikit-learn huggingface-hub flask==2.2.2 Werkzeug==2.2.2 -gradio > /dev/null flask-cors -web3 \ No newline at end of file +web3 +pymupdf==1.22.5 +faiss-cpu +langchain-text-splitters +langchain-core +langchain-community \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/src/app.py b/submodules/moragents_dockers/agents/src/app.py index 26ddb8e..65d225c 100644 --- a/submodules/moragents_dockers/agents/src/app.py +++ b/submodules/moragents_dockers/agents/src/app.py @@ -3,8 +3,16 @@ from config import Config from swap_agent.src import agent as swap_agent from data_agent.src import agent as data_agent +from rag_agent.src import agent as rag_agent from llama_cpp import Llama from llama_cpp.llama_tokenizer import LlamaHFTokenizer +import os +import logging +from langchain_community.llms import Ollama +from langchain_community.embeddings import OllamaEmbeddings +from langchain_core.prompts import ChatPromptTemplate +from rag_agent.src.config import Config as ollama_config + def load_llm(): @@ -24,6 +32,32 @@ def load_llm(): app = Flask(__name__) CORS(app) +upload_state=False +UPLOAD_FOLDER = os.path.join(os.getcwd(), 'uploads') +os.makedirs(UPLOAD_FOLDER, exist_ok=True) +app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER +app.config['MAX_CONTENT_LENGTH'] = ollama_config.MAX_LENGTH + +llm_ollama = Ollama(model="llama3",base_url=ollama_config.URL) +embeddings = OllamaEmbeddings(model="nomic-embed-text",base_url=ollama_config.URL) + +logging.basicConfig(level=logging.DEBUG) + + +agent = None +messages=[] +prompt = ChatPromptTemplate.from_template( + """ + Answer the following question only based on the given context + + + {context} + + + Question: {input} +""" +) + @app.route('/swap_agent/', methods=['POST']) def swap_agent_chat(): global llm @@ -67,6 +101,23 @@ def data_agent_messages(): def data_agent_clear_messages(): return data_agent.clear_messages() +@app.route('/rag_agent/upload', methods=['POST']) +def rag_agent_upload(): + global llm_ollama,UPLOAD_FOLDER,embeddings + return rag_agent.upload_file(request, UPLOAD_FOLDER, llm_ollama, embeddings,ollama_config.MAX_FILE_SIZE) + +@app.route('/rag_agent/', methods=['POST']) +def rag_agent_chat(): + return rag_agent.chat(request) + +@app.route('/rag_agent/messages', methods=['GET']) +def rag_agent_messages(): + return rag_agent.get_messages() + +@app.route('/rag_agent/clear_messages', methods=['GET']) +def rag_agent_clear_messages(): + return rag_agent.clear_messages() + if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True) \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/src/config.py b/submodules/moragents_dockers/agents/src/config.py index 067d58d..a0868d3 100644 --- a/submodules/moragents_dockers/agents/src/config.py +++ b/submodules/moragents_dockers/agents/src/config.py @@ -10,7 +10,7 @@ class Config: MODEL_REVISION = "functionary-small-v2.4.Q4_0.gguf" MODEL_PATH = "model/"+MODEL_REVISION DOWNLOAD_DIR = "model" - # Data agent + # API endpoints COINGECKO_BASE_URL = "https://api.coingecko.com/api/v3" DEFILLAMA_BASE_URL = "https://api.llama.fi" PRICE_SUCCESS_MESSAGE = "The price of {coin_name} is ${price:,}" @@ -24,7 +24,6 @@ class Config: MARKET_CAP_SUCCESS_MESSAGE = "The market cap of {coin_name} is ${market_cap:,}" MARKET_CAP_FAILURE_MESSAGE = "Failed to retrieve market cap. Please enter a valid coin name." API_ERROR_MESSAGE = "I can't seem to access the API at the moment." - # Swap agent INCH_URL = "https://api.1inch.dev/token" QUOTE_URL = "https://api.1inch.dev/swap" APIBASEURL = f"https://api.1inch.dev/swap/v6.0/" diff --git a/submodules/moragents_dockers/agents/src/rag_agent/src/agent.py b/submodules/moragents_dockers/agents/src/rag_agent/src/agent.py new file mode 100644 index 0000000..99e76ea --- /dev/null +++ b/submodules/moragents_dockers/agents/src/rag_agent/src/agent.py @@ -0,0 +1,97 @@ +from flask import jsonify +import os +import logging +from langchain_community.document_loaders import PyMuPDFLoader +from langchain_community.vectorstores import FAISS +from langchain_core.prompts import ChatPromptTemplate +from langchain_text_splitters import RecursiveCharacterTextSplitter +from langchain.chains.combine_documents import create_stuff_documents_chain +from langchain.chains import create_retrieval_chain +from werkzeug.utils import secure_filename + + +logging.basicConfig(level=logging.DEBUG) + + +agent = None +messages=[{'role':"assistant","content":"Please upload a file to begin"}] +upload_state = False +prompt = ChatPromptTemplate.from_template( + """ + Answer the following question only based on the given context + + + {context} + + + Question: {input} +""" +) + +def handle_file_upload(file,UPLOAD_FOLDER,llm,embeddings): + global agent,prompt + if not os.path.exists(UPLOAD_FOLDER): + os.makedirs(UPLOAD_FOLDER, exist_ok=True) + filename = secure_filename(file.filename) + file.save(os.path.join(UPLOAD_FOLDER, filename)) + # DocumentToolsGenerator class instantiation + loader = PyMuPDFLoader(os.path.join(UPLOAD_FOLDER,filename)) + docs = loader.load() + text_splitter = RecursiveCharacterTextSplitter() + split_documents = text_splitter.split_documents(docs) + vector_store = FAISS.from_documents(split_documents, embeddings) + docs_chain = create_stuff_documents_chain(llm, prompt) + retriever = vector_store.as_retriever() + agent = create_retrieval_chain(retriever, docs_chain) + + +def upload_file(request,UPLOAD_FOLDER,llm,embeddings,MAX_SIZE): + global upload_state + if 'file' not in request.files: + return jsonify({'error': 'No file part'}), 400 + file = request.files['file'] + if file.filename == '': + return jsonify({'error': 'No selected file'}), 400 + # Check file size + file.seek(0, os.SEEK_END) + file_length = file.tell() + file.seek(0, 0) # Reset the file pointer to the beginning + if file_length > MAX_SIZE: + messages.append({"role": "assistant", "content": 'please use a file less than 5 MB'}) + return jsonify({"role": "assistant", "content": 'please use a file less than 5 MB'}) + try: + handle_file_upload(file,UPLOAD_FOLDER,llm,embeddings) + upload_state = True + messages.append({"role": "assistant", "content": 'You have successfully uploaded the text'}) + return jsonify({"role": "assistant", "content": 'You have successfully uploaded the text'}) + except Exception as e: + logging.error(f'Error during file upload: {str(e)}') + return jsonify({'error': str(e)}), 500 + +def chat(request): + global messages,upload_state,agent + try: + data = request.get_json() + if 'prompt' in data: + prompt = data['prompt']['content'] + messages.append(data['prompt']) + role = "assistant" + response = agent.invoke({"input": prompt}) if upload_state else {"answer":"please upload a file first"} + + messages.append({"role": role, "content": response["answer"]}) + return jsonify({"role": role, "content": response["answer"]}) + else: + return jsonify({"error": "Missing required parameters"}), 400 + except Exception as e: + logging.error(f'Error in chat endpoint: {str(e)}') + return jsonify({"Error": str(e)}), 500 + +def get_messages(): + global messages + return jsonify({"messages": messages}) + +def clear_messages(): + global messages + messages = [{'role':"assistant","content":"Please upload a file to begin"}] + return jsonify({"response": "successfully cleared message history"}) + diff --git a/submodules/moragents_dockers/agents/src/rag_agent/src/config.py b/submodules/moragents_dockers/agents/src/rag_agent/src/config.py new file mode 100644 index 0000000..ad1952d --- /dev/null +++ b/submodules/moragents_dockers/agents/src/rag_agent/src/config.py @@ -0,0 +1,10 @@ +import logging + +# Logging configuration +logging.basicConfig(level=logging.INFO) + +# Configuration object +class Config: + MAX_FILE_SIZE=5 * 1024 * 1024 # 5 MB + MAX_LENGTH=16 * 1024 * 1024 + URL="http://host.docker.internal:11434" \ No newline at end of file diff --git a/submodules/moragents_dockers/docker-compose-apple.yml b/submodules/moragents_dockers/docker-compose-apple.yml index 83b7079..5c62997 100644 --- a/submodules/moragents_dockers/docker-compose-apple.yml +++ b/submodules/moragents_dockers/docker-compose-apple.yml @@ -10,7 +10,11 @@ services: restart: always volumes: - agents_data:/var/lib/agents - - ./agents/src:/app/src # Volume for swapagent src + - ./agents/src:/app/src + extra_hosts: + - "host.docker.internal:host-gateway" + environment: + - BASE_URL=http://host.docker.internal:11434 nginx: build: @@ -19,6 +23,7 @@ services: target: nginx ports: - '3333:80' - + + volumes: - agents_data: \ No newline at end of file + agents_data: diff --git a/submodules/moragents_dockers/docker-compose.yml b/submodules/moragents_dockers/docker-compose.yml index 49b100d..a395dca 100644 --- a/submodules/moragents_dockers/docker-compose.yml +++ b/submodules/moragents_dockers/docker-compose.yml @@ -10,7 +10,11 @@ services: restart: always volumes: - agents_data:/var/lib/agents - - ./agents/src:/app/src # Volume for swapagent src + - ./agents/src:/app/src + extra_hosts: + - "host.docker.internal:host-gateway" + environment: + - BASE_URL=http://host.docker.internal:11434 nginx: build: @@ -21,5 +25,6 @@ services: - '3333:80' + volumes: agents_data: diff --git a/submodules/moragents_dockers/frontend/components/Chat/index.tsx b/submodules/moragents_dockers/frontend/components/Chat/index.tsx index 01f6cd0..c79a4ba 100644 --- a/submodules/moragents_dockers/frontend/components/Chat/index.tsx +++ b/submodules/moragents_dockers/frontend/components/Chat/index.tsx @@ -162,6 +162,7 @@ export const Chat: FC = ({ await onSubmitMessage(message, file); setMessage(''); + setFile(null); // Clear the file state after upload setShowSpinner(false); } diff --git a/submodules/moragents_dockers/frontend/components/SwapAgentModal/index.tsx b/submodules/moragents_dockers/frontend/components/SwapAgentModal/index.tsx new file mode 100644 index 0000000..70fcd72 --- /dev/null +++ b/submodules/moragents_dockers/frontend/components/SwapAgentModal/index.tsx @@ -0,0 +1,29 @@ +import { Button, HStack, Modal, ModalBody, ModalCloseButton, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Spacer, Text, useDisclosure } from '@chakra-ui/react'; +import React, { FC, ComponentPropsWithoutRef, useEffect } from 'react'; + +export interface SwapAgentModalProps extends ComponentPropsWithoutRef<'div'> { + isOpen: boolean; + onClose: () => void; +} + +export const SwapAgentModal: FC = ({ isOpen, onClose }) => { + return ( + + + + Swap Agent + + + You have switched to the Swap Agent. Please ensure you have connected your wallet and selected the correct network. + + + + + + + + + + + ); +}; \ No newline at end of file diff --git a/submodules/moragents_dockers/frontend/config.ts b/submodules/moragents_dockers/frontend/config.ts index f13d51f..2ee629d 100644 --- a/submodules/moragents_dockers/frontend/config.ts +++ b/submodules/moragents_dockers/frontend/config.ts @@ -28,16 +28,14 @@ export const availableAgents: { requirements: { connectedWallet: false } - } - /* + }, 'rag-agent': { - 'name': 'Functional Data Agent (RAG FOR FILES)', - 'description': 'Mock of the Data Agent that supports files', - 'endpoint': 'http://127.0.0.1:8081', + 'name': 'PDF Agent', + 'description': 'Ask questions about an uploaded PDF file', + 'endpoint': 'http://127.0.0.1:8080/rag_agent', requirements: { connectedWallet: false }, supportsFiles: true } - */ } \ No newline at end of file From 9404857bc4007ea114f5ef1d064e4f74193d2816 Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Tue, 2 Jul 2024 00:27:19 -0400 Subject: [PATCH 02/37] Add instructions for mac and windows build installs with ollama --- .../macOS/Packaging_Instructions_macOS.md | 12 +++++ build_assets/macOS/postinstall.sh | 35 +++++++++++++++ build_assets/macOS/preinstall.sh | 12 +++++ build_assets/macOS/preinstall_ollama.sh | 7 +++ build_assets/macOS/welcome.html | 45 +++++++++++++++++++ .../windows/Packaging_Instructions_Windows.md | 2 +- wizard_windows.iss | 5 ++- 7 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 build_assets/macOS/postinstall.sh create mode 100755 build_assets/macOS/preinstall.sh create mode 100644 build_assets/macOS/preinstall_ollama.sh create mode 100644 build_assets/macOS/welcome.html diff --git a/build_assets/macOS/Packaging_Instructions_macOS.md b/build_assets/macOS/Packaging_Instructions_macOS.md index 7d1d4cb..a1e1795 100644 --- a/build_assets/macOS/Packaging_Instructions_macOS.md +++ b/build_assets/macOS/Packaging_Instructions_macOS.md @@ -39,3 +39,15 @@ codesign --verify --verbose=4 MORagents.app codesign -dv --verbose=4 MORagents.app ``` + +## Wizard Creation + +1. Download the dev version of the Packages app (it has to be the dev version because the latest build doesn't work on mac sonoma/last updated 2022) [Packages App](http://s.sudre.free.fr/Software/Packages/about.html) [packages_1211_dev.dmg](http://s.sudre.free.fr/files/Packages_1211_dev.dmg) +2. Download the files in https://github.com/MorpheusAIs/moragents/blob/a9d875b679df3e14e1d0a28704d00c001c99e340/build_assets/windows/, along with [Docker Desktop Mac Install](https://docs.docker.com/desktop/install/mac-install/) and MORAgents.app. +3. In the Packages App...\ +a) Create a New Project ... set the template as "Distribution".\ +b) Under the Packages, either edit the existing package or create a new one. Set "Identifier" to com.morpheus.pkg.MORAgents, set the Payload to have MORAgents.app under /Applications, then under Scripts, add the preinstall.sh and postinstall.sh from the downloaded files.\ +c) Create a new Package, then under Payload, add the Docker Desktop Mac Install under /Applications\ +d) Create a new Package, then under preinstall scripts, add the preinstall_ollama.sh script from the downloaded files.\ +e) Navigate to Project, then set Presentation to have the welcome.html file and other settings to present the installer. + diff --git a/build_assets/macOS/postinstall.sh b/build_assets/macOS/postinstall.sh new file mode 100644 index 0000000..60703a0 --- /dev/null +++ b/build_assets/macOS/postinstall.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Function to check if an application is running +is_app_running() { + app_name=$1 + pgrep -x "$app_name" >/dev/null +} + +# Open Docker Desktop +open -a "Docker.app" + +# Set the timeout duration (in seconds) +timeout=300 # 5 minutes + +# Wait for Docker Desktop to be running +echo "Waiting for Docker Desktop to start..." +start_time=$(date +%s) +while ! is_app_running "Docker Desktop"; do + current_time=$(date +%s) + elapsed_time=$((current_time - start_time)) + + if [ $elapsed_time -ge $timeout ]; then + echo "Error: Docker Desktop did not start within the specified timeout." + exit 1 + fi + + sleep 1 +done +echo "Docker Desktop is running." + +# Open MORAgents.app +open -a "MORAgents.app" + +echo "Post-install script completed." +exit 0 diff --git a/build_assets/macOS/preinstall.sh b/build_assets/macOS/preinstall.sh new file mode 100755 index 0000000..a18eddb --- /dev/null +++ b/build_assets/macOS/preinstall.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +python_version=$(python3 --version 2>&1 | awk '{print $2}') +if [[ "$python_version" < "3.12.0" ]]; then + echo "Installing Python 3.12.0..." + curl -O https://www.python.org/ftp/python/3.12.0/python-3.12.0-macos11.pkg + sudo installer -pkg python-3.12.0-macos11.pkg -target / + echo "Python 3.12.0 has been successfully installed." + rm python-3.12.0-macos11.pkg +else + echo "Python version is already up to date." +fi diff --git a/build_assets/macOS/preinstall_ollama.sh b/build_assets/macOS/preinstall_ollama.sh new file mode 100644 index 0000000..90d09b5 --- /dev/null +++ b/build_assets/macOS/preinstall_ollama.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +curl -L https://github.com/jmorganca/ollama/releases/download/v0.1.46/ollama-darwin -o ollama + +chmod +x ollama + +sudo mv ollama /usr/local/bin/ diff --git a/build_assets/macOS/welcome.html b/build_assets/macOS/welcome.html new file mode 100644 index 0000000..679f338 --- /dev/null +++ b/build_assets/macOS/welcome.html @@ -0,0 +1,45 @@ + + + + + + Welcome to MORAgents Installer + + + +

Welcome to MORAgents Installer

+

Thank you for choosing to install MORAgents on your system. This installer will guide you through the process of setting up MORAgents and its dependencies.

+

The installer will perform the following steps:

+
    +
  • Check the installed Python version and install Python 3.12.0 if necessary.
  • +
  • Check if Docker is installed and install Docker Desktop if needed.
  • +
  • Check if Ollama is installed and install Ollama if needed.
  • +
  • Install the MORAgents application.
  • +
+

Please note that during the installation process, you may be prompted to enter your system password to authorize the installation of required components.

+

Click "Continue" to proceed with the installation.

+ + + diff --git a/build_assets/windows/Packaging_Instructions_Windows.md b/build_assets/windows/Packaging_Instructions_Windows.md index 6e8910c..72f6190 100644 --- a/build_assets/windows/Packaging_Instructions_Windows.md +++ b/build_assets/windows/Packaging_Instructions_Windows.md @@ -18,4 +18,4 @@ Windows Inno Setup for Wizard: 2) In the GUI, enter the text found in [wizard_windows.iss](../../wizard_windows.iss) 3) Click Build > Compile 4) Hit the Play/Run button on the top -5) Installer is the +5) Installer will run and create a Desktop icon to run the application. diff --git a/wizard_windows.iss b/wizard_windows.iss index 1ff4af9..01a6c78 100644 --- a/wizard_windows.iss +++ b/wizard_windows.iss @@ -18,6 +18,7 @@ Source: "dist\MORagents\MORagents.exe"; DestDir: "{app}" Source: "dist\MORagents\_internal\*"; DestDir: "{app}\_internal"; Flags: recursesubdirs Source: "images\moragents.ico"; DestDir: "{app}" Source: "resources\Docker Desktop Installer.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall +Source: "resources\OllamaSetup.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall Source: "LICENSE"; DestDir: "{app}"; Flags: isreadme [Icons] @@ -25,6 +26,8 @@ Name: "{commondesktop}\MORagents"; Filename: "{app}\MORagents.exe"; IconFilename [Run] Filename: "{app}\LICENSE"; Description: "License Agreement"; Flags: postinstall shellexec skipifsilent +Filename: "{tmp}\Docker Desktop Installer.exe"; Description: "Installing Docker Desktop..."; StatusMsg: "Installing Docker Desktop..." +Filename: "{tmp}\OllamaSetup.exe"; Description: "Installing Ollama..."; StatusMsg: "Installing Ollama..." [Code] function InitializeSetup(): Boolean; @@ -32,4 +35,4 @@ begin Result := MsgBox('Please read the license agreement found at https://github.com/MorpheusAIs/moragents/blob/778b0aba68ae873d7bb355f2ed4419389369e042/LICENSE carefully. Do you accept the terms of the License agreement?', mbConfirmation, MB_YESNO) = idYes; if not Result then MsgBox('Setup cannot continue without accepting the License agreement.', mbInformation, MB_OK); -end; \ No newline at end of file +end; From e30547c0d1482c05331b2c184e17bd375342d48c Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Wed, 3 Jul 2024 01:30:05 -0400 Subject: [PATCH 03/37] Add unit tests for agents --- .../moragents_dockers/agents/pytest.ini | 3 + .../moragents_dockers/agents/requirements.txt | 5 +- .../agents/src/data_agent/src/agent.py | 6 +- .../src/{config.py => data_agent_config.py} | 0 .../agents/src/data_agent/src/tools.py | 2 +- .../agents/src/swap_agent/src/agent.py | 5 +- .../src/{config.py => swap_agent_config.py} | 0 .../agents/src/swap_agent/src/tools.py | 2 +- .../agents/tests/data_agent/test_agent.py | 95 +++++++++++++ .../agents/tests/data_agent/test_tools.py | 82 ++++++++++++ .../agents/tests/swap_agent/test_agent.py | 126 ++++++++++++++++++ .../agents/tests/swap_agent/test_tools.py | 114 ++++++++++++++++ 12 files changed, 431 insertions(+), 9 deletions(-) create mode 100644 submodules/moragents_dockers/agents/pytest.ini rename submodules/moragents_dockers/agents/src/data_agent/src/{config.py => data_agent_config.py} (100%) rename submodules/moragents_dockers/agents/src/swap_agent/src/{config.py => swap_agent_config.py} (100%) create mode 100644 submodules/moragents_dockers/agents/tests/data_agent/test_agent.py create mode 100644 submodules/moragents_dockers/agents/tests/data_agent/test_tools.py create mode 100644 submodules/moragents_dockers/agents/tests/swap_agent/test_agent.py create mode 100644 submodules/moragents_dockers/agents/tests/swap_agent/test_tools.py diff --git a/submodules/moragents_dockers/agents/pytest.ini b/submodules/moragents_dockers/agents/pytest.ini new file mode 100644 index 0000000..72a01cc --- /dev/null +++ b/submodules/moragents_dockers/agents/pytest.ini @@ -0,0 +1,3 @@ +[pytest] +pythonpath = . +addopts = --import-mode=importlib -p no:warnings \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/requirements.txt b/submodules/moragents_dockers/agents/requirements.txt index 08ee92b..7aa228f 100644 --- a/submodules/moragents_dockers/agents/requirements.txt +++ b/submodules/moragents_dockers/agents/requirements.txt @@ -8,4 +8,7 @@ flask==2.2.2 Werkzeug==2.2.2 gradio > /dev/null flask-cors -web3 \ No newline at end of file +web3 +pytest +pytest-flask +pytest-mock diff --git a/submodules/moragents_dockers/agents/src/data_agent/src/agent.py b/submodules/moragents_dockers/agents/src/data_agent/src/agent.py index acf79df..81c20f1 100644 --- a/submodules/moragents_dockers/agents/src/data_agent/src/agent.py +++ b/submodules/moragents_dockers/agents/src/data_agent/src/agent.py @@ -3,8 +3,8 @@ from flask import Flask, request, jsonify from flask_cors import CORS import requests -from data_agent.src import tools -from config import Config +import tools +from data_agent_config import Config import json @@ -53,7 +53,7 @@ def chat(request,llm): if 'prompt' in data: prompt = data['prompt'] response,role = generate_response(prompt,llm) - return jsonify({"role":role,"content":response}) + return jsonify({"role":role,"content":response}), 200 else: return jsonify({"error": "Missing required parameters"}), 400 diff --git a/submodules/moragents_dockers/agents/src/data_agent/src/config.py b/submodules/moragents_dockers/agents/src/data_agent/src/data_agent_config.py similarity index 100% rename from submodules/moragents_dockers/agents/src/data_agent/src/config.py rename to submodules/moragents_dockers/agents/src/data_agent/src/data_agent_config.py diff --git a/submodules/moragents_dockers/agents/src/data_agent/src/tools.py b/submodules/moragents_dockers/agents/src/data_agent/src/tools.py index d3fcf77..8c3f3cd 100644 --- a/submodules/moragents_dockers/agents/src/data_agent/src/tools.py +++ b/submodules/moragents_dockers/agents/src/data_agent/src/tools.py @@ -1,6 +1,6 @@ import requests import logging -from config import Config +from data_agent_config import Config import time from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity diff --git a/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py b/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py index 90f861a..0e5447c 100644 --- a/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py +++ b/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py @@ -2,9 +2,8 @@ from llama_cpp import Llama from llama_cpp.llama_tokenizer import LlamaHFTokenizer import requests -from swap_agent.src import tools -from swap_agent.src.tools import InsufficientFundsError, TokenNotFoundError, SwapNotPossibleError -from config import Config +from . import tools +from swap_agent_config import Config import json diff --git a/submodules/moragents_dockers/agents/src/swap_agent/src/config.py b/submodules/moragents_dockers/agents/src/swap_agent/src/swap_agent_config.py similarity index 100% rename from submodules/moragents_dockers/agents/src/swap_agent/src/config.py rename to submodules/moragents_dockers/agents/src/swap_agent/src/swap_agent_config.py diff --git a/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py b/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py index 516f026..7dab05b 100644 --- a/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py +++ b/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py @@ -1,7 +1,7 @@ import requests import logging import time -from config import Config +from swap_agent_config import Config from web3 import Web3 diff --git a/submodules/moragents_dockers/agents/tests/data_agent/test_agent.py b/submodules/moragents_dockers/agents/tests/data_agent/test_agent.py new file mode 100644 index 0000000..b44936f --- /dev/null +++ b/submodules/moragents_dockers/agents/tests/data_agent/test_agent.py @@ -0,0 +1,95 @@ +import sys +import os +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'src', 'data_agent', 'src'))) +# The above sys/os lines are needed because the agents have identical namings (i.e. agent.py, tools.py) + +import pytest +from unittest.mock import patch, MagicMock +from src.data_agent.src.agent import get_response, generate_response, chat, get_messages, clear_messages +from flask import Flask, request + +@pytest.fixture +def mock_llm(): + mock = MagicMock() + mock.create_chat_completion.return_value = { + "choices": [ + { + "message": { + "content": "This is a test response" + } + } + ] + } + return mock + +@pytest.fixture +def app(): + app = Flask(__name__) + return app + +def test_get_response(mock_llm): + message = [{"role": "user", "content": "Hello"}] + response, role = get_response(message, mock_llm) + assert response == "This is a test response" + assert role == "assistant" + +def test_get_response_with_tool_call(mock_llm): + mock_llm.create_chat_completion.return_value = { + "choices": [ + { + "message": { + "tool_calls": [ + { + "function": { + "name": "get_price", + "arguments": '{"coin_name": "bitcoin"}' + } + } + ] + } + } + ] + } + + with patch('agent.tools.get_coin_price_tool') as mock_price_tool: + mock_price_tool.return_value = "The price of bitcoin is $50,000" + message = [{"role": "user", "content": "What's the price of Bitcoin?"}] + response, role = get_response(message, mock_llm) + + assert response == "The price of bitcoin is $50,000" + assert role == "assistant" + +def test_generate_response(mock_llm): + prompt = {"role": "user", "content": "Hello"} + response, role = generate_response(prompt, mock_llm) + assert response == "This is a test response" + assert role == "assistant" + +def test_chat(app, mock_llm): + with app.test_request_context(json={"prompt": "Hello"}): + with patch('agent.generate_response', return_value=("This is a test response", "assistant")): + response, status_code = chat(request, mock_llm) + + assert status_code == 200 + assert response.json == {"role": "assistant", "content": "This is a test response"} + +def test_chat_missing_prompt(app): + with app.test_request_context(json={}): + response, status_code = chat(request, None) + + assert status_code == 400 + assert "error" in response.json + +def test_get_messages(app): + with app.test_request_context(): + response = get_messages() + + assert response.status_code == 200 + assert "messages" in response.json + +def test_clear_messages(app): + with app.test_request_context(): + response = clear_messages() + + assert response.status_code == 200 + assert response.json["response"] == "successfully cleared message history" \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/tests/data_agent/test_tools.py b/submodules/moragents_dockers/agents/tests/data_agent/test_tools.py new file mode 100644 index 0000000..2cbce79 --- /dev/null +++ b/submodules/moragents_dockers/agents/tests/data_agent/test_tools.py @@ -0,0 +1,82 @@ +import sys +import os +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'src', 'data_agent', 'src'))) +# The above sys/os lines are needed because the agents have identical namings (i.e. agent.py, tools.py) + +import pytest +from unittest.mock import patch, MagicMock + +from src.data_agent.src.tools import ( + get_coingecko_id, + get_price, + get_floor_price, + get_fdv, + get_market_cap, + get_protocol_tvl, + get_coin_price_tool, + get_nft_floor_price_tool, + get_fully_diluted_valuation_tool, + get_coin_market_cap_tool, +) + +# Mock responses +mock_coingecko_search = { + 'coins': [{'id': 'bitcoin'}], + 'nfts': [{'id': 'bored-ape-yacht-club'}] +} +mock_price_response = {'bitcoin': {'usd': 50000}} +mock_floor_price_response = {'floor_price': {'usd': 100000}} +mock_fdv_response = {'market_data': {'fully_diluted_valuation': {'usd': 1000000000000}}} +mock_market_cap_response = [{'market_cap': 500000000000}] +mock_tvl_response = {'tvl': 10000000000} + +@pytest.fixture +def mock_requests_get(): + with patch('requests.get') as mock_get: + mock_get.return_value = MagicMock() + mock_get.return_value.json.return_value = {} + yield mock_get + +def test_get_coingecko_id_coin(mock_requests_get): + mock_requests_get.return_value.json.return_value = mock_coingecko_search + assert get_coingecko_id('bitcoin', type='coin') == 'bitcoin' + +def test_get_coingecko_id_nft(mock_requests_get): + mock_requests_get.return_value.json.return_value = mock_coingecko_search + assert get_coingecko_id('bored ape', type='nft') == 'bored-ape-yacht-club' + +def test_get_price(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_price_response] + assert get_price('bitcoin') == 50000 + +def test_get_floor_price(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_floor_price_response] + assert get_floor_price('bored ape') == 100000 + +def test_get_fdv(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_fdv_response] + assert get_fdv('bitcoin') == 1000000000000 + +def test_get_market_cap(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_market_cap_response] + assert get_market_cap('bitcoin') == 500000000000 + +def test_get_coin_price_tool(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_price_response] + result = get_coin_price_tool('bitcoin') + assert "The price of bitcoin is $50,000" in result + +def test_get_nft_floor_price_tool(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_floor_price_response] + result = get_nft_floor_price_tool('bored ape') + assert "The floor price of bored ape is $100,000" in result + +def test_get_fully_diluted_valuation_tool(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_fdv_response] + result = get_fully_diluted_valuation_tool('bitcoin') + assert "The fully diluted valuation of bitcoin is $1,000,000,000,000" in result + +def test_get_coin_market_cap_tool(mock_requests_get): + mock_requests_get.return_value.json.side_effect = [mock_coingecko_search, mock_market_cap_response] + result = get_coin_market_cap_tool('bitcoin') + assert "The market cap of bitcoin is $500,000,000,000" in result \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/tests/swap_agent/test_agent.py b/submodules/moragents_dockers/agents/tests/swap_agent/test_agent.py new file mode 100644 index 0000000..82f0fab --- /dev/null +++ b/submodules/moragents_dockers/agents/tests/swap_agent/test_agent.py @@ -0,0 +1,126 @@ +import sys +import os +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'src', 'swap_agent', 'src'))) +# The above sys/os lines are needed because the agents have identical namings (i.e. agent.py, tools.py) + +import pytest +from unittest.mock import patch, MagicMock +from flask import Flask, request +from src.swap_agent.src.agent import get_response, generate_response, chat, get_messages, clear_messages, get_allowance, approve, swap + +@pytest.fixture +def mock_llm(): + mock = MagicMock() + mock.create_chat_completion.return_value = { + "choices": [ + { + "message": { + "content": "This is a test response" + } + } + ] + } + return mock + +@pytest.fixture +def app(): + app = Flask(__name__) + return app + +def test_get_response(mock_llm): + message = [{"role": "user", "content": "Hello"}] + response, role = get_response(message, "chain_id", "wallet_address", mock_llm) + assert response == "This is a test response" + assert role == "assistant" + +def test_get_response_with_tool_call(mock_llm): + mock_llm.create_chat_completion.return_value = { + "choices": [ + { + "message": { + "tool_calls": [ + { + "function": { + "name": "swap_agent", + "arguments": '{"token1": "ETH", "token2": "USDT", "value": "1.0"}' + } + } + ] + } + } + ] + } + + with patch('src.swap_agent.src.tools.swap_coins') as mock_swap_coins: + mock_swap_coins.return_value = ("Swap successful", "assistant") + message = [{"role": "user", "content": "Swap 1 ETH for USDT"}] + response, role = get_response(message, "chain_id", "wallet_address", mock_llm) + + assert response == "Swap successful" + assert role == "assistant" + +def test_generate_response(mock_llm): + prompt = {"role": "user", "content": "Hello"} + response, role = generate_response(prompt, "chain_id", "wallet_address", mock_llm) + assert response == "This is a test response" + assert role == "assistant" + +def test_chat(app, mock_llm): + with app.test_request_context(json={"prompt": "Hello", "wallet_address": "0x123", "chain_id": "1"}): + with patch('src.swap_agent.src.agent.generate_response', return_value=("This is a test response", "assistant")): + response = chat(request, mock_llm) + + assert response.status_code == 200 + assert response.json == {"role": "assistant", "content": "This is a test response"} + +def test_chat_missing_prompt(app): + with app.test_request_context(json={}): + response, status_code = chat(request, None) + + assert status_code == 400 + assert "error" in response.json + +def test_get_messages(app): + with app.test_request_context(): + response = get_messages() + + assert response.status_code == 200 + assert "messages" in response.json + +def test_clear_messages(app): + with app.test_request_context(): + response = clear_messages() + + assert response.status_code == 200 + assert response.json["response"] == "successfully cleared message history" + +def test_get_allowance(app): + with app.test_request_context(json={"tokenAddress": "0x123", "walletAddress": "0x456", "chain_id": "1"}): + with patch('src.swap_agent.src.agent.check_allowance', return_value={"allowance": "1000"}): + response = get_allowance(request) + + assert response.status_code == 200 + assert "response" in response.json + +def test_approve(app): + with app.test_request_context(json={"tokenAddress": "0x123", "chain_id": "1", "amount": "1000"}): + with patch('src.swap_agent.src.agent.approve_transaction', return_value={"txHash": "0x789"}): + response = approve(request) + + assert response.status_code == 200 + assert "response" in response.json + +def test_swap(app): + swap_params = { + "src": "ETH", + "dst": "USDT", + "walletAddress": "0x123", + "amount": "1.0", + "slippage": "1", + "chain_id": "1" + } + with app.test_request_context(json=swap_params): + with patch('src.swap_agent.src.agent.build_tx_for_swap', return_value={"txHash": "0x789"}): + response = swap(request) + + assert {'txHash': '0x789'} == response diff --git a/submodules/moragents_dockers/agents/tests/swap_agent/test_tools.py b/submodules/moragents_dockers/agents/tests/swap_agent/test_tools.py new file mode 100644 index 0000000..66b8004 --- /dev/null +++ b/submodules/moragents_dockers/agents/tests/swap_agent/test_tools.py @@ -0,0 +1,114 @@ +import sys +import os +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'src', 'swap_agent', 'src'))) +# The above sys/os lines are needed because the agents have identical namings (i.e. agent.py, tools.py) + +import pytest +from unittest.mock import patch, MagicMock +from web3 import Web3 +from src.swap_agent.src.tools import ( + search_tokens, get_token_balance, eth_to_wei, validate_swap, + get_quote, get_token_decimals, convert_to_smallest_unit, + convert_to_readable_unit, swap_coins, InsufficientFundsError, + TokenNotFoundError, SwapNotPossibleError +) + +@pytest.fixture +def mock_web3(): + mock = MagicMock(spec=Web3) + mock.eth = MagicMock() + mock.eth.get_balance = MagicMock(return_value=1000) + mock.eth.contract = MagicMock() + return mock + +def test_search_tokens(): + with patch('requests.get') as mock_get: + mock_get.return_value.status_code = 200 + mock_get.return_value.json.return_value = [{"symbol": "ETH", "address": "0x123"}] + result = search_tokens("ETH", 1) + assert result[0]["symbol"] == "ETH" + +def test_get_token_balance(mock_web3): + mock_web3.eth.get_balance.return_value = 1000 + balance = get_token_balance(mock_web3, "0x456", "", []) + assert balance == 1000 + +def test_eth_to_wei(): + assert eth_to_wei(1) == 10**18 + +def test_validate_swap(mock_web3): + with patch('src.swap_agent.src.tools.search_tokens') as mock_search: + mock_search.side_effect = [ + [{"symbol": "ETH", "address": "0x0000000000000000000000000000000000000000"}], + [{"symbol": "DAI", "address": "0x123"}] + ] + mock_web3.eth.get_balance.return_value = 10**18 + result = validate_swap(mock_web3, "ETH", "DAI", 1, 1, "0x456") + assert result[1] == "ETH" + +def test_get_quote(): + with patch('requests.get') as mock_get: + mock_get.return_value.status_code = 200 + mock_get.return_value.json.return_value = {"dstAmount": "1000000000000000000"} + result = get_quote("0x123", "0x456", 10**18, 1) + assert result["dstAmount"] == "1000000000000000000" + +def test_get_token_decimals(mock_web3): + mock_contract = MagicMock() + mock_contract.functions.decimals.return_value.call.return_value = 18 + mock_web3.eth.contract.return_value = mock_contract + assert get_token_decimals(mock_web3, "0x1234567890123456789012345678901234567890") == 18 + +def test_convert_to_smallest_unit(mock_web3): + with patch('src.swap_agent.src.tools.get_token_decimals', return_value=18): + assert convert_to_smallest_unit(mock_web3, 1, "0x123") == 10**18 + +def test_convert_to_readable_unit(mock_web3): + with patch('src.swap_agent.src.tools.get_token_decimals', return_value=18): + assert convert_to_readable_unit(mock_web3, 10**18, "0x123") == 1 + +def test_swap_coins(): + with patch('src.swap_agent.src.tools.Web3') as mock_web3, \ + patch('src.swap_agent.src.tools.validate_swap') as mock_validate, \ + patch('src.swap_agent.src.tools.get_quote') as mock_quote: + + mock_web3.return_value = MagicMock() + mock_validate.return_value = ("0x123", "ETH", "0x456", "DAI") + mock_quote.return_value = {"dstAmount": "1000000000000000000"} + + result, role = swap_coins("ETH", "DAI", 1, 1, "0x789") + assert result["src"] == "ETH" + assert result["dst"] == "DAI" + assert role == "swap" + +def test_swap_coins_insufficient_funds(): + with patch('src.swap_agent.src.tools.Web3') as mock_web3, \ + patch('src.swap_agent.src.tools.validate_swap') as mock_validate: + + mock_web3.return_value = MagicMock() + mock_validate.side_effect = InsufficientFundsError("Not enough funds") + + with pytest.raises(InsufficientFundsError): + swap_coins("ETH", "DAI", 1000, 1, "0x789") + +def test_swap_coins_token_not_found(): + with patch('src.swap_agent.src.tools.Web3') as mock_web3, \ + patch('src.swap_agent.src.tools.validate_swap') as mock_validate: + + mock_web3.return_value = MagicMock() + mock_validate.side_effect = TokenNotFoundError("Token not found") + + with pytest.raises(TokenNotFoundError): + swap_coins("UNKNOWN", "DAI", 1, 1, "0x789") + +def test_swap_coins_swap_not_possible(): + with patch('src.swap_agent.src.tools.Web3') as mock_web3, \ + patch('src.swap_agent.src.tools.validate_swap') as mock_validate, \ + patch('src.swap_agent.src.tools.get_quote') as mock_quote: + + mock_web3.return_value = MagicMock() + mock_validate.return_value = ("0x123", "ETH", "0x456", "DAI") + mock_quote.return_value = None + + with pytest.raises(SwapNotPossibleError): + swap_coins("ETH", "DAI", 1, 1, "0x789") \ No newline at end of file From e6aeb97220dd782862693ffc86b18c68a3ba0adb Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 16:28:29 -0600 Subject: [PATCH 04/37] initial benchmarking layout for data ingester (price & market cap) --- .../benchmarks/adapters/base_adapter.py | 21 +++++++ .../benchmarks/adapters/coincap_adapter.py | 32 ++++++++++ .../benchmarks/adapters/coingecko_adapter.py | 30 +++++++++ .../benchmarks/adapters/defillama_adapter.py | 22 +++++++ submodules/benchmarks/benchmarks.py | 52 ++++++++++++++++ submodules/benchmarks/config.py | 31 ++++++++++ submodules/benchmarks/helpers.py | 62 +++++++++++++++++++ submodules/benchmarks/readme.md | 19 ++++++ submodules/benchmarks/requirements.txt | 1 + .../moragents_dockers/agents/Dockerfile-apple | 2 +- .../moragents_dockers/agents/requirements.txt | 2 +- 11 files changed, 272 insertions(+), 2 deletions(-) create mode 100644 submodules/benchmarks/adapters/base_adapter.py create mode 100644 submodules/benchmarks/adapters/coincap_adapter.py create mode 100644 submodules/benchmarks/adapters/coingecko_adapter.py create mode 100644 submodules/benchmarks/adapters/defillama_adapter.py create mode 100644 submodules/benchmarks/benchmarks.py create mode 100644 submodules/benchmarks/config.py create mode 100644 submodules/benchmarks/helpers.py create mode 100644 submodules/benchmarks/readme.md create mode 100644 submodules/benchmarks/requirements.txt diff --git a/submodules/benchmarks/adapters/base_adapter.py b/submodules/benchmarks/adapters/base_adapter.py new file mode 100644 index 0000000..ca87278 --- /dev/null +++ b/submodules/benchmarks/adapters/base_adapter.py @@ -0,0 +1,21 @@ +from abc import ABC, abstractmethod + +class BaseAdapter(ABC): + + @property + @abstractmethod + def name(self) -> str: + pass + + @abstractmethod + def get_price(self, coin_id: str) -> float: + pass + + def get_marketcap(self, coin_id: str) -> float: + pass + + def has_get_marketcap(self) -> bool: + return hasattr(self, 'get_marketcap') and callable(getattr(self, 'get_marketcap')) + + def has_get_price(self) -> bool: + return hasattr(self, 'get_price') and callable(getattr(self, 'get_price')) diff --git a/submodules/benchmarks/adapters/coincap_adapter.py b/submodules/benchmarks/adapters/coincap_adapter.py new file mode 100644 index 0000000..d27af6b --- /dev/null +++ b/submodules/benchmarks/adapters/coincap_adapter.py @@ -0,0 +1,32 @@ +import requests +from .base_adapter import BaseAdapter + +# TODO: this needs a coingecko_id -> coincap_id translation layer to be more accurate +# It mostly works as-is because coincap often shares the same identifier as coingecko +class CoincapAdapter(BaseAdapter): + + @property + def name(self) -> str: + return "Coincap" + + def get_price(self, coingecko_id: str) -> float: + request_url = f"https://api.coincap.io/v2/rates/{coingecko_id}" + response = requests.get(request_url) + response.raise_for_status() + data = response.json() + price = float(data['data']['rateUsd']) + return price + + def get_marketcap(self, coingecko_id: str) -> float: + request_url = f"https://api.coincap.io/v2/assets/{coingecko_id}" + response = requests.get(request_url) + response.raise_for_status() + data = response.json() + marketcap = float(data['data']['marketCapUsd']) + return marketcap + + def has_get_marketcap(self) -> bool: + return True + + def has_get_price(self) -> bool: + return True \ No newline at end of file diff --git a/submodules/benchmarks/adapters/coingecko_adapter.py b/submodules/benchmarks/adapters/coingecko_adapter.py new file mode 100644 index 0000000..23411ff --- /dev/null +++ b/submodules/benchmarks/adapters/coingecko_adapter.py @@ -0,0 +1,30 @@ +import requests +from .base_adapter import BaseAdapter + +# defillama and coingecko share the same identifiers +class CoingeckoAdapter(BaseAdapter): + + @property + def name(self) -> str: + return "Coingecko" + + def get_price(self, coingecko_id: str) -> float: + url = f"https://api.coingecko.com/api/v3/simple/price" + params = {'ids': coingecko_id, 'vs_currencies': 'usd'} + response = requests.get(url, params=params) + response.raise_for_status() + return response.json()[coingecko_id]['usd'] + + def get_marketcap(self, coin_id: str) -> float: + request_url = f"https://api.coingecko.com/api/v3/coins/{coin_id}" + response = requests.get(request_url) + response.raise_for_status() + data = response.json() + marketcap = data['market_data']['market_cap']['usd'] + return marketcap + + def has_get_marketcap(self) -> bool: + return True + + def has_get_price(self) -> bool: + return True \ No newline at end of file diff --git a/submodules/benchmarks/adapters/defillama_adapter.py b/submodules/benchmarks/adapters/defillama_adapter.py new file mode 100644 index 0000000..21bac2f --- /dev/null +++ b/submodules/benchmarks/adapters/defillama_adapter.py @@ -0,0 +1,22 @@ +import requests +from .base_adapter import BaseAdapter + +class DefillamaAdapter(BaseAdapter): + + @property + def name(self) -> str: + return "Defillama" + + def get_price(self, coingecko_id: str) -> float: + request_url = f"https://coins.llama.fi/prices/current/coingecko:{coingecko_id}" + response = requests.get(request_url) + response.raise_for_status() + data = response.json() + price = data['coins'][f'coingecko:{coingecko_id}']['price'] + return price + + def has_get_marketcap(self) -> bool: + return False + + def has_get_price(self) -> bool: + return True \ No newline at end of file diff --git a/submodules/benchmarks/benchmarks.py b/submodules/benchmarks/benchmarks.py new file mode 100644 index 0000000..c02d373 --- /dev/null +++ b/submodules/benchmarks/benchmarks.py @@ -0,0 +1,52 @@ +import time +import argparse +from helpers import ask_data_llm, check_response, extract_llm_usd_value +from config import coins, price_prompts, mcap_prompts, price_error_tolerance, mcap_error_tolerance +from adapters.coingecko_adapter import CoingeckoAdapter +from adapters.defillama_adapter import DefillamaAdapter +from adapters.coincap_adapter import CoincapAdapter + +# Define all adapters +all_adapters = [ + CoingeckoAdapter(), + DefillamaAdapter(), + CoincapAdapter() +] + +# Argument parsing +parser = argparse.ArgumentParser(description="Specify the type of prompts to use (price or mcap).") +parser.add_argument('type', choices=['price', 'mcap'], help="Type of prompts to use") +args = parser.parse_args() + +benchmark_type = args.type + +# Set prompts based on the specified type +if benchmark_type == 'price': + prompts = price_prompts +elif benchmark_type == 'mcap': + prompts = mcap_prompts + +try: + print() + for prompt in prompts: + for coin in coins: + coingecko_id = coin["coingecko_id"] + for name in coin["names"]: + llm_prompt = prompt.format(name) + print(f"Checking {coingecko_id}: {llm_prompt}") + llm_response = ask_data_llm(prompt.format(name)) + llm_usd_value = extract_llm_usd_value(llm_response) + for adapter in all_adapters: + if benchmark_type == "price": + if adapter.has_get_price(): + benchmark_value = adapter.get_price(coingecko_id) + check_response(llm_usd_value, coingecko_id, adapter, name, benchmark_value, price_error_tolerance) + elif benchmark_type == "mcap": + if adapter.has_get_marketcap(): + benchmark_value = adapter.get_marketcap(coingecko_id) + check_response(llm_usd_value, coingecko_id, adapter, name, benchmark_value, mcap_error_tolerance) + time.sleep(10) # must to be high for coingecko rate limits + print() +except Exception as e: + print(f"Unexpected error: {e}") + exit(1) \ No newline at end of file diff --git a/submodules/benchmarks/config.py b/submodules/benchmarks/config.py new file mode 100644 index 0000000..eb7a681 --- /dev/null +++ b/submodules/benchmarks/config.py @@ -0,0 +1,31 @@ +price_error_tolerance = 0.01 # 1% error tolerance +mcap_error_tolerance = 0.01 # 1% error tolerance + +coins = [ + { + "coingecko_id": "bitcoin", + "names": ["bitcoin", "Bit coin", "expected_to_fail"] + }, + { + "coingecko_id": "litecoin", + "names": ["litecoin", "ltc"] + }, + { + "coingecko_id": "xrp", + "names": ["ripple", "xrp"] + }, + { + "coingecko_id": "expected_to_fail", + "names": ["bitcoin"] + }, +] + +price_prompts = [ + "What is the price of {}?", + "How much does {} cost?", +] + +mcap_prompts = [ + "What is the market capitalization of {}?", + "Whats {}'s market cap?", +] diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py new file mode 100644 index 0000000..8daa63b --- /dev/null +++ b/submodules/benchmarks/helpers.py @@ -0,0 +1,62 @@ +import requests +import json +import re +from adapters.base_adapter import BaseAdapter +from config import price_error_tolerance, mcap_error_tolerance + +url = 'http://127.0.0.1:8080/data_agent/' + +headers = { + 'Accept': 'application/json, text/plain, */*', + 'Accept-Language': 'en-US,en;q=0.9', + 'Connection': 'keep-alive', + 'Content-Type': 'application/json', + 'Origin': 'http://localhost:3333', + 'Referer': 'http://localhost:3333/', + 'Sec-Fetch-Dest': 'empty', + 'Sec-Fetch-Mode': 'cors', + 'Sec-Fetch-Site': 'cross-site', + 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36', + 'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"', + 'sec-ch-ua-mobile': '?0', + 'sec-ch-ua-platform': '"macOS"', +} + +def ask_data_agent(prompt: str): + payload = { + "prompt": { + "role": "user", + "content": prompt + } + } + response = requests.post(url, headers=headers, data=json.dumps(payload)) + + result_content = response.json()['content'] + return result_content + +def extract_llm_usd_value(content: str): + match = re.search(r'\$\d+(?:,\d{3})*(?:\.\d{1,8})?', content) # 8 usd digits should be plenty + if match: + price_str = match.group(0).replace('$', '').replace(',', '') + return float(price_str) + return None + +def check_response(llm_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float): + if benchmark_value is None or llm_value is None: + result = f"{adapter.name} FAIL" + if benchmark_value is None and llm_value is None: + result_message = f"Failed to get benchmark and agent for {coin_id} and {name}" + elif benchmark_value is None: + result_message = f"Failed to get benchmark for {coin_id}" + elif llm_value is None: + result_message = f"Failed to get agent for {name}" + else: + difference = abs(llm_value - benchmark_value) + percent_difference = (difference / benchmark_value) * 100 + result_message = f"${llm_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" + if percent_difference <= error_tolerance * 100: + result = f"{adapter.name} PASS" + else: + result = f"{adapter.name} FAIL" + + print(f"{result} {result_message}") diff --git a/submodules/benchmarks/readme.md b/submodules/benchmarks/readme.md new file mode 100644 index 0000000..d5e2f70 --- /dev/null +++ b/submodules/benchmarks/readme.md @@ -0,0 +1,19 @@ +# Data Agent Benchmarking Tests + +## About + +-- Measures how accurately the data agent responds vs benchmark values from coinecko, defillama, coincap, etc. + +-Tests every combination of coins & prompts defined in `config.py` against each of the benchmark adapters. + +## Running + +## 1. Modify `config.py` with new prompts & coins (if needed) +## 2. Run `pip install -r requirements.txt` +## 2. Run `python benchmarks.py price` for price benchmarks or `python benchmarks.py mcap` for market cap + +## Considerations + +- The source of truth asset id is the coingecko id. Any new adapters will need some way of translating the coingecko id if they use something else. For example, the coincap doesn't use the same id format as coingecko and will need a translation layer (TODO). + +- Disabling coingecko adapter lets us reduce the `time.sleep()` in `benchmarks.py` and run much faster (rate limiting). diff --git a/submodules/benchmarks/requirements.txt b/submodules/benchmarks/requirements.txt new file mode 100644 index 0000000..663bd1f --- /dev/null +++ b/submodules/benchmarks/requirements.txt @@ -0,0 +1 @@ +requests \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/Dockerfile-apple b/submodules/moragents_dockers/agents/Dockerfile-apple index 5dc0620..ef7ee27 100644 --- a/submodules/moragents_dockers/agents/Dockerfile-apple +++ b/submodules/moragents_dockers/agents/Dockerfile-apple @@ -1,4 +1,4 @@ -FROM arm64v8/python:3.10-bullseye +FROM --platform=linux/arm64 python:3.10-bullseye # Set the working directory in the container WORKDIR /app diff --git a/submodules/moragents_dockers/agents/requirements.txt b/submodules/moragents_dockers/agents/requirements.txt index 08ee92b..927501f 100644 --- a/submodules/moragents_dockers/agents/requirements.txt +++ b/submodules/moragents_dockers/agents/requirements.txt @@ -6,6 +6,6 @@ scikit-learn huggingface-hub flask==2.2.2 Werkzeug==2.2.2 -gradio > /dev/null +gradio flask-cors web3 \ No newline at end of file From be66fc342af19d30e90f24998f9bc2809371bcca Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 16:40:08 -0600 Subject: [PATCH 05/37] dedupe check_response() calls --- submodules/benchmarks/benchmarks.py | 21 ++++++++++----------- submodules/benchmarks/helpers.py | 2 +- submodules/benchmarks/readme.md | 4 ++-- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/submodules/benchmarks/benchmarks.py b/submodules/benchmarks/benchmarks.py index c02d373..2ce1fd0 100644 --- a/submodules/benchmarks/benchmarks.py +++ b/submodules/benchmarks/benchmarks.py @@ -1,6 +1,6 @@ import time import argparse -from helpers import ask_data_llm, check_response, extract_llm_usd_value +from helpers import ask_data_llm, check_response, extract_agent_usd_value from config import coins, price_prompts, mcap_prompts, price_error_tolerance, mcap_error_tolerance from adapters.coingecko_adapter import CoingeckoAdapter from adapters.defillama_adapter import DefillamaAdapter @@ -34,17 +34,16 @@ for name in coin["names"]: llm_prompt = prompt.format(name) print(f"Checking {coingecko_id}: {llm_prompt}") - llm_response = ask_data_llm(prompt.format(name)) - llm_usd_value = extract_llm_usd_value(llm_response) + agent_response = ask_data_llm(prompt.format(name)) + agent_usd_value = extract_agent_usd_value(agent_response) for adapter in all_adapters: - if benchmark_type == "price": - if adapter.has_get_price(): - benchmark_value = adapter.get_price(coingecko_id) - check_response(llm_usd_value, coingecko_id, adapter, name, benchmark_value, price_error_tolerance) - elif benchmark_type == "mcap": - if adapter.has_get_marketcap(): - benchmark_value = adapter.get_marketcap(coingecko_id) - check_response(llm_usd_value, coingecko_id, adapter, name, benchmark_value, mcap_error_tolerance) + if benchmark_type == "price" and adapter.has_get_price(): + benchmark_value = adapter.get_price(coingecko_id) + error_tolerance = price_error_tolerance + elif benchmark_type == "mcap" and adapter.has_get_marketcap(): + benchmark_value = adapter.get_marketcap(coingecko_id) + error_tolerance = price_error_tolerance + check_response(agent_usd_value, coingecko_id, adapter, name, benchmark_value, error_tolerance) time.sleep(10) # must to be high for coingecko rate limits print() except Exception as e: diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py index 8daa63b..39ac3bf 100644 --- a/submodules/benchmarks/helpers.py +++ b/submodules/benchmarks/helpers.py @@ -34,7 +34,7 @@ def ask_data_agent(prompt: str): result_content = response.json()['content'] return result_content -def extract_llm_usd_value(content: str): +def extract_agent_usd_value(content: str): match = re.search(r'\$\d+(?:,\d{3})*(?:\.\d{1,8})?', content) # 8 usd digits should be plenty if match: price_str = match.group(0).replace('$', '').replace(',', '') diff --git a/submodules/benchmarks/readme.md b/submodules/benchmarks/readme.md index d5e2f70..2e407f2 100644 --- a/submodules/benchmarks/readme.md +++ b/submodules/benchmarks/readme.md @@ -2,9 +2,9 @@ ## About --- Measures how accurately the data agent responds vs benchmark values from coinecko, defillama, coincap, etc. +- Measures how accurately the data agent responds for price & market cap vs benchmark values from coinecko, defillama, coincap, etc. --Tests every combination of coins & prompts defined in `config.py` against each of the benchmark adapters. +- Tests every combination of coins & prompts defined in `config.py` against each of the benchmark adapters. ## Running From 4cb7ede2810223cf315afea691e9650340249138 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 16:46:21 -0600 Subject: [PATCH 06/37] better variable naming --- submodules/benchmarks/helpers.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py index 39ac3bf..6de8756 100644 --- a/submodules/benchmarks/helpers.py +++ b/submodules/benchmarks/helpers.py @@ -41,19 +41,19 @@ def extract_agent_usd_value(content: str): return float(price_str) return None -def check_response(llm_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float): - if benchmark_value is None or llm_value is None: +def check_response(agent_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float): + if benchmark_value is None or agent_value is None: result = f"{adapter.name} FAIL" - if benchmark_value is None and llm_value is None: + if benchmark_value is None and agent_value is None: result_message = f"Failed to get benchmark and agent for {coin_id} and {name}" elif benchmark_value is None: result_message = f"Failed to get benchmark for {coin_id}" - elif llm_value is None: + elif agent_value is None: result_message = f"Failed to get agent for {name}" else: - difference = abs(llm_value - benchmark_value) + difference = abs(agent_value - benchmark_value) percent_difference = (difference / benchmark_value) * 100 - result_message = f"${llm_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" + result_message = f"${agent_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" if percent_difference <= error_tolerance * 100: result = f"{adapter.name} PASS" else: From 700913ddd2ff67e56e04bff22f515eae351cdd27 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 17:39:08 -0600 Subject: [PATCH 07/37] more cleanup --- submodules/benchmarks/benchmarks.py | 39 +++++++++++++++++++++++------ submodules/benchmarks/config.py | 8 +++--- submodules/benchmarks/helpers.py | 21 ++++++++-------- submodules/benchmarks/readme.md | 14 ++++++++--- 4 files changed, 56 insertions(+), 26 deletions(-) diff --git a/submodules/benchmarks/benchmarks.py b/submodules/benchmarks/benchmarks.py index 2ce1fd0..ab4b824 100644 --- a/submodules/benchmarks/benchmarks.py +++ b/submodules/benchmarks/benchmarks.py @@ -1,6 +1,6 @@ import time import argparse -from helpers import ask_data_llm, check_response, extract_agent_usd_value +from helpers import ask_data_agent, compare_usd_values, extract_agent_usd_value from config import coins, price_prompts, mcap_prompts, price_error_tolerance, mcap_error_tolerance from adapters.coingecko_adapter import CoingeckoAdapter from adapters.defillama_adapter import DefillamaAdapter @@ -23,8 +23,13 @@ # Set prompts based on the specified type if benchmark_type == 'price': prompts = price_prompts + error_tolerance = price_error_tolerance elif benchmark_type == 'mcap': prompts = mcap_prompts + error_tolerance = mcap_error_tolerance + +total_checks = 0 +failures = [] try: print() @@ -34,18 +39,36 @@ for name in coin["names"]: llm_prompt = prompt.format(name) print(f"Checking {coingecko_id}: {llm_prompt}") - agent_response = ask_data_llm(prompt.format(name)) - agent_usd_value = extract_agent_usd_value(agent_response) + try: + agent_response = ask_data_agent(prompt.format(name)) + agent_usd_value = extract_agent_usd_value(agent_response) + except: + agent_usd_value = None for adapter in all_adapters: if benchmark_type == "price" and adapter.has_get_price(): - benchmark_value = adapter.get_price(coingecko_id) - error_tolerance = price_error_tolerance + try: + benchmark_value = adapter.get_price(coingecko_id) + except: + benchmark_value = None elif benchmark_type == "mcap" and adapter.has_get_marketcap(): - benchmark_value = adapter.get_marketcap(coingecko_id) - error_tolerance = price_error_tolerance - check_response(agent_usd_value, coingecko_id, adapter, name, benchmark_value, error_tolerance) + try: + benchmark_value = adapter.get_marketcap(coingecko_id) + except: + benchmark_value = None + result = compare_usd_values(agent_usd_value, coingecko_id, adapter, name, benchmark_value, error_tolerance, failures) + print(result) + total_checks += 1 time.sleep(10) # must to be high for coingecko rate limits print() + passed_checks = total_checks - len(failures) + print() + print(f"{passed_checks} / {total_checks} Benchmarks passed") + + if len(failures) > 0: + print("Failures:") + for failure in failures: + print(failure) + except Exception as e: print(f"Unexpected error: {e}") exit(1) \ No newline at end of file diff --git a/submodules/benchmarks/config.py b/submodules/benchmarks/config.py index eb7a681..95f9481 100644 --- a/submodules/benchmarks/config.py +++ b/submodules/benchmarks/config.py @@ -7,12 +7,12 @@ "names": ["bitcoin", "Bit coin", "expected_to_fail"] }, { - "coingecko_id": "litecoin", - "names": ["litecoin", "ltc"] + "coingecko_id": "ripple", + "names": ["xrp", "ripple"] }, { - "coingecko_id": "xrp", - "names": ["ripple", "xrp"] + "coingecko_id": "litecoin", + "names": ["litecoin", "ltc"] }, { "coingecko_id": "expected_to_fail", diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py index 6de8756..0b718b5 100644 --- a/submodules/benchmarks/helpers.py +++ b/submodules/benchmarks/helpers.py @@ -29,6 +29,7 @@ def ask_data_agent(prompt: str): "content": prompt } } + response = requests.post(url, headers=headers, data=json.dumps(payload)) result_content = response.json()['content'] @@ -41,22 +42,22 @@ def extract_agent_usd_value(content: str): return float(price_str) return None -def check_response(agent_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float): +def compare_usd_values(agent_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float, failures: list): if benchmark_value is None or agent_value is None: - result = f"{adapter.name} FAIL" if benchmark_value is None and agent_value is None: - result_message = f"Failed to get benchmark and agent for {coin_id} and {name}" + result_message = f"{adapter.name} FAIL. Failed to get benchmark and agent for {coin_id} and {name}" elif benchmark_value is None: - result_message = f"Failed to get benchmark for {coin_id}" + result_message = f"{adapter.name} FAIL. Failed to get benchmark for {coin_id}" elif agent_value is None: - result_message = f"Failed to get agent for {name}" + result_message = f"{adapter.name} FAIL. Failed to get agent for {name}" + failures.append(result_message) else: difference = abs(agent_value - benchmark_value) percent_difference = (difference / benchmark_value) * 100 - result_message = f"${agent_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" + result_value = f"${agent_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" if percent_difference <= error_tolerance * 100: - result = f"{adapter.name} PASS" + result_message = f"{adapter.name} PASS. {result_value}" else: - result = f"{adapter.name} FAIL" - - print(f"{result} {result_message}") + result_message = f"{adapter.name} FAIL. {result_value}" + failures.append(result_message) + return result_message diff --git a/submodules/benchmarks/readme.md b/submodules/benchmarks/readme.md index 2e407f2..17f7de1 100644 --- a/submodules/benchmarks/readme.md +++ b/submodules/benchmarks/readme.md @@ -4,14 +4,20 @@ - Measures how accurately the data agent responds for price & market cap vs benchmark values from coinecko, defillama, coincap, etc. -- Tests every combination of coins & prompts defined in `config.py` against each of the benchmark adapters. +- Generates agent prompts from values defined in `config.py` and validates them against each of the benchmark adapters. ## Running -## 1. Modify `config.py` with new prompts & coins (if needed) -## 2. Run `pip install -r requirements.txt` -## 2. Run `python benchmarks.py price` for price benchmarks or `python benchmarks.py mcap` for market cap +## 1. `cd submodules/benchmarks` +## 2. Modify `config.py` with new prompts, coins & error tolerances +## 3. Run `pip install -r requirements.txt` +## 4. Run `python benchmarks.py price` for price benchmarks +## 5. Run `python benchmarks.py mcap` for market cap benchmarks +cd submodules/benchmarks + +Run python benchmarks.py price for price benchmarks +Run python benchmarks.py mcap for market cap benchmarks ## Considerations - The source of truth asset id is the coingecko id. Any new adapters will need some way of translating the coingecko id if they use something else. For example, the coincap doesn't use the same id format as coingecko and will need a translation layer (TODO). From b5f59951cd953a547036a4d1d300c170f400d42b Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 17:46:45 -0600 Subject: [PATCH 08/37] better config naming --- submodules/benchmarks/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/benchmarks/config.py b/submodules/benchmarks/config.py index 95f9481..3adfdc2 100644 --- a/submodules/benchmarks/config.py +++ b/submodules/benchmarks/config.py @@ -4,7 +4,7 @@ coins = [ { "coingecko_id": "bitcoin", - "names": ["bitcoin", "Bit coin", "expected_to_fail"] + "names": ["bitcoin", "Bit coin", "btc_expected_to_fail"] }, { "coingecko_id": "ripple", @@ -15,7 +15,7 @@ "names": ["litecoin", "ltc"] }, { - "coingecko_id": "expected_to_fail", + "coingecko_id": "gecko_id_expected_to_fail", "names": ["bitcoin"] }, ] From 146be054b84b4c7f65f56cb2ed313511c2ad2644 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 18:00:52 -0600 Subject: [PATCH 09/37] remove text from readme --- submodules/benchmarks/adapters/coingecko_adapter.py | 1 + submodules/benchmarks/config.py | 8 ++++---- submodules/benchmarks/readme.md | 4 ---- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/submodules/benchmarks/adapters/coingecko_adapter.py b/submodules/benchmarks/adapters/coingecko_adapter.py index 23411ff..9d18197 100644 --- a/submodules/benchmarks/adapters/coingecko_adapter.py +++ b/submodules/benchmarks/adapters/coingecko_adapter.py @@ -17,6 +17,7 @@ def get_price(self, coingecko_id: str) -> float: def get_marketcap(self, coin_id: str) -> float: request_url = f"https://api.coingecko.com/api/v3/coins/{coin_id}" + print('about toget', request_url) response = requests.get(request_url) response.raise_for_status() data = response.json() diff --git a/submodules/benchmarks/config.py b/submodules/benchmarks/config.py index 3adfdc2..6500b76 100644 --- a/submodules/benchmarks/config.py +++ b/submodules/benchmarks/config.py @@ -6,14 +6,14 @@ "coingecko_id": "bitcoin", "names": ["bitcoin", "Bit coin", "btc_expected_to_fail"] }, - { - "coingecko_id": "ripple", - "names": ["xrp", "ripple"] - }, { "coingecko_id": "litecoin", "names": ["litecoin", "ltc"] }, + { + "coingecko_id": "ripple", + "names": ["ripple", "xrp"] + }, { "coingecko_id": "gecko_id_expected_to_fail", "names": ["bitcoin"] diff --git a/submodules/benchmarks/readme.md b/submodules/benchmarks/readme.md index 17f7de1..d983c31 100644 --- a/submodules/benchmarks/readme.md +++ b/submodules/benchmarks/readme.md @@ -14,10 +14,6 @@ ## 4. Run `python benchmarks.py price` for price benchmarks ## 5. Run `python benchmarks.py mcap` for market cap benchmarks -cd submodules/benchmarks - -Run python benchmarks.py price for price benchmarks -Run python benchmarks.py mcap for market cap benchmarks ## Considerations - The source of truth asset id is the coingecko id. Any new adapters will need some way of translating the coingecko id if they use something else. For example, the coincap doesn't use the same id format as coingecko and will need a translation layer (TODO). From c1d717f5e31b468e32bed4298b59ac929cfe39be Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 18:03:04 -0600 Subject: [PATCH 10/37] rm log --- submodules/benchmarks/adapters/coingecko_adapter.py | 1 - 1 file changed, 1 deletion(-) diff --git a/submodules/benchmarks/adapters/coingecko_adapter.py b/submodules/benchmarks/adapters/coingecko_adapter.py index 9d18197..23411ff 100644 --- a/submodules/benchmarks/adapters/coingecko_adapter.py +++ b/submodules/benchmarks/adapters/coingecko_adapter.py @@ -17,7 +17,6 @@ def get_price(self, coingecko_id: str) -> float: def get_marketcap(self, coin_id: str) -> float: request_url = f"https://api.coingecko.com/api/v3/coins/{coin_id}" - print('about toget', request_url) response = requests.get(request_url) response.raise_for_status() data = response.json() From 3bd59cad13b2579318f776ee4a0cfb7fd0f465e3 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 18:06:51 -0600 Subject: [PATCH 11/37] better formatting for pass fail message --- submodules/benchmarks/helpers.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py index 0b718b5..ae21678 100644 --- a/submodules/benchmarks/helpers.py +++ b/submodules/benchmarks/helpers.py @@ -45,19 +45,19 @@ def extract_agent_usd_value(content: str): def compare_usd_values(agent_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float, failures: list): if benchmark_value is None or agent_value is None: if benchmark_value is None and agent_value is None: - result_message = f"{adapter.name} FAIL. Failed to get benchmark and agent for {coin_id} and {name}" + result_message = f"FAIL {adapter.name}. Failed to get benchmark and agent for {coin_id} and {name}" elif benchmark_value is None: - result_message = f"{adapter.name} FAIL. Failed to get benchmark for {coin_id}" + result_message = f"FAIL {adapter.name}. Failed to get benchmark for {coin_id}" elif agent_value is None: - result_message = f"{adapter.name} FAIL. Failed to get agent for {name}" + result_message = f"FAIL {adapter.name}. Failed to get agent for {name}" failures.append(result_message) else: difference = abs(agent_value - benchmark_value) percent_difference = (difference / benchmark_value) * 100 result_value = f"${agent_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" if percent_difference <= error_tolerance * 100: - result_message = f"{adapter.name} PASS. {result_value}" + result_message = f"PASS {adapter.name}. {result_value}" else: - result_message = f"{adapter.name} FAIL. {result_value}" + result_message = f"FAIL {adapter.name}. {result_value}" failures.append(result_message) return result_message From c14e97f6b47c01b6e86eabd997e8f922223b91b1 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Tue, 9 Jul 2024 18:26:03 -0600 Subject: [PATCH 12/37] remove coincap adapter because its more work than we need for this initial pr --- .../benchmarks/adapters/coincap_adapter.py | 32 ------------------- submodules/benchmarks/benchmarks.py | 8 +---- submodules/benchmarks/readme.md | 4 +-- 3 files changed, 3 insertions(+), 41 deletions(-) delete mode 100644 submodules/benchmarks/adapters/coincap_adapter.py diff --git a/submodules/benchmarks/adapters/coincap_adapter.py b/submodules/benchmarks/adapters/coincap_adapter.py deleted file mode 100644 index d27af6b..0000000 --- a/submodules/benchmarks/adapters/coincap_adapter.py +++ /dev/null @@ -1,32 +0,0 @@ -import requests -from .base_adapter import BaseAdapter - -# TODO: this needs a coingecko_id -> coincap_id translation layer to be more accurate -# It mostly works as-is because coincap often shares the same identifier as coingecko -class CoincapAdapter(BaseAdapter): - - @property - def name(self) -> str: - return "Coincap" - - def get_price(self, coingecko_id: str) -> float: - request_url = f"https://api.coincap.io/v2/rates/{coingecko_id}" - response = requests.get(request_url) - response.raise_for_status() - data = response.json() - price = float(data['data']['rateUsd']) - return price - - def get_marketcap(self, coingecko_id: str) -> float: - request_url = f"https://api.coincap.io/v2/assets/{coingecko_id}" - response = requests.get(request_url) - response.raise_for_status() - data = response.json() - marketcap = float(data['data']['marketCapUsd']) - return marketcap - - def has_get_marketcap(self) -> bool: - return True - - def has_get_price(self) -> bool: - return True \ No newline at end of file diff --git a/submodules/benchmarks/benchmarks.py b/submodules/benchmarks/benchmarks.py index ab4b824..254a68b 100644 --- a/submodules/benchmarks/benchmarks.py +++ b/submodules/benchmarks/benchmarks.py @@ -4,23 +4,17 @@ from config import coins, price_prompts, mcap_prompts, price_error_tolerance, mcap_error_tolerance from adapters.coingecko_adapter import CoingeckoAdapter from adapters.defillama_adapter import DefillamaAdapter -from adapters.coincap_adapter import CoincapAdapter -# Define all adapters all_adapters = [ CoingeckoAdapter(), - DefillamaAdapter(), - CoincapAdapter() -] + DefillamaAdapter(),] -# Argument parsing parser = argparse.ArgumentParser(description="Specify the type of prompts to use (price or mcap).") parser.add_argument('type', choices=['price', 'mcap'], help="Type of prompts to use") args = parser.parse_args() benchmark_type = args.type -# Set prompts based on the specified type if benchmark_type == 'price': prompts = price_prompts error_tolerance = price_error_tolerance diff --git a/submodules/benchmarks/readme.md b/submodules/benchmarks/readme.md index d983c31..a0f05e9 100644 --- a/submodules/benchmarks/readme.md +++ b/submodules/benchmarks/readme.md @@ -2,7 +2,7 @@ ## About -- Measures how accurately the data agent responds for price & market cap vs benchmark values from coinecko, defillama, coincap, etc. +- Measures how accurately the data agent responds for price & market cap vs benchmark values from coinecko, defillama, etc. - Generates agent prompts from values defined in `config.py` and validates them against each of the benchmark adapters. @@ -16,6 +16,6 @@ ## Considerations -- The source of truth asset id is the coingecko id. Any new adapters will need some way of translating the coingecko id if they use something else. For example, the coincap doesn't use the same id format as coingecko and will need a translation layer (TODO). +- The source of truth asset id is the coingecko id. Any new adapters will need some way of translating the coingecko id if they use something else. For example, the defillama adapter "just works" because they use coingecko ids. - Disabling coingecko adapter lets us reduce the `time.sleep()` in `benchmarks.py` and run much faster (rate limiting). From 4a9e5f8610c70ab2e7859bc5289a01e19961aa57 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Wed, 10 Jul 2024 17:43:59 -0600 Subject: [PATCH 13/37] more cleanup and logic consolidation --- .../benchmarks/adapters/coingecko_adapter.py | 2 +- submodules/benchmarks/benchmarks.py | 41 +++++++++++-------- submodules/benchmarks/config.py | 5 ++- submodules/benchmarks/helpers.py | 24 ++++------- submodules/benchmarks/readme.md | 5 ++- 5 files changed, 37 insertions(+), 40 deletions(-) diff --git a/submodules/benchmarks/adapters/coingecko_adapter.py b/submodules/benchmarks/adapters/coingecko_adapter.py index 23411ff..9327118 100644 --- a/submodules/benchmarks/adapters/coingecko_adapter.py +++ b/submodules/benchmarks/adapters/coingecko_adapter.py @@ -27,4 +27,4 @@ def has_get_marketcap(self) -> bool: return True def has_get_price(self) -> bool: - return True \ No newline at end of file + return True diff --git a/submodules/benchmarks/benchmarks.py b/submodules/benchmarks/benchmarks.py index 254a68b..f600050 100644 --- a/submodules/benchmarks/benchmarks.py +++ b/submodules/benchmarks/benchmarks.py @@ -1,13 +1,14 @@ import time import argparse from helpers import ask_data_agent, compare_usd_values, extract_agent_usd_value -from config import coins, price_prompts, mcap_prompts, price_error_tolerance, mcap_error_tolerance +from config import coins, price_prompts, mcap_prompts, price_error_tolerance, mcap_error_tolerance, loop_delay from adapters.coingecko_adapter import CoingeckoAdapter from adapters.defillama_adapter import DefillamaAdapter all_adapters = [ - CoingeckoAdapter(), - DefillamaAdapter(),] + DefillamaAdapter(), + CoingeckoAdapter() +] parser = argparse.ArgumentParser(description="Specify the type of prompts to use (price or mcap).") parser.add_argument('type', choices=['price', 'mcap'], help="Type of prompts to use") @@ -31,29 +32,33 @@ for coin in coins: coingecko_id = coin["coingecko_id"] for name in coin["names"]: - llm_prompt = prompt.format(name) - print(f"Checking {coingecko_id}: {llm_prompt}") + agent_prompt = prompt.format(name) + print(f"{agent_prompt}") try: agent_response = ask_data_agent(prompt.format(name)) + time.sleep(loop_delay) # the agent gets rate limitted by coingecko if we call it too fast agent_usd_value = extract_agent_usd_value(agent_response) except: - agent_usd_value = None + result = f"FAIL DataAgent: {agent_prompt}" + print(result) + total_checks += 1 + failures.append(result) + continue + for adapter in all_adapters: - if benchmark_type == "price" and adapter.has_get_price(): - try: + try: + if benchmark_type == "price" and adapter.has_get_price(): benchmark_value = adapter.get_price(coingecko_id) - except: - benchmark_value = None - elif benchmark_type == "mcap" and adapter.has_get_marketcap(): - try: + elif benchmark_type == "mcap" and adapter.has_get_marketcap(): benchmark_value = adapter.get_marketcap(coingecko_id) - except: - benchmark_value = None - result = compare_usd_values(agent_usd_value, coingecko_id, adapter, name, benchmark_value, error_tolerance, failures) + result = compare_usd_values(agent_usd_value, coingecko_id, adapter, name, benchmark_value, error_tolerance, failures) + except: + result = f"FAIL {adapter.name}: {coingecko_id}" + failures.append(result) + print(result) total_checks += 1 - time.sleep(10) # must to be high for coingecko rate limits - print() + passed_checks = total_checks - len(failures) print() print(f"{passed_checks} / {total_checks} Benchmarks passed") @@ -65,4 +70,4 @@ except Exception as e: print(f"Unexpected error: {e}") - exit(1) \ No newline at end of file + exit(1) diff --git a/submodules/benchmarks/config.py b/submodules/benchmarks/config.py index 6500b76..3c4a10c 100644 --- a/submodules/benchmarks/config.py +++ b/submodules/benchmarks/config.py @@ -1,6 +1,7 @@ -price_error_tolerance = 0.01 # 1% error tolerance -mcap_error_tolerance = 0.01 # 1% error tolerance +loop_delay = 10 # prevent rate limiting +price_error_tolerance = 0.01 # 1% +mcap_error_tolerance = 0.01 # 1% coins = [ { "coingecko_id": "bitcoin", diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py index ae21678..cee8f06 100644 --- a/submodules/benchmarks/helpers.py +++ b/submodules/benchmarks/helpers.py @@ -2,7 +2,6 @@ import json import re from adapters.base_adapter import BaseAdapter -from config import price_error_tolerance, mcap_error_tolerance url = 'http://127.0.0.1:8080/data_agent/' @@ -43,21 +42,12 @@ def extract_agent_usd_value(content: str): return None def compare_usd_values(agent_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float, failures: list): - if benchmark_value is None or agent_value is None: - if benchmark_value is None and agent_value is None: - result_message = f"FAIL {adapter.name}. Failed to get benchmark and agent for {coin_id} and {name}" - elif benchmark_value is None: - result_message = f"FAIL {adapter.name}. Failed to get benchmark for {coin_id}" - elif agent_value is None: - result_message = f"FAIL {adapter.name}. Failed to get agent for {name}" - failures.append(result_message) + difference = abs(agent_value - benchmark_value) + percent_difference = (difference / benchmark_value) * 100 + result_value = f"${agent_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" + if percent_difference <= error_tolerance * 100: + result_message = f"PASS {adapter.name}. {result_value}" else: - difference = abs(agent_value - benchmark_value) - percent_difference = (difference / benchmark_value) * 100 - result_value = f"${agent_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" - if percent_difference <= error_tolerance * 100: - result_message = f"PASS {adapter.name}. {result_value}" - else: - result_message = f"FAIL {adapter.name}. {result_value}" - failures.append(result_message) + result_message = f"FAIL {adapter.name}. {result_value}" + failures.append(result_message) return result_message diff --git a/submodules/benchmarks/readme.md b/submodules/benchmarks/readme.md index a0f05e9..eef0967 100644 --- a/submodules/benchmarks/readme.md +++ b/submodules/benchmarks/readme.md @@ -8,8 +8,9 @@ ## Running -## 1. `cd submodules/benchmarks` -## 2. Modify `config.py` with new prompts, coins & error tolerances +## 0. Start [ DataAgent Docker Service](../moragents_dockers/agents/src/data_agent/README.md) +## 1. Modify `config.py` with new prompts, coins & error tolerances +## 2. `cd submodules/benchmarks` ## 3. Run `pip install -r requirements.txt` ## 4. Run `python benchmarks.py price` for price benchmarks ## 5. Run `python benchmarks.py mcap` for market cap benchmarks From 126c5892259f59ea40b168be2c1c9453a1d58e23 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Thu, 11 Jul 2024 09:26:12 -0600 Subject: [PATCH 14/37] cleanup formatting and variable names --- submodules/benchmarks/benchmarks.py | 12 ++++++++---- submodules/benchmarks/config.py | 8 ++++---- submodules/benchmarks/helpers.py | 7 ++++--- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/submodules/benchmarks/benchmarks.py b/submodules/benchmarks/benchmarks.py index f600050..b034645 100644 --- a/submodules/benchmarks/benchmarks.py +++ b/submodules/benchmarks/benchmarks.py @@ -31,16 +31,18 @@ for prompt in prompts: for coin in coins: coingecko_id = coin["coingecko_id"] - for name in coin["names"]: - agent_prompt = prompt.format(name) + for name_variation in coin["name_variations"]: + agent_prompt = prompt.format(name_variation) print(f"{agent_prompt}") try: - agent_response = ask_data_agent(prompt.format(name)) + agent_response = ask_data_agent(prompt.format(name_variation)) time.sleep(loop_delay) # the agent gets rate limitted by coingecko if we call it too fast agent_usd_value = extract_agent_usd_value(agent_response) + print(f"{agent_usd_value}") except: result = f"FAIL DataAgent: {agent_prompt}" print(result) + print() total_checks += 1 failures.append(result) continue @@ -51,14 +53,16 @@ benchmark_value = adapter.get_price(coingecko_id) elif benchmark_type == "mcap" and adapter.has_get_marketcap(): benchmark_value = adapter.get_marketcap(coingecko_id) - result = compare_usd_values(agent_usd_value, coingecko_id, adapter, name, benchmark_value, error_tolerance, failures) + result = compare_usd_values(agent_usd_value, adapter, coingecko_id, name_variation, benchmark_value, error_tolerance, failures) except: result = f"FAIL {adapter.name}: {coingecko_id}" failures.append(result) print(result) total_checks += 1 + print() + # Summarize Results passed_checks = total_checks - len(failures) print() print(f"{passed_checks} / {total_checks} Benchmarks passed") diff --git a/submodules/benchmarks/config.py b/submodules/benchmarks/config.py index 3c4a10c..57d94bc 100644 --- a/submodules/benchmarks/config.py +++ b/submodules/benchmarks/config.py @@ -5,19 +5,19 @@ coins = [ { "coingecko_id": "bitcoin", - "names": ["bitcoin", "Bit coin", "btc_expected_to_fail"] + "name_variations": ["bitcoin", "Bit coin", "btc_expected_to_fail"] }, { "coingecko_id": "litecoin", - "names": ["litecoin", "ltc"] + "name_variations": ["litecoin", "ltc"] }, { "coingecko_id": "ripple", - "names": ["ripple", "xrp"] + "name_variations": ["ripple", "xrp"] }, { "coingecko_id": "gecko_id_expected_to_fail", - "names": ["bitcoin"] + "name_variations": ["bitcoin"] }, ] diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py index cee8f06..4af8622 100644 --- a/submodules/benchmarks/helpers.py +++ b/submodules/benchmarks/helpers.py @@ -39,15 +39,16 @@ def extract_agent_usd_value(content: str): if match: price_str = match.group(0).replace('$', '').replace(',', '') return float(price_str) - return None + raise ValueError("Could not extract a price from the agent response") -def compare_usd_values(agent_value: float, coin_id: str, adapter: BaseAdapter, name: str, benchmark_value: float, error_tolerance: float, failures: list): +def compare_usd_values(agent_value: float, adapter: BaseAdapter, coingecko_id, name_variation: str, benchmark_value: float, error_tolerance: float, failures: list): difference = abs(agent_value - benchmark_value) percent_difference = (difference / benchmark_value) * 100 - result_value = f"${agent_value:.8f} / ${benchmark_value:.8f}, {percent_difference:.2f}% off" + result_value = f"${benchmark_value:.8f}, {percent_difference:.2f}% off" if percent_difference <= error_tolerance * 100: result_message = f"PASS {adapter.name}. {result_value}" else: result_message = f"FAIL {adapter.name}. {result_value}" + failure_message = f"FAIL {adapter.name}. {result_value}. {coingecko_id}. {name_variation}" # so we have more information to summarize failures at the end failures.append(result_message) return result_message From 73444bb4dbcb58b99210c06ce358bc8b97135333 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Thu, 11 Jul 2024 09:58:52 -0600 Subject: [PATCH 15/37] add config values --- submodules/benchmarks/config.py | 254 +++++++++++++++++++++++++++++++- 1 file changed, 246 insertions(+), 8 deletions(-) diff --git a/submodules/benchmarks/config.py b/submodules/benchmarks/config.py index 57d94bc..34a764e 100644 --- a/submodules/benchmarks/config.py +++ b/submodules/benchmarks/config.py @@ -2,31 +2,269 @@ price_error_tolerance = 0.01 # 1% mcap_error_tolerance = 0.01 # 1% + coins = [ { "coingecko_id": "bitcoin", - "name_variations": ["bitcoin", "Bit coin", "btc_expected_to_fail"] + "name_variations": ["Bitcoin", "Bitcoins", "BITcoin", "BTC"] }, { - "coingecko_id": "litecoin", - "name_variations": ["litecoin", "ltc"] + "coingecko_id": "ethereum", + "name_variations": ["Ether", "Ethereum", "Ethers", "ETH"] + }, + { + "coingecko_id": "tether", + "name_variations": ["Tether", "USDT", "USDTether", "TetherUSD"] + }, + { + "coingecko_id": "binancecoin", + "name_variations": ["BNB", "Binance Smart Chain", "Binancecoin", "Binance coin"] + }, + { + "coingecko_id": "solana", + "name_variations": ["Solana", "SOL", "Solanacoin"] + }, + { + "coingecko_id": "usd-coin", + "name_variations": ["USDC", "USDCoin", "USD coin", "CUSD"] + }, + { + "coingecko_id": "staked-ether", + "name_variations": ["Lido Staked Ether", "Lido Ether", "Lido Eth", "Staked Ether"] }, { "coingecko_id": "ripple", - "name_variations": ["ripple", "xrp"] + "name_variations": ["XRP", "Ripple", "XRPcoin", "XRP coin"] + }, + { + "coingecko_id": "the-open-network", + "name_variations": ["Toncoin", "TON", "the open network", "open network coin"] + }, + { + "coingecko_id": "dogecoin", + "name_variations": ["Dogecoin", "DOGE", "dogcoin", "doge coin"] + }, + { + "coingecko_id": "cardano", + "name_variations": ["Cardano", "ADA", "cardano coin"] + }, + { + "coingecko_id": "tron", + "name_variations": ["Tron", "TRX", "troncoin", "trxcoin"] + }, + { + "coingecko_id": "avalanche-2", + "name_variations": ["Avalanche", "AVAX", "Avalancecoin", "Avaxcoin"] + }, + { + "coingecko_id": "shiba-inu", + "name_variations": ["Shiba Inu", "Shiba", "SHIB", "shibacoin", "Shiba inu coin"] + }, + { + "coingecko_id": "wrapped-bitcoin", + "name_variations": ["Wrapped Bitcoin", "WBTC", "wrapped btc", "wrapped BITcoin"] + }, + { + "coingecko_id": "polkadot", + "name_variations": ["Polkadot", "DOT", "polkadotcoin", "polka dot coin", "polka coin"] + }, + { + "coingecko_id": "chainlink", + "name_variations": ["Chainlink", "LINK", "Chainlinkcoin", "Linkcoin"] + }, + { + "coingecko_id": "bitcoin-cash", + "name_variations": ["Bitcoin Cash", "BCH", "BTC cash", "BCHcoin"] + }, + { + "coingecko_id": "uniswap", + "name_variations": ["Uniswap", "UNI", "Unicoin", "Uniswap coin"] + }, + { + "coingecko_id": "leo-token", + "name_variations": ["LEO token", "LEO", "leotoken", "leocoin"] }, { - "coingecko_id": "gecko_id_expected_to_fail", - "name_variations": ["bitcoin"] + "coingecko_id": "dai", + "name_variations": ["Dai", "Daicoin", "DaiUSD"] }, + { + "coingecko_id": "near", + "name_variations": ["Near Protocol", "NEAR", "Nearcoin"] + }, + { + "coingecko_id": "litecoin", + "name_variations": ["Litecoin", "LTC", "LTCcoin", "lightcoin"] + }, + { + "coingecko_id": "matic-network", + "name_variations": ["Polygon", "Matic", "MATIC", "Polygoncoin", "Maticcoin"] + }, + { + "coingecko_id": "wrapped-eeth", + "name_variations": ["Wrapped eETH", "eETH", "WEETH", "eETHcoin", "WEETHcoin"] + }, + { + "coingecko_id": "kaspa", + "name_variations": ["Kaspa", "KAS", "Kaspacoin", "Kascoin"] + }, + { + "coingecko_id": "pepe", + "name_variations": ["Pepe", "Pepecoin"] + }, + { + "coingecko_id": "ethena-usde", + "name_variations": ["Ethena", "USDE", "Ethena USD", "Ethenacoin", "USDEcoin"] + }, + { + "coingecko_id": "internet-computer", + "name_variations": ["Internet Computer", "ICP", "ICPcoin", "InternetComputercoin"] + }, + { + "coingecko_id": "renzo-restaked-eth", + "name_variations": ["Renzo Restaked ETH", "Renzo Restaked Ethereum", "Renzocoin", "RenzoEth"] + }, + { + "coingecko_id": "ethereum-classic", + "name_variations": ["Ethereum Classic", "Ether Classic", "ETH Classic", "ETC"] + }, + { + "coingecko_id": "fetch-ai", + "name_variations": [ + "Artificial Superintelligence Alliance", "FET", "FETcoin", "Fetch", + "Ocean Protocol", "Oceancoin", "Singularity", "Singularitycoin" + ] + }, + { + "coingecko_id": "monero", + "name_variations": ["Monero", "XMR", "Monerocoin", "XMRcoin"] + }, + { + "coingecko_id": "aptos", + "name_variations": ["Aptos", "APT", "Aptoscoin", "APTcoin"] + }, + { + "coingecko_id": "render-token", + "name_variations": ["Render", "RNDR", "Rendercoin", "RNDRcoin", "Render token"] + }, + { + "coingecko_id": "stellar", + "name_variations": ["Stellar", "XLM", "Stellarcoin", "XLMcoin"] + }, + { + "coingecko_id": "hedera-hashgraph", + "name_variations": ["Hedera", "HBAR", "Hederacoin", "HBARcoin", "Hashgraph"] + }, + { + "coingecko_id": "cosmos", + "name_variations": ["Cosmos", "Cosmoshub", "ATOM", "Cosmoscoin", "ATOMCoin"] + }, + { + "coingecko_id": "arbitrum", + "name_variations": ["Arbitrum", "ARB", "Arbitrumcoin", "ARBCoin"] + }, + { + "coingecko_id": "crypto-com-chain", + "name_variations": ["Cronos", "CRO", "Cronoscoin", "CROCoin", "Crypto.com"] + }, + { + "coingecko_id": "mantle", + "name_variations": ["Mantle", "MNT", "Mantlecoin", "MNTCoin"] + }, + { + "coingecko_id": "blockstack", + "name_variations": ["Stacks", "STX", "Stackscoin", "STXCoin", "Blockstack"] + }, + { + "coingecko_id": "filecoin", + "name_variations": ["Filecoin", "FIL", "FILCoin", "File coin"] + }, + { + "coingecko_id": "okb", + "name_variations": ["OKB", "OKBCoin"] + }, + { + "coingecko_id": "maker", + "name_variations": ["Maker", "MKR", "MakerDAO", "Makercoin", "MRKCoin"] + }, + { + "coingecko_id": "vechain", + "name_variations": ["VeChain", "VET", "VeChaincoin", "VETCoin"] + }, + { + "coingecko_id": "injective-protocol", + "name_variations": ["Injective", "INJ", "Injectivecoin", "INJCoin", "Injective Protocol"] + }, + { + "coingecko_id": "immutable-x", + "name_variations": ["Immutable", "IMX", "Immutablecoin", "IMXCoin", "ImmutableX"] + }, + { + "coingecko_id": "first-digital-usd", + "name_variations": ["First Digital USD", "FDUSD", "FirstDigitalUSD", "FDUSDCoin"] + }, + { + "coingecko_id": "optimism", + "name_variations": ["Optimism", "OP", "Optimismcoin", "OPCoin"] + }, + { + "coingecko_id": "morpheusai", + "name_variations": ["Morpheus", "MorpheusAI", "MOR", "MORCoin"] + }, + { + "coingecko_id": "aave", + "name_variations": ["Aave", "Aavecoin"] + }, + { + "coingecko_id": "aavegotchi", + "name_variations": ["Aavegotchi", "Ghost", "Aavegotchicoin", "Ghostcoin", "GHST"] + }, + { + "coingecko_id": "thorchain", + "name_variations": ["Thor", "THORChain", "RUNE", "Thorcoin", "Runecoin"] + }, + { + "coingecko_id": "ethereum-name-service", + "name_variations": ["Ethereum Name Service", "ENS", "ENScoin"] + }, + { + "coingecko_id": "axie-infinity", + "name_variations": ["Axie Infinity", "AXS", "Axiecoin", "Axscoin"] + }, + { + "coingecko_id": "zombiecoin", + "name_variations": ["ZombieCoin", "Zombie", "ZMBCoin"] + }, + { + "coingecko_id": "elon-xmas", + "name_variations": ["Elon Xmas", "XMAS", "ElonXmascoin", "XMASCoin"] + }, + { + "coingecko_id": "neblio", + "name_variations": ["Neblio", "NEBL", "Nebliocoin", "NEBLCoin"] + }, + { + "coingecko_id": "shapeshift-fox-token", + "name_variations": ["ShapeShift FOX", "ShapeShift", "ShapeShiftCoin", "FOXCoin", "FOXToken"] + } ] price_prompts = [ "What is the price of {}?", - "How much does {} cost?", + "How much is one {} worth?", + "How much does one {} cost?", ] mcap_prompts = [ + "What is the market cap of {}?", + "What is the total market cap of {}?", + "What is the marketcap of {}?", "What is the market capitalization of {}?", - "Whats {}'s market cap?", + "What is the value of all {}s?", ] + +# This is unused at the moment +tvl_prompts = [ + "What is the TVL of {}?", + "How much value is locked in {}?", +] \ No newline at end of file From e00ae75097bfb06402153a047feb2a2ad1d42fc8 Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Thu, 11 Jul 2024 10:27:36 -0600 Subject: [PATCH 16/37] market cap benchmark fixes --- submodules/benchmarks/benchmarks.py | 12 +++++++++--- submodules/benchmarks/helpers.py | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/submodules/benchmarks/benchmarks.py b/submodules/benchmarks/benchmarks.py index b034645..d239015 100644 --- a/submodules/benchmarks/benchmarks.py +++ b/submodules/benchmarks/benchmarks.py @@ -22,10 +22,13 @@ elif benchmark_type == 'mcap': prompts = mcap_prompts error_tolerance = mcap_error_tolerance +else: + raise ValueError("Invalid benchmark type") total_checks = 0 failures = [] +print('benchmark type', benchmark_type) try: print() for prompt in prompts: @@ -36,9 +39,9 @@ print(f"{agent_prompt}") try: agent_response = ask_data_agent(prompt.format(name_variation)) - time.sleep(loop_delay) # the agent gets rate limitted by coingecko if we call it too fast agent_usd_value = extract_agent_usd_value(agent_response) print(f"{agent_usd_value}") + time.sleep(loop_delay) # the agent gets rate limitted by coingecko if we call it too fast except: result = f"FAIL DataAgent: {agent_prompt}" print(result) @@ -48,14 +51,17 @@ continue for adapter in all_adapters: + print(f"Checking {adapter.name}...") try: if benchmark_type == "price" and adapter.has_get_price(): benchmark_value = adapter.get_price(coingecko_id) elif benchmark_type == "mcap" and adapter.has_get_marketcap(): benchmark_value = adapter.get_marketcap(coingecko_id) + else: + continue result = compare_usd_values(agent_usd_value, adapter, coingecko_id, name_variation, benchmark_value, error_tolerance, failures) - except: - result = f"FAIL {adapter.name}: {coingecko_id}" + except Exception as e: + result = f"FAIL {adapter.name}: {coingecko_id} ({e})" failures.append(result) print(result) diff --git a/submodules/benchmarks/helpers.py b/submodules/benchmarks/helpers.py index 4af8622..e50c767 100644 --- a/submodules/benchmarks/helpers.py +++ b/submodules/benchmarks/helpers.py @@ -41,7 +41,7 @@ def extract_agent_usd_value(content: str): return float(price_str) raise ValueError("Could not extract a price from the agent response") -def compare_usd_values(agent_value: float, adapter: BaseAdapter, coingecko_id, name_variation: str, benchmark_value: float, error_tolerance: float, failures: list): +def compare_usd_values(agent_value: float, adapter: BaseAdapter, coingecko_id: str, name_variation: str, benchmark_value: float, error_tolerance: float, failures: list): difference = abs(agent_value - benchmark_value) percent_difference = (difference / benchmark_value) * 100 result_value = f"${benchmark_value:.8f}, {percent_difference:.2f}% off" From 260e45ba1c5a5921c89d6b7a8f309d454f18a30c Mon Sep 17 00:00:00 2001 From: Sean Luther Date: Mon, 15 Jul 2024 10:35:48 -0600 Subject: [PATCH 17/37] pass on has_get_marketcap and has_get_price in base adapter --- submodules/benchmarks/adapters/base_adapter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/submodules/benchmarks/adapters/base_adapter.py b/submodules/benchmarks/adapters/base_adapter.py index ca87278..323f1be 100644 --- a/submodules/benchmarks/adapters/base_adapter.py +++ b/submodules/benchmarks/adapters/base_adapter.py @@ -15,7 +15,7 @@ def get_marketcap(self, coin_id: str) -> float: pass def has_get_marketcap(self) -> bool: - return hasattr(self, 'get_marketcap') and callable(getattr(self, 'get_marketcap')) + pass def has_get_price(self) -> bool: - return hasattr(self, 'get_price') and callable(getattr(self, 'get_price')) + pass From 2d9ae150fec24f29d4efb5c35326c8899c023ed3 Mon Sep 17 00:00:00 2001 From: LachsBagel <149974355+LachsBagel@users.noreply.github.com> Date: Mon, 15 Jul 2024 18:49:29 -0500 Subject: [PATCH 18/37] add tags --- submodules/moragents_dockers/docker-compose-apple.yml | 2 ++ submodules/moragents_dockers/docker-compose.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/submodules/moragents_dockers/docker-compose-apple.yml b/submodules/moragents_dockers/docker-compose-apple.yml index 5c62997..8cc8dbc 100644 --- a/submodules/moragents_dockers/docker-compose-apple.yml +++ b/submodules/moragents_dockers/docker-compose-apple.yml @@ -2,6 +2,7 @@ version: '3.8' services: agents: + image: lachsbagel/moragents_dockers-agents:apple-0.0.9 build: dockerfile: Dockerfile-apple context: ./agents @@ -17,6 +18,7 @@ services: - BASE_URL=http://host.docker.internal:11434 nginx: + image: lachsbagel/moragents_dockers-nginx:apple-0.0.9 build: context: ./frontend dockerfile: Dockerfile diff --git a/submodules/moragents_dockers/docker-compose.yml b/submodules/moragents_dockers/docker-compose.yml index a395dca..0d875eb 100644 --- a/submodules/moragents_dockers/docker-compose.yml +++ b/submodules/moragents_dockers/docker-compose.yml @@ -2,6 +2,7 @@ version: '3.8' services: agents: + image: lachsbagel/moragents_dockers-agents:amd64-0.0.9 build: dockerfile: Dockerfile context: ./agents @@ -17,6 +18,7 @@ services: - BASE_URL=http://host.docker.internal:11434 nginx: + image: lachsbagel/moragents_dockers-nginx:amd64-0.0.9 build: context: ./frontend dockerfile: Dockerfile From 350392b228fc355f983b1f28ad50329fb12e2366 Mon Sep 17 00:00:00 2001 From: Clifford Attractor Date: Tue, 16 Jul 2024 18:15:52 +0100 Subject: [PATCH 19/37] Fix issues with PR #34 --- .../moragents_dockers/agents/Dockerfile-apple | 2 +- .../moragents_dockers/agents/requirements.txt | 6 +---- .../agents/src/data_agent/src/agent.py | 6 ++--- .../agents/src/data_agent/src/config.py | 27 +++++++++++++++++++ .../agents/src/data_agent/src/tools.py | 2 +- .../agents/src/swap_agent/src/agent.py | 5 ++-- .../agents/src/swap_agent/src/config.py | 25 +++++++++++++++++ .../agents/src/swap_agent/src/tools.py | 2 +- 8 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 submodules/moragents_dockers/agents/src/data_agent/src/config.py create mode 100644 submodules/moragents_dockers/agents/src/swap_agent/src/config.py diff --git a/submodules/moragents_dockers/agents/Dockerfile-apple b/submodules/moragents_dockers/agents/Dockerfile-apple index ef7ee27..5dc0620 100644 --- a/submodules/moragents_dockers/agents/Dockerfile-apple +++ b/submodules/moragents_dockers/agents/Dockerfile-apple @@ -1,4 +1,4 @@ -FROM --platform=linux/arm64 python:3.10-bullseye +FROM arm64v8/python:3.10-bullseye # Set the working directory in the container WORKDIR /app diff --git a/submodules/moragents_dockers/agents/requirements.txt b/submodules/moragents_dockers/agents/requirements.txt index 61cbd80..4d78596 100644 --- a/submodules/moragents_dockers/agents/requirements.txt +++ b/submodules/moragents_dockers/agents/requirements.txt @@ -6,14 +6,10 @@ scikit-learn huggingface-hub flask==2.2.2 Werkzeug==2.2.2 -gradio flask-cors web3 -pytest -pytest-flask -pytest-mock pymupdf==1.22.5 faiss-cpu langchain-text-splitters langchain-core -langchain-community +langchain-community \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/src/data_agent/src/agent.py b/submodules/moragents_dockers/agents/src/data_agent/src/agent.py index 81c20f1..acf79df 100644 --- a/submodules/moragents_dockers/agents/src/data_agent/src/agent.py +++ b/submodules/moragents_dockers/agents/src/data_agent/src/agent.py @@ -3,8 +3,8 @@ from flask import Flask, request, jsonify from flask_cors import CORS import requests -import tools -from data_agent_config import Config +from data_agent.src import tools +from config import Config import json @@ -53,7 +53,7 @@ def chat(request,llm): if 'prompt' in data: prompt = data['prompt'] response,role = generate_response(prompt,llm) - return jsonify({"role":role,"content":response}), 200 + return jsonify({"role":role,"content":response}) else: return jsonify({"error": "Missing required parameters"}), 400 diff --git a/submodules/moragents_dockers/agents/src/data_agent/src/config.py b/submodules/moragents_dockers/agents/src/data_agent/src/config.py new file mode 100644 index 0000000..0c916ec --- /dev/null +++ b/submodules/moragents_dockers/agents/src/data_agent/src/config.py @@ -0,0 +1,27 @@ +import logging + +# Logging configuration +logging.basicConfig(level=logging.INFO) + +# Configuration object +class Config: + # Model configuration + MODEL_NAME = "meetkai/functionary-small-v2.4-GGUF" + MODEL_REVISION = "functionary-small-v2.4.Q4_0.gguf" + MODEL_PATH = "model/"+MODEL_REVISION + DOWNLOAD_DIR = "model" + # API endpoints + COINGECKO_BASE_URL = "https://api.coingecko.com/api/v3" + DEFILLAMA_BASE_URL = "https://api.llama.fi" + PRICE_SUCCESS_MESSAGE = "The price of {coin_name} is ${price:,}" + PRICE_FAILURE_MESSAGE = "Failed to retrieve price. Please enter a valid coin name." + FLOOR_PRICE_SUCCESS_MESSAGE = "The floor price of {nft_name} is ${floor_price:,}" + FLOOR_PRICE_FAILURE_MESSAGE = "Failed to retrieve floor price. Please enter a valid NFT name." + TVL_SUCCESS_MESSAGE = "The TVL of {protocol_name} is ${tvl:,}" + TVL_FAILURE_MESSAGE = "Failed to retrieve TVL. Please enter a valid protocol name." + FDV_SUCCESS_MESSAGE = "The fully diluted valuation of {coin_name} is ${fdv:,}" + FDV_FAILURE_MESSAGE = "Failed to retrieve FDV. Please enter a valid coin name." + MARKET_CAP_SUCCESS_MESSAGE = "The market cap of {coin_name} is ${market_cap:,}" + MARKET_CAP_FAILURE_MESSAGE = "Failed to retrieve market cap. Please enter a valid coin name." + API_ERROR_MESSAGE = "I can't seem to access the API at the moment." + \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/src/data_agent/src/tools.py b/submodules/moragents_dockers/agents/src/data_agent/src/tools.py index 8c3f3cd..d3fcf77 100644 --- a/submodules/moragents_dockers/agents/src/data_agent/src/tools.py +++ b/submodules/moragents_dockers/agents/src/data_agent/src/tools.py @@ -1,6 +1,6 @@ import requests import logging -from data_agent_config import Config +from config import Config import time from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity diff --git a/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py b/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py index 0e5447c..90f861a 100644 --- a/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py +++ b/submodules/moragents_dockers/agents/src/swap_agent/src/agent.py @@ -2,8 +2,9 @@ from llama_cpp import Llama from llama_cpp.llama_tokenizer import LlamaHFTokenizer import requests -from . import tools -from swap_agent_config import Config +from swap_agent.src import tools +from swap_agent.src.tools import InsufficientFundsError, TokenNotFoundError, SwapNotPossibleError +from config import Config import json diff --git a/submodules/moragents_dockers/agents/src/swap_agent/src/config.py b/submodules/moragents_dockers/agents/src/swap_agent/src/config.py new file mode 100644 index 0000000..b91a88f --- /dev/null +++ b/submodules/moragents_dockers/agents/src/swap_agent/src/config.py @@ -0,0 +1,25 @@ +import logging + +# Logging configuration +logging.basicConfig(level=logging.INFO) + +# Configuration object +class Config: + # Model configuration + MODEL_NAME = "meetkai/functionary-small-v2.4-GGUF" + MODEL_REVISION = "functionary-small-v2.4.Q4_0.gguf" + MODEL_PATH = "model/"+MODEL_REVISION + DOWNLOAD_DIR = "model" + # API endpoints + INCH_URL = "https://api.1inch.dev/token" + QUOTE_URL = "https://api.1inch.dev/swap" + APIBASEURL = f"https://api.1inch.dev/swap/v6.0/" + HEADERS = { "Authorization": "Bearer WvQuxaMYpPvDiiOL5RHWUm7OzOd20nt4", "accept": "application/json" } + WEB3RPCURL = {"56":"https://bsc-dataseed.binance.org","42161":"https://arb1.arbitrum.io/rpc","137":"https://polygon-rpc.com","1":"https://cloudflare-eth.com","10":"https://mainnet.optimism.io","8453":"https://mainnet.base.org"} + NATIVE_TOKENS={"137":"MATIC","56":"BNB","1":"ETH","42161":"ETH","10":"ETH","8453":"ETH"} + ERC20_ABI = [ + {"constant": True, "inputs": [], "name": "decimals", "outputs": [{"name": "", "type": "uint8"}], "payable": False, "stateMutability": "view", "type": "function"}, + {"constant": True, "inputs": [{"name": "_owner", "type": "address"}], "name": "balanceOf", "outputs": [{"name": "balance", "type": "uint256"}], "payable": False, "stateMutability": "view", "type": "function"} + ] + INCH_NATIVE_TOKEN_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE" + \ No newline at end of file diff --git a/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py b/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py index 7dab05b..516f026 100644 --- a/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py +++ b/submodules/moragents_dockers/agents/src/swap_agent/src/tools.py @@ -1,7 +1,7 @@ import requests import logging import time -from swap_agent_config import Config +from config import Config from web3 import Web3 From 061c4c9611f4a6073e4813adfecfc87d199f2a65 Mon Sep 17 00:00:00 2001 From: LachsBagel <149974355+LachsBagel@users.noreply.github.com> Date: Tue, 16 Jul 2024 19:14:59 -0500 Subject: [PATCH 20/37] pin llamacpppython dep to version to prevent build breaking in windows --- submodules/moragents_dockers/agents/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/moragents_dockers/agents/requirements.txt b/submodules/moragents_dockers/agents/requirements.txt index 4d78596..1751cca 100644 --- a/submodules/moragents_dockers/agents/requirements.txt +++ b/submodules/moragents_dockers/agents/requirements.txt @@ -1,4 +1,4 @@ -llama-cpp-python +llama-cpp-python==0.2.78 transformers sentencepiece protobuf From 0e9291355f71e316eac71515c13b16de062f5c57 Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Sat, 27 Jul 2024 21:42:20 -0400 Subject: [PATCH 21/37] Add 0.0.9 mac + windows runtime setups --- MORagents.spec | 14 ++- build_assets/macOS/README_MACOS_DEV_BUILD.md | 2 +- .../windows/Packaging_Instructions_Windows.md | 2 +- config.py | 31 ++++-- runtime_setup_macos.py | 68 ++++--------- runtime_setup_windows.py | 98 +++---------------- 6 files changed, 67 insertions(+), 148 deletions(-) diff --git a/MORagents.spec b/MORagents.spec index de8ffde..6f0a26f 100644 --- a/MORagents.spec +++ b/MORagents.spec @@ -5,7 +5,7 @@ a = Analysis( ['main.py'], pathex=[], binaries=[], - datas=[('resources', 'resources')], + datas=[], hiddenimports=[], hookspath=[], hooksconfig={}, @@ -26,13 +26,13 @@ exe = EXE( bootloader_ignore_signals=False, strip=False, upx=True, - console=True, + console=False, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, - entitlements_file=None, - icon=['images\\moragents.ico'], + entitlements_file='build_assets/macOS/MORagents.entitlements', + icon=['images/moragents.icns'], ) coll = COLLECT( exe, @@ -43,3 +43,9 @@ coll = COLLECT( upx_exclude=[], name='MORagents', ) +app = BUNDLE( + coll, + name='MORagents.app', + icon='images/moragents.icns', + bundle_identifier=None, +) diff --git a/build_assets/macOS/README_MACOS_DEV_BUILD.md b/build_assets/macOS/README_MACOS_DEV_BUILD.md index 661bec1..fc1e0c5 100644 --- a/build_assets/macOS/README_MACOS_DEV_BUILD.md +++ b/build_assets/macOS/README_MACOS_DEV_BUILD.md @@ -33,7 +33,7 @@ For Intel (x86_64) 5. Build App for Local Installation ```shell - $ pyinstaller --windowed --add-data "resources:resources" --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py + $ pyinstaller --windowed --add-data --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py ``` # If you have issues, try python -m PyInstaller --windowed --runtime-hook runtime_hook.py --name="MORagents" --icon="moragents.icns" main.py diff --git a/build_assets/windows/Packaging_Instructions_Windows.md b/build_assets/windows/Packaging_Instructions_Windows.md index 6e8910c..e949d43 100644 --- a/build_assets/windows/Packaging_Instructions_Windows.md +++ b/build_assets/windows/Packaging_Instructions_Windows.md @@ -10,7 +10,7 @@ For Windows: 2. ```shell - pyinstaller --name="MORagents" --add-data "resources;resources" --icon=".\images\moragents.ico" main.py + pyinstaller --name="MORagents" --icon=".\images\moragents.ico" main.py ``` Windows Inno Setup for Wizard: diff --git a/config.py b/config.py index ca7ea60..00ed5df 100644 --- a/config.py +++ b/config.py @@ -1,9 +1,7 @@ import os import sys - from utils.host_utils import get_os_and_arch - os_name, arch = get_os_and_arch() if os_name == "macOS": @@ -16,13 +14,28 @@ f"MORagents needs Linux support! Would you like to help?\n" f"https://github.com/MorpheusAIs/moragents/issues/27") - class AgentDockerConfig: - CURRENT_IMAGE_NAMES = ["moragents_dockers-nginx:latest", "moragents_dockers-agents:latest"] - CURRENT_IMAGE_FILENAMES = ["moragents_dockers-nginx.tar", "moragents_dockers-agents.tar"] - CURRENT_IMAGE_PATHS = [os.path.join(repo_root, "resources", img_filename) - for img_filename in CURRENT_IMAGE_FILENAMES] - + MACOS_IMAGE_NAMES = [ + "lachsbagel/moragents_dockers-nginx:apple-0.0.9", + "lachsbagel/moragents_dockers-agents:apple-0.0.9" + ] + WINDOWS_IMAGE_NAMES = [ + "lachsbagel/moragents_dockers-nginx:amd64-0.0.9", + "lachsbagel/moragents_dockers-agents:amd64-0.0.9" + ] + + @staticmethod + def get_current_image_names(): + if os_name == "macOS": + return AgentDockerConfig.MACOS_IMAGE_NAMES + elif os_name == "Windows": + return AgentDockerConfig.WINDOWS_IMAGE_NAMES + else: + raise RuntimeError(f"Unsupported OS: {os_name}") class AgentDockerConfigDeprecate: - OLD_IMAGE_NAMES = ["morpheus/price_fetcher_agent:latest"] + OLD_IMAGE_NAMES = [ + "morpheus/price_fetcher_agent:latest", + "moragents_dockers-nginx:latest", + "moragents_dockers-agents:latest" + ] \ No newline at end of file diff --git a/runtime_setup_macos.py b/runtime_setup_macos.py index 3c8da37..7df048a 100644 --- a/runtime_setup_macos.py +++ b/runtime_setup_macos.py @@ -7,7 +7,6 @@ logger = setup_logger(__name__) - def get_docker_path(): docker_paths = ['/Applications/Docker.app/Contents/Resources/bin/docker', shutil.which('docker')] for docker_path in docker_paths: @@ -17,7 +16,6 @@ def get_docker_path(): logger.error("Docker executable not found in PATH.") return None - def check_docker_installed(docker_path): try: subprocess.run([docker_path, "--version"], @@ -28,16 +26,6 @@ def check_docker_installed(docker_path): logger.error(f"Error checking Docker installation: {str(e)}") return False - -def load_docker_image(docker_path, image_path): - try: - subprocess.run([docker_path, "load", "-i", image_path], check=True) - logger.info(f"Docker image loaded from '{image_path}'.") - except (subprocess.CalledProcessError, TypeError) as e: - logger.error(f"Error loading Docker image from '{image_path}': {str(e)}") - raise - - def delete_docker_image(docker_path, image_name): try: # List all images @@ -57,7 +45,6 @@ def delete_docker_image(docker_path, image_name): except subprocess.CalledProcessError as e: logger.warning(f"Error deleting image: {e}") - def list_containers_for_image(docker_path, image_name): try: output = subprocess.check_output( @@ -68,7 +55,6 @@ def list_containers_for_image(docker_path, image_name): logger.error(f"Failed to list containers for image '{image_name}': {e}") return [] - def remove_container(docker_path, container): try: subprocess.run([docker_path, "rm", "-f", container], check=True, stdout=subprocess.DEVNULL, @@ -76,7 +62,6 @@ def remove_container(docker_path, container): except subprocess.CalledProcessError as e: logger.error(f"Failed to remove container '{container}': {e}") - def docker_image_present_on_host(docker_path, image_name): try: subprocess.run([docker_path, "inspect", image_name], check=True, stdout=subprocess.DEVNULL, @@ -85,27 +70,19 @@ def docker_image_present_on_host(docker_path, image_name): except (subprocess.CalledProcessError, TypeError) as e: return False - def remove_containers_for_image(docker_path, image_name): - # List containers using the specified image containers = list_containers_for_image(docker_path, image_name) - - # Remove each container for container in containers: remove_container(docker_path, container) logger.info(f"Removed container '{container}' for image '{image_name}'") - def remove_containers_by_name(docker_path, container_name): try: - # List containers with the specified name list_command = [docker_path, "ps", "-a", "--format", "{{.Names}}"] output = subprocess.check_output(list_command, universal_newlines=True) containers = output.strip().split("\n") - # Check if the specified container name exists if container_name in containers: - # Remove the container remove_command = [docker_path, "rm", "-f", container_name] subprocess.run(remove_command, check=True) logger.info(f"Removed container '{container_name}'") @@ -114,31 +91,20 @@ def remove_containers_by_name(docker_path, container_name): except subprocess.CalledProcessError as e: logger.error(f"Error removing container '{container_name}': {str(e)}") - -def migration_load_current_docker_images(docker_path): - for image_name, image_path in zip(AgentDockerConfig.CURRENT_IMAGE_NAMES, AgentDockerConfig.CURRENT_IMAGE_PATHS): - if docker_image_present_on_host(docker_path, image_name): - # Remove containers corresponding to the image - remove_containers_for_image(docker_path, image_name) - - # Remove the existing image - delete_docker_image(docker_path, image_name) - logger.info(f"Removed existing docker image '{image_name}'") - - if not os.path.exists(image_path): - logger.critical(f"Docker image file: {image_name} was not found at path: '{image_path}'") - raise FileNotFoundError(f"Docker image file: {image_name} was not found at path: '{image_path}'") - - load_docker_image(docker_path, image_path) - logger.info(f"Loaded docker image '{image_name}'") - - def migration_remove_old_images(docker_path): for image_name in AgentDockerConfigDeprecate.OLD_IMAGE_NAMES: if docker_image_present_on_host(docker_path, image_name): delete_docker_image(docker_path, image_name) logger.info(f"Deleted image '{image_name} from previous release") +def pull_docker_images(docker_path): + for image in AgentDockerConfig.get_current_image_names(): + try: + subprocess.run([docker_path, "pull", image], check=True) + logger.info(f"Successfully pulled image: {image}") + except subprocess.CalledProcessError as e: + logger.error(f"Failed to pull image {image}: {e}") + raise def docker_setup(): docker_path = get_docker_path() @@ -148,32 +114,32 @@ def docker_setup(): logger.critical("Docker is not installed.") raise RuntimeError("Docker is not installed.") - # remove old images on user device, if present + # Remove old images and containers logger.info("Checking whether old images need removal.") migration_remove_old_images(docker_path) - migration_load_current_docker_images(docker_path) - - remove_containers_for_image(docker_path, "moragents_dockers-agents:latest") - remove_containers_for_image(docker_path, "moragents_dockers-nginx:latest") + for image_name in AgentDockerConfig.get_current_image_names(): + remove_containers_for_image(docker_path, image_name) remove_containers_by_name(docker_path, "agents") remove_containers_by_name(docker_path, "nginx") + # Pull the latest images + pull_docker_images(docker_path) + # Spin up Agent container subprocess.run([ docker_path, "run", "-d", "--name", "agents", "-p", "8080:5000", "--restart", "always", "-v", "/var/lib/agents", "-v", "/app/src", - "moragents_dockers-agents:latest" + AgentDockerConfig.get_current_image_names()[1] # agents image ], check=True) # Spin up Nginx container subprocess.run([ docker_path, "run", "-d", "--name", "nginx", "-p", "3333:80", - "moragents_dockers-nginx:latest" + AgentDockerConfig.get_current_image_names()[0] # nginx image ], check=True) - if __name__ == "__main__": - docker_setup() + docker_setup() \ No newline at end of file diff --git a/runtime_setup_windows.py b/runtime_setup_windows.py index 22aebde..8bfc22f 100644 --- a/runtime_setup_windows.py +++ b/runtime_setup_windows.py @@ -1,5 +1,3 @@ -import os -import sys import subprocess import time @@ -8,10 +6,8 @@ logger = setup_logger(__name__) - docker_path = "docker" - def check_docker_installed(): try: subprocess.run([docker_path, "--version"], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) @@ -19,7 +15,6 @@ def check_docker_installed(): except (subprocess.CalledProcessError, FileNotFoundError): return False - def start_docker(): try: subprocess.run(["C:\\Program Files\\Docker\\Docker\\Docker Desktop.exe"]) @@ -38,39 +33,19 @@ def start_docker(): logger.info("Waiting for Docker engine to start...") time.sleep(2) - -def load_docker_image(image_path): - print(f"Loading Docker image {image_path}. This will take about 5-10 minutes, please wait...") - try: - result = subprocess.run(["docker", "load", "-i", image_path], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True, check=True, timeout=300) - print(f"Docker image loaded successfully: {result.stdout}") - except subprocess.CalledProcessError as e: - print(f"Error loading Docker image: {e}") - print(f"Command: {e.cmd}") - print(f"Output: {e.output}") - print(f"Error: {e.stderr}") - - def delete_docker_image(image_name): try: - # List all images list_command = [docker_path, "images", "--format", "{{.Repository}}:{{.Tag}}"] output = subprocess.check_output(list_command, universal_newlines=True) images = output.strip().split("\n") - # Find the image with the specified name if image_name in images: - # Remove the image remove_command = [docker_path, "rmi", "-f", image_name] subprocess.run(remove_command, check=True) logger.info(f"Image '{image_name}' deleted successfully.") - else: - pass - except subprocess.CalledProcessError as e: logger.warning(f"Error deleting image: {e}") - def list_containers_for_image(image_name): try: output = subprocess.check_output( @@ -81,7 +56,6 @@ def list_containers_for_image(image_name): logger.error(f"Failed to list containers for image '{image_name}': {e}") return [] - def remove_container(container): try: subprocess.run([docker_path, "rm", "-f", container], check=True, stdout=subprocess.DEVNULL, @@ -89,36 +63,27 @@ def remove_container(container): except subprocess.CalledProcessError as e: logger.error(f"Failed to remove container '{container}': {e}") - def docker_image_present_on_host(image_name): try: subprocess.run([docker_path, "inspect", image_name], check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) return True - except (subprocess.CalledProcessError, TypeError) as e: + except (subprocess.CalledProcessError, TypeError): return False - def remove_containers_for_image(image_name): - # List containers using the specified image containers = list_containers_for_image(image_name) - - # Remove each container for container in containers: remove_container(container) logger.info(f"Removed container '{container}' for image '{image_name}'") - def remove_containers_by_name(container_name): try: - # List containers with the specified name list_command = [docker_path, "ps", "-a", "--format", "{{.Names}}"] output = subprocess.check_output(list_command, universal_newlines=True) containers = output.strip().split("\n") - # Check if the specified container name exists if container_name in containers: - # Remove the container remove_command = [docker_path, "rm", "-f", container_name] subprocess.run(remove_command, check=True) logger.info(f"Removed container '{container_name}'") @@ -127,49 +92,20 @@ def remove_containers_by_name(container_name): except subprocess.CalledProcessError as e: logger.error(f"Error removing container '{container_name}': {str(e)}") - -def migration_load_current_docker_images(): - for image_name, image_path in zip(AgentDockerConfig.CURRENT_IMAGE_NAMES, AgentDockerConfig.CURRENT_IMAGE_PATHS): - - # # FIXME, this is temporary - # if getattr(sys, 'frozen', False): - # image_path = os.path.join(sys._MEIPASS, "resources", os.path.basename(image_path)) - # else: - # image_path = os.path.join(os.path.dirname(__file__), "resources", os.path.basename(image_path)) - - if docker_image_present_on_host(image_name): - logger.info(f"Docker image '{image_name}' is already present, skipping loading") - continue - - if not os.path.exists(image_path): - logger.critical(f"Docker image file: {image_name} was not found at path: '{image_path}'") - raise FileNotFoundError(f"Docker image file: {image_name} was not found at path: '{image_path}'") - - load_docker_image(image_path) - logger.info(f"Loaded docker image '{image_name}'") - - -def check_container_running(image_name): - try: - output = subprocess.check_output(["docker", "ps", "-f", f"ancestor={image_name}", "--format", "{{.Names}}"]) - if not output: - return False - return output.decode().strip() != "" - except (subprocess.CalledProcessError, FileNotFoundError): - return False - - -def start_container(image_name, port_mapping): - logger.info(f"Spinning up container for image {image_name} with port mapping: {port_mapping}") - subprocess.run(["docker", "run", "-d", "-p", port_mapping, image_name], check=True) - - def migration_remove_old_images(): for image_name in AgentDockerConfigDeprecate.OLD_IMAGE_NAMES: if docker_image_present_on_host(image_name): delete_docker_image(image_name) - logger.info(f"Deleted image '{image_name} from previous release") + logger.info(f"Deleted image '{image_name}' from previous release") +def pull_docker_images(): + for image_name in AgentDockerConfig.get_current_image_names(): + try: + subprocess.run([docker_path, "pull", image_name], check=True) + logger.info(f"Successfully pulled image: {image_name}") + except subprocess.CalledProcessError as e: + logger.error(f"Failed to pull image {image_name}: {e}") + raise def docker_setup(): if not check_docker_installed(): @@ -178,14 +114,13 @@ def docker_setup(): start_docker() - # remove old images on user device, if present logger.info("Checking whether old images need removal.") migration_remove_old_images() - migration_load_current_docker_images() + pull_docker_images() - remove_containers_for_image("moragents_dockers-agents:latest") - remove_containers_for_image("moragents_dockers-nginx:latest") + for image_name in AgentDockerConfig.get_current_image_names(): + remove_containers_for_image(image_name) remove_containers_by_name("agents") remove_containers_by_name("nginx") @@ -195,15 +130,14 @@ def docker_setup(): docker_path, "run", "-d", "--name", "agents", "-p", "8080:5000", "--restart", "always", "-v", "/var/lib/agents", "-v", "/app/src", - "moragents_dockers-agents:latest" + AgentDockerConfig.get_current_image_names()[1] # agents image ], check=True) # Spin up Nginx container subprocess.run([ docker_path, "run", "-d", "--name", "nginx", "-p", "3333:80", - "moragents_dockers-nginx:latest" + AgentDockerConfig.get_current_image_names()[0] # nginx image ], check=True) - if __name__ == "__main__": - docker_setup() + docker_setup() \ No newline at end of file From 7af451b1c94347006f1aee71dd4575f0c7a1ab05 Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Sat, 3 Aug 2024 01:49:47 -0400 Subject: [PATCH 22/37] Add workflow and 0.0.9 build --- .../workflows/mor-agents-build-windows.yml | 42 +++++++++ images/moragents.ico | Bin 1081406 -> 361178 bytes wizard_windows.iss | 83 +++++++++++++++--- 3 files changed, 114 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/mor-agents-build-windows.yml diff --git a/.github/workflows/mor-agents-build-windows.yml b/.github/workflows/mor-agents-build-windows.yml new file mode 100644 index 0000000..ddc0597 --- /dev/null +++ b/.github/workflows/mor-agents-build-windows.yml @@ -0,0 +1,42 @@ +name: MOR Agents Build Windows + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + workflow_dispatch: + +jobs: + build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pyinstaller + pip install -r requirements.txt + + - name: Build with PyInstaller + run: pyinstaller --icon=images/moragents.ico --name=MORagents main.py + + - name: Install Inno Setup + run: choco install innosetup -y + + - name: Compile Inno Setup Script + run: | + iscc /O".\MORagentsWindowsInstaller" "wizard_windows.iss" + + - name: Upload Installer + uses: actions/upload-artifact@v4 + with: + name: MORagentsSetup + path: .\MORagentsWindowsInstaller\MORagentsSetup.exe diff --git a/images/moragents.ico b/images/moragents.ico index 6c951a11d990025b0d6d7d23cb88a9486919dc4f..5c8d25662ae9f5bef9f98b9754832508b406750c 100644 GIT binary patch literal 361178 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

soMxHOTl~CNV1O|U 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 #UujUf3LgTObbs=&DF|fX# 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

SRa! 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

{{Hst3qTJ59{5xH2k^J+gI2-^{iL@y{oue3 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�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 z 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%0A?ev=HK>5E*c4rJ7ITQm1^+L<$ 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 KheE-R|NjBr15e)o diff --git a/wizard_windows.iss b/wizard_windows.iss index 1ff4af9..2a53af5 100644 --- a/wizard_windows.iss +++ b/wizard_windows.iss @@ -4,32 +4,93 @@ AppVersion=0.0.8 DefaultDirName={commonpf}\MORagents OutputDir=.\MORagentsWindowsInstaller OutputBaseFilename=MORagentsSetup -DiskSpanning=yes -SlicesPerDisk=1 -DiskSliceSize=max -Compression = none +WizardStyle=modern [Messages] -WelcomeLabel1=Welcome to the MORagents Setup Wizard. By proceeding you acknowledge you had read and agreed to the License found at: https://github.com/MorpheusAIs/moragents/blob/778b0aba68ae873d7bb355f2ed4419389369e042/LICENSE +WelcomeLabel1=Welcome to the MORagents Setup Wizard WelcomeLabel2=This will install MORagents on your computer. Please click Next to continue. [Files] Source: "dist\MORagents\MORagents.exe"; DestDir: "{app}" Source: "dist\MORagents\_internal\*"; DestDir: "{app}\_internal"; Flags: recursesubdirs Source: "images\moragents.ico"; DestDir: "{app}" -Source: "resources\Docker Desktop Installer.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall Source: "LICENSE"; DestDir: "{app}"; Flags: isreadme +Source: "{tmp}\DockerDesktopInstaller.exe"; DestDir: "{tmp}"; Flags: external deleteafterinstall +Source: "{tmp}\OllamaSetup.exe"; DestDir: "{tmp}"; Flags: external deleteafterinstall +Source: "runtime_setup_windows.py"; DestDir: "{app}" [Icons] Name: "{commondesktop}\MORagents"; Filename: "{app}\MORagents.exe"; IconFilename: "{app}\moragents.ico" [Run] -Filename: "{app}\LICENSE"; Description: "License Agreement"; Flags: postinstall shellexec skipifsilent +Filename: "{tmp}\DockerDesktopInstaller.exe"; Parameters: "install"; StatusMsg: "Installing Docker Desktop..."; Flags: waituntilterminated +Filename: "{tmp}\OllamaSetup.exe"; StatusMsg: "Installing Ollama..."; Flags: waituntilterminated +Filename: "{app}\LICENSE"; Description: "View License Agreement"; Flags: postinstall shellexec skipifsilent +Filename: "{app}\MORagents.exe"; Description: "Launch MORagents"; Flags: postinstall nowait skipifsilent unchecked +Filename: "cmd.exe"; Parameters: "/c ollama pull llama3 && ollama pull nomic-embed-text"; StatusMsg: "Pulling Ollama models..."; Flags: runhidden waituntilterminated + [Code] -function InitializeSetup(): Boolean; +var + EULAAccepted: Boolean; + DownloadPage: TDownloadWizardPage; + EULAPage: TOutputMsgWizardPage; + +procedure InitializeWizard; +begin + EULAPage := CreateOutputMsgPage(wpWelcome, + 'License Agreement', 'Please read the following License Agreement carefully', + 'By continuing, you acknowledge that you have read and agreed to the License. ' + + 'The full license text can be found at: ' + + 'https://github.com/MorpheusAIs/moragents/blob/778b0aba68ae873d7bb355f2ed4419389369e042/LICENSE' + #13#10 + #13#10 + + 'Do you accept the terms of the License agreement?'); + + DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil); +end; + +function NextButtonClick(CurPageID: Integer): Boolean; +begin + Result := True; + + if CurPageID = EULAPage.ID then + begin + EULAAccepted := True; + end + else if CurPageID = wpReady then + begin + if not EULAAccepted then + begin + MsgBox('You must accept the License Agreement to continue.', mbError, MB_OK); + Result := False; + Exit; + end; + + DownloadPage.Clear; + DownloadPage.Add('https://desktop.docker.com/win/stable/Docker%20Desktop%20Installer.exe', 'DockerDesktopInstaller.exe', ''); + DownloadPage.Add('https://ollama.com/download/OllamaSetup.exe', 'OllamaSetup.exe', ''); + DownloadPage.Show; + try + try + DownloadPage.Download; + Result := True; + except + if DownloadPage.AbortedByUser then + Log('Aborted by user.') + else + SuppressibleMsgBox(AddPeriod(GetExceptionMessage), mbCriticalError, MB_OK, IDOK); + Result := False; + end; + finally + DownloadPage.Hide; + end; + end; +end; + +function ShouldSkipPage(PageID: Integer): Boolean; begin - Result := MsgBox('Please read the license agreement found at https://github.com/MorpheusAIs/moragents/blob/778b0aba68ae873d7bb355f2ed4419389369e042/LICENSE carefully. Do you accept the terms of the License agreement?', mbConfirmation, MB_YESNO) = idYes; - if not Result then - MsgBox('Setup cannot continue without accepting the License agreement.', mbInformation, MB_OK); + Result := False; + + { Skip EULA page if already accepted } + if (PageID = EULAPage.ID) and EULAAccepted then + Result := True; end; \ No newline at end of file From e70a87fdd21d1adb7c9a6f189a72fbe5fe7708a9 Mon Sep 17 00:00:00 2001 From: Lachs Bagel Date: Fri, 9 Aug 2024 17:56:04 -0500 Subject: [PATCH 23/37] small ref fixes, AGENTABILITIES update --- LICENSE.md | 9 +++++++++ PRIVACY.md | 26 -------------------------- 2 files changed, 9 insertions(+), 26 deletions(-) create mode 100644 LICENSE.md delete mode 100644 PRIVACY.md diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..b6f7234 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2024 Liquid Tensor LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/PRIVACY.md b/PRIVACY.md deleted file mode 100644 index 45eaeed..0000000 --- a/PRIVACY.md +++ /dev/null @@ -1,26 +0,0 @@ -# Privacy Policy - -This application is committed to protecting the privacy and security of our users. This Privacy Policy outlines how this application collects, uses, and safeguards the information you provide when using our codebase to build applications. - -## Information Collection - -1. Local Execution: All execution of the applications built using this codebase is performed locally on your device. This application does not collect, store, or process any data related to the local execution of your applications. - -2. External Requests: When using this codebase, your application may make requests to external services such as CoinGecko or other oracles to retrieve necessary data. These requests are made directly from your device to the respective services, and this application does not have access to or store any data related to these requests. - -3. Locally Hosted LLM: The applications built using this codebase utilize a language model (LLM) that is hosted locally on your device. This application does not have access to or collect any data processed by the locally hosted LLM. - -## Data Sharing - -This application does not share any data collected or processed by the applications built using this codebase with third parties. As mentioned above, the only data shared are the requests made directly from your device to external services such as CoinGecko or other oracles. - -## Data Security - -This application takes the security of your data seriously. Although this application does not collect or store any data, it encourages you to follow best practices for securing your local environment, such as keeping your device and software up to date and using strong passwords. - -## Changes to this Privacy Policy - -This application may update this Privacy Policy from time to time. You are advised to review this Privacy Policy periodically for any changes. - - -By using this codebase to build applications, you agree to the terms of this Privacy Policy. \ No newline at end of file From 85f39d4990482577de1342aed3790cf338163c24 Mon Sep 17 00:00:00 2001 From: Lachs Bagel Date: Mon, 12 Aug 2024 19:38:21 -0500 Subject: [PATCH 24/37] small fixes --- AGENTABILITIES.md | 21 ++++++++-------- LICENSE | 9 ------- .../moragents_dockers/agents/requirements.txt | 24 +++++++++---------- wizard_windows.iss | 4 ++-- 4 files changed, 25 insertions(+), 33 deletions(-) delete mode 100644 LICENSE diff --git a/AGENTABILITIES.md b/AGENTABILITIES.md index 638377c..bb6d8c9 100644 --- a/AGENTABILITIES.md +++ b/AGENTABILITIES.md @@ -14,9 +14,9 @@ transaction. 1. Local Docker install 2. (pending) [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running 1. Note: this repo will be made public under an MIT license following the publishing of a paper by the same name which is currently in the works - 3. (future) Posting Agent - an agent which optimizes content for social media posting -2. **IODmitri on GitHhub** - 3. (pending) [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running +2. **IODmitri, SanatSharma, LachsBagel on GitHhub** + 3. [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running + 4. Link to Paper [Hide and Seek: Fingerprinting Large Language Models with Evolutionary Learning](https://www.arxiv.org/abs/2408.02871) 3. **artfuljars on Discord**: 1. Windows Build (EXE version of .app) 2. Two installation wizards: @@ -31,14 +31,15 @@ transaction. 2. A [web interface](submodules/moragents_dockers/frontend) which is served by the local Docker installation and integrated with Rainbow, enabling the use of MetaMask, WalletConnect, and other EVM-based wallets. 3. A [swap agent](submodules/moragents_dockers/agents/src/swap_agent) which can iteratively ask users to provide needed details for disambiguation. - 4. (Pending Integration) [A general-purpose agent](https://github.com/MorpheusAIs/moragents/pull/34) that can ingest arbitrary documents, such as PDFs, for basic document QA and text generation. - 5. (Pending) Delegating agent which can maintain user's persona/interests as well as coordinating to task agents and tools. - + 4. [A general-purpose agent](https://github.com/MorpheusAIs/moragents/pull/34) that can ingest arbitrary documents, such as PDFs, for basic document QA and text generation. + 5. (Pending Integration) [Delegating agent](https://github.com/MorpheusAIs/moragents/pull/45) which can maintain user's persona/interests as well as coordinating to task agents and tools. +6. **Dan Y.** + 1. (pending) X/Twitter Posting Agent - an agent which generates spicy tweets with an X integration for one-click posting. ### Decentralized Inference: #### Non-Local Installation Agents for Permission-less Compute Pending Lumerin's work. Eventually Agent Builders will be able to permission-lessly upload Agent and Model artifacts to a decentralized registry. -1. (pending) [FLock](https://www.flock.io/#/) is working on a decentralized agent which will regularly be updated with most recent docs surrounding the Morpheus system for the following audiences: +1. [FLock](https://www.flock.io/#/) has built a decentralized agent, called [Ragchat-Morpheus](https://github.com/FLock-io/ragchat-morpheus) which will regularly be updated with most recent docs surrounding the Morpheus system for the following audiences: 1. Normal user perspective (broad Q/A for those new to Morpheus ecosystem) 2. Developer perspective wanting to deploy on Morpheus 3. Perspective of capital contributors @@ -48,11 +49,11 @@ Pending Lumerin's work. Eventually Agent Builders will be able to permission-les - If you are working on an agent which can provide value through open models and relies on processing public data, please reach out to lachsbagel on Discord (link below) - Otherwise, you are more than welcome to publish your agent to the registry when it goes live pending Lumerin's work and any other necessary pieces which come up to better ensure security and verifiability of models in non-local execution environments. - If you are working on security and/or verifiability of models and the runtime, please reach out to LachsBagel on the Morpheus Discord. - - Currently looking at [Hyperbolic.xyz](https://hyperbolic.xyz) and [6079](https://6079-ai.gitbook.io/6079.ai/technology/6079-proof-of-inference-protocol). See more ecosystem members [here](https://mor.org/ecosystem). + - Currently looking at [Hyperbolic.xyz](https://hyperbolic.xyz) and [6079](https://docs.6079.ai/technology/6079-proof-of-inference-protocol). See more ecosystem members [here](https://mor.org/ecosystem). - LachsBagel is also working on a new algorithm, named [HideNSeek](https://github.com/MorpheusAIs/HideNSeek), which uses a Transformer specific heuristic for model verification - - [Atoma.Network](https://www.atoma.network/) will help with implementing the plumbing for [HideNSeek](https://github.com/MorpheusAIs/HideNSeek) + - [6079](https://6079.ai/) will help with implementing the plumbing for [HideNSeek](https://github.com/MorpheusAIs/HideNSeek) ### Contact Join the [Morpheus Discord](https://discord.com/invite/Dc26EFb6JK) -*Last Updated: July 7, 2024* +*Last Updated: August 8, 2024* diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 826baaa..0000000 --- a/LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) 2023 Liquid Tensor LLC - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/submodules/moragents_dockers/agents/requirements.txt b/submodules/moragents_dockers/agents/requirements.txt index 1751cca..c3838ef 100644 --- a/submodules/moragents_dockers/agents/requirements.txt +++ b/submodules/moragents_dockers/agents/requirements.txt @@ -1,15 +1,15 @@ -llama-cpp-python==0.2.78 -transformers -sentencepiece -protobuf -scikit-learn -huggingface-hub +llama-cpp-python==0.2.65 +transformers==4.43.3 +sentencepiece==0.2.0 +protobuf==5.27.2 +scikit-learn==1.5.1 +huggingface-hub==0.24.3 flask==2.2.2 Werkzeug==2.2.2 -flask-cors -web3 +flask-cors==4.0.1 +web3==6.20.1 pymupdf==1.22.5 -faiss-cpu -langchain-text-splitters -langchain-core -langchain-community \ No newline at end of file +faiss-cpu==1.8.0.post1 +langchain-text-splitters==0.2.2 +langchain-core==0.2.24 +langchain-community==0.2.10 \ No newline at end of file diff --git a/wizard_windows.iss b/wizard_windows.iss index 1654c92..1001eb2 100644 --- a/wizard_windows.iss +++ b/wizard_windows.iss @@ -1,6 +1,6 @@ [Setup] AppName=MORagents -AppVersion=0.0.8 +AppVersion=0.0.9 DefaultDirName={commonpf}\MORagents OutputDir=.\MORagentsWindowsInstaller OutputBaseFilename=MORagentsSetup @@ -41,7 +41,7 @@ begin 'License Agreement', 'Please read the following License Agreement carefully', 'By continuing, you acknowledge that you have read and agreed to the License. ' + 'The full license text can be found at: ' + - 'https://github.com/MorpheusAIs/moragents/blob/778b0aba68ae873d7bb355f2ed4419389369e042/LICENSE' + #13#10 + #13#10 + + 'https://github.com/MorpheusAIs/moragents/blob/main/LICENSE.md' + #13#10 + #13#10 + 'Do you accept the terms of the License agreement?'); DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil); From 88a7c69958d209af29b3af4766c97d5c445d6a22 Mon Sep 17 00:00:00 2001 From: Lachs Bagel Date: Mon, 12 Aug 2024 19:50:06 -0500 Subject: [PATCH 25/37] incl. full license text --- wizard_windows.iss | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/wizard_windows.iss b/wizard_windows.iss index 1001eb2..f834d48 100644 --- a/wizard_windows.iss +++ b/wizard_windows.iss @@ -14,7 +14,7 @@ WelcomeLabel2=This will install MORagents on your computer. Please click Next to Source: "dist\MORagents\MORagents.exe"; DestDir: "{app}" Source: "dist\MORagents\_internal\*"; DestDir: "{app}\_internal"; Flags: recursesubdirs Source: "images\moragents.ico"; DestDir: "{app}" -Source: "LICENSE"; DestDir: "{app}"; Flags: isreadme +Source: "LICENSE.md"; DestDir: "{app}"; Flags: isreadme Source: "{tmp}\DockerDesktopInstaller.exe"; DestDir: "{tmp}"; Flags: external deleteafterinstall Source: "{tmp}\OllamaSetup.exe"; DestDir: "{tmp}"; Flags: external deleteafterinstall Source: "runtime_setup_windows.py"; DestDir: "{app}" @@ -25,7 +25,7 @@ Name: "{commondesktop}\MORagents"; Filename: "{app}\MORagents.exe"; IconFilename [Run] Filename: "{tmp}\DockerDesktopInstaller.exe"; Parameters: "install"; StatusMsg: "Installing Docker Desktop..."; Flags: waituntilterminated Filename: "{tmp}\OllamaSetup.exe"; StatusMsg: "Installing Ollama..."; Flags: waituntilterminated -Filename: "{app}\LICENSE"; Description: "View License Agreement"; Flags: postinstall shellexec skipifsilent +Filename: "{app}\LICENSE.md"; Description: "View License Agreement"; Flags: postinstall shellexec skipifsilent Filename: "{app}\MORagents.exe"; Description: "Launch MORagents"; Flags: postinstall nowait skipifsilent unchecked Filename: "cmd.exe"; Parameters: "/c ollama pull llama3 && ollama pull nomic-embed-text"; StatusMsg: "Pulling Ollama models..."; Flags: runhidden waituntilterminated @@ -37,12 +37,30 @@ var procedure InitializeWizard; begin - EULAPage := CreateOutputMsgPage(wpWelcome, + EULAPage := CreateOutputMsgPage(wpWelcome, 'License Agreement', 'Please read the following License Agreement carefully', - 'By continuing, you acknowledge that you have read and agreed to the License. ' + - 'The full license text can be found at: ' + - 'https://github.com/MorpheusAIs/moragents/blob/main/LICENSE.md' + #13#10 + #13#10 + - 'Do you accept the terms of the License agreement?'); + 'By continuing, you acknowledge that you have read and agreed to the License. ' + + 'The full license text can be found below:' + + #13#10 + + 'MIT License' + + #13#10 + + 'Copyright (c) 2024 Liquid Tensor LLC' + + #13#10 + + 'Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), + to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: ' + + + '' + + 'The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.' + + '' + + + 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.' + + #13#10 + + 'Do you accept the terms of the License agreement?'); DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil); end; From b5144e24b6575d27524fbfc3b8024abfd5c487e5 Mon Sep 17 00:00:00 2001 From: Lachs Bagel Date: Mon, 12 Aug 2024 19:56:04 -0500 Subject: [PATCH 26/37] incl. full license text --- wizard_windows.iss | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/wizard_windows.iss b/wizard_windows.iss index f834d48..857a1cc 100644 --- a/wizard_windows.iss +++ b/wizard_windows.iss @@ -46,19 +46,15 @@ begin + #13#10 + 'Copyright (c) 2024 Liquid Tensor LLC' + #13#10 - + 'Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), - to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: ' - - + '' - + 'The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.' - + '' - - + 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.' + + 'Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.' + #13#10 + 'Do you accept the terms of the License agreement?'); From 578ffe72fc4e6a6cb7d797b0bafdc014af82961b Mon Sep 17 00:00:00 2001 From: Lachs Bagel Date: Mon, 12 Aug 2024 20:03:11 -0500 Subject: [PATCH 27/37] incl. full license text --- wizard_windows.iss | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/wizard_windows.iss b/wizard_windows.iss index 857a1cc..5513305 100644 --- a/wizard_windows.iss +++ b/wizard_windows.iss @@ -39,24 +39,19 @@ procedure InitializeWizard; begin EULAPage := CreateOutputMsgPage(wpWelcome, 'License Agreement', 'Please read the following License Agreement carefully', - 'By continuing, you acknowledge that you have read and agreed to the License. ' - + 'The full license text can be found below:' - + #13#10 - + 'MIT License' - + #13#10 - + 'Copyright (c) 2024 Liquid Tensor LLC' - + #13#10 - + 'Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, - INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.' - + #13#10 - + 'Do you accept the terms of the License agreement?'); + 'By continuing, you acknowledge that you have read and agreed to the License. ' + + 'MIT License' + + 'Copyright (c) 2024 Liquid Tensor LLC' + + 'Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), ' + + 'to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, ' + + 'and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: ' + + 'The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ' + + 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, ' + + 'INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ' + + 'PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, ' + + 'DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ' + + 'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.' + #13#10 + #13#10 + + 'Do you accept the terms of the License agreement?'); DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil); end; From 8c68808702c519c0557fb335685b391e54ea2df1 Mon Sep 17 00:00:00 2001 From: Lachs Bagel Date: Mon, 12 Aug 2024 20:10:57 -0500 Subject: [PATCH 28/37] make license text more readable --- wizard_windows.iss | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wizard_windows.iss b/wizard_windows.iss index 5513305..b286838 100644 --- a/wizard_windows.iss +++ b/wizard_windows.iss @@ -39,19 +39,19 @@ procedure InitializeWizard; begin EULAPage := CreateOutputMsgPage(wpWelcome, 'License Agreement', 'Please read the following License Agreement carefully', - 'By continuing, you acknowledge that you have read and agreed to the License. ' + - 'MIT License' + - 'Copyright (c) 2024 Liquid Tensor LLC' + + 'By continuing, you acknowledge that you have read and agreed to the License. ' + #13#10 + + 'MIT License' + #13#10 + + 'Copyright (c) 2024 Liquid Tensor LLC' + #13#10 + 'Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), ' + 'to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, ' + 'and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: ' + - 'The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ' + + 'The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. ' + #13#10 + 'THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, ' + 'INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR ' + 'PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, ' + 'DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ' + 'OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.' + #13#10 + #13#10 + - 'Do you accept the terms of the License agreement?'); + 'By clicking Next, installing, and/or using the MORagents software you accept the terms of the License agreement.'); DownloadPage := CreateDownloadPage(SetupMessage(msgWizardPreparing), SetupMessage(msgPreparingDesc), nil); end; From d90f96d8d463b35bf8308ab65e8adec0dd05965f Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Wed, 14 Aug 2024 13:57:48 -0400 Subject: [PATCH 29/37] Update preinstall_ollama.sh --- build_assets/macOS/preinstall_ollama.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build_assets/macOS/preinstall_ollama.sh b/build_assets/macOS/preinstall_ollama.sh index 90d09b5..c9c8937 100644 --- a/build_assets/macOS/preinstall_ollama.sh +++ b/build_assets/macOS/preinstall_ollama.sh @@ -5,3 +5,7 @@ curl -L https://github.com/jmorganca/ollama/releases/download/v0.1.46/ollama-dar chmod +x ollama sudo mv ollama /usr/local/bin/ + +nohup /usr/local/bin/ollama serve > /dev/null 2>&1 & +/usr/local/bin/ollama pull llama3 +/usr/local/bin/ollama pull nomic-embed-text From 49876a070d561369ff59514910948d45f6f9243a Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Thu, 15 Aug 2024 10:22:33 -0700 Subject: [PATCH 30/37] Update preinstall_ollama.sh --- build_assets/macOS/preinstall_ollama.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_assets/macOS/preinstall_ollama.sh b/build_assets/macOS/preinstall_ollama.sh index c9c8937..412743c 100644 --- a/build_assets/macOS/preinstall_ollama.sh +++ b/build_assets/macOS/preinstall_ollama.sh @@ -1,6 +1,6 @@ #!/bin/bash -curl -L https://github.com/jmorganca/ollama/releases/download/v0.1.46/ollama-darwin -o ollama +curl -L https://github.com/ollama/ollama/releases/download/v0.3.6/ollama-darwin -o ollama chmod +x ollama From 8a06387e7edb18d7e671e512522cf7b6b38d5178 Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Thu, 15 Aug 2024 14:00:37 -0700 Subject: [PATCH 31/37] Changed runtimes to run ollama on app start --- build_assets/macOS/README_MACOS_DEV_BUILD.md | 2 +- main.py | 8 ++++---- runtime_setup_macos.py | 20 +++++++++++++++++++- runtime_setup_windows.py | 19 +++++++++++++++++++ 4 files changed, 43 insertions(+), 6 deletions(-) diff --git a/build_assets/macOS/README_MACOS_DEV_BUILD.md b/build_assets/macOS/README_MACOS_DEV_BUILD.md index fc1e0c5..e5e929e 100644 --- a/build_assets/macOS/README_MACOS_DEV_BUILD.md +++ b/build_assets/macOS/README_MACOS_DEV_BUILD.md @@ -33,7 +33,7 @@ For Intel (x86_64) 5. Build App for Local Installation ```shell - $ pyinstaller --windowed --add-data --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py + $ pyinstaller --windowed --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py ``` # If you have issues, try python -m PyInstaller --windowed --runtime-hook runtime_hook.py --name="MORagents" --icon="moragents.icns" main.py diff --git a/main.py b/main.py index e01081c..f94c23e 100644 --- a/main.py +++ b/main.py @@ -2,8 +2,8 @@ import logging import webbrowser -from runtime_setup_macos import docker_setup as docker_setup_macos -from runtime_setup_windows import docker_setup as docker_setup_windows +from runtime_setup_macos import main as macos_setup +from runtime_setup_windows import main as windows_setup from utils.logger_config import setup_logger from utils.host_utils import get_os_and_arch @@ -17,9 +17,9 @@ os_name, arch = get_os_and_arch() if os_name == "macOS": - docker_setup_macos() + macos_setup() elif os_name == "Windows": - docker_setup_windows() + windows_setup() elif os_name == "Linux": raise RuntimeError( f"MORagents needs Linux support! Would you like to help?\n" diff --git a/runtime_setup_macos.py b/runtime_setup_macos.py index 7df048a..70f2d48 100644 --- a/runtime_setup_macos.py +++ b/runtime_setup_macos.py @@ -106,6 +106,18 @@ def pull_docker_images(docker_path): logger.error(f"Failed to pull image {image}: {e}") raise +def start_ollama_server(): + ollama_path = '/usr/local/bin/ollama' + + try: + # Start Ollama server + logger.info("Starting Ollama server...") + subprocess.Popen([ollama_path, "serve"], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + logger.info("Ollama server started successfully.") + except Exception as e: + logger.info("Failed to start Ollama server.") + logger.error(f"Failed to start Ollama server: {e}") + def docker_setup(): docker_path = get_docker_path() logger.info(f"Docker path: {docker_path}") @@ -141,5 +153,11 @@ def docker_setup(): AgentDockerConfig.get_current_image_names()[0] # nginx image ], check=True) +def main(): + # main() called every time the app is opened (from main.py). Put all app open code here. + logger.info("Starting app...") + start_ollama_server() + docker_setup() + if __name__ == "__main__": - docker_setup() \ No newline at end of file + main() \ No newline at end of file diff --git a/runtime_setup_windows.py b/runtime_setup_windows.py index 8bfc22f..33de5d9 100644 --- a/runtime_setup_windows.py +++ b/runtime_setup_windows.py @@ -107,6 +107,20 @@ def pull_docker_images(): logger.error(f"Failed to pull image {image_name}: {e}") raise +def start_ollama_server(): + ollama_path = "ollama" + + try: + print(f"Attempting to start Ollama server using: {ollama_path}") + subprocess.Popen([ollama_path, "serve"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + creationflags=subprocess.CREATE_NO_WINDOW) + print("Ollama server started successfully.") + except Exception as e: + print(f"Failed to start Ollama server: {e}") + + def docker_setup(): if not check_docker_installed(): print("Docker is not installed. Please install Docker Desktop.") @@ -139,5 +153,10 @@ def docker_setup(): AgentDockerConfig.get_current_image_names()[0] # nginx image ], check=True) +def main(): + # main() called every time the app is opened (from main.py). Put all app open code here. + start_ollama_server() + docker_setup() + if __name__ == "__main__": docker_setup() \ No newline at end of file From 4f85560d93fd3485aa8a7da6940439e82feec7de Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Thu, 15 Aug 2024 14:16:14 -0700 Subject: [PATCH 32/37] Add license for mac install --- .../macOS/Packaging_Instructions_macOS.md | 2 +- build_assets/macOS/license.html | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 build_assets/macOS/license.html diff --git a/build_assets/macOS/Packaging_Instructions_macOS.md b/build_assets/macOS/Packaging_Instructions_macOS.md index a1e1795..ba10f5d 100644 --- a/build_assets/macOS/Packaging_Instructions_macOS.md +++ b/build_assets/macOS/Packaging_Instructions_macOS.md @@ -49,5 +49,5 @@ a) Create a New Project ... set the template as "Distribution".\ b) Under the Packages, either edit the existing package or create a new one. Set "Identifier" to com.morpheus.pkg.MORAgents, set the Payload to have MORAgents.app under /Applications, then under Scripts, add the preinstall.sh and postinstall.sh from the downloaded files.\ c) Create a new Package, then under Payload, add the Docker Desktop Mac Install under /Applications\ d) Create a new Package, then under preinstall scripts, add the preinstall_ollama.sh script from the downloaded files.\ -e) Navigate to Project, then set Presentation to have the welcome.html file and other settings to present the installer. +e) Navigate to Project, then set Presentation to have the welcome.html and license.html files and other settings to present the installer. diff --git a/build_assets/macOS/license.html b/build_assets/macOS/license.html new file mode 100644 index 0000000..dbeabea --- /dev/null +++ b/build_assets/macOS/license.html @@ -0,0 +1,41 @@ + + + + + + + +

License Agreement

+

Please read the following License Agreement carefully. By continuing, you acknowledge that you have read and agreed to the License.

+ +
+MIT License + +Copyright (c) 2024 Liquid Tensor LLC + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +
+ +

By clicking Continue, installing, and/or using the MORagents software you accept the terms of the License agreement.

+ + From e05557654e72c37e565411f53e29601ade0244c3 Mon Sep 17 00:00:00 2001 From: LachsBagel <149974355+LachsBagel@users.noreply.github.com> Date: Sun, 18 Aug 2024 11:34:03 -0500 Subject: [PATCH 33/37] packaging wizard fixes --- AGENTABILITIES.md | 2 +- MORagents.spec | 4 +- .../macOS/Packaging_Instructions_macOS.md | 65 ++++++++++--------- build_assets/macOS/license.html | 31 ++++++--- build_assets/macOS/welcome.html | 9 ++- .../moragents_dockers/agents/Dockerfile-apple | 2 +- .../agents/src/swap_agent/src/config.py | 2 +- 7 files changed, 67 insertions(+), 48 deletions(-) diff --git a/AGENTABILITIES.md b/AGENTABILITIES.md index bb6d8c9..3586c02 100644 --- a/AGENTABILITIES.md +++ b/AGENTABILITIES.md @@ -56,4 +56,4 @@ Pending Lumerin's work. Eventually Agent Builders will be able to permission-les ### Contact Join the [Morpheus Discord](https://discord.com/invite/Dc26EFb6JK) -*Last Updated: August 8, 2024* +*Last Updated: August 16, 2024* diff --git a/MORagents.spec b/MORagents.spec index 6f0a26f..3f50430 100644 --- a/MORagents.spec +++ b/MORagents.spec @@ -30,7 +30,7 @@ exe = EXE( disable_windowed_traceback=False, argv_emulation=False, target_arch=None, - codesign_identity=None, + codesign_identity='Developer ID Application: Liquid Tensor LLC (ZQN244GMTD)', entitlements_file='build_assets/macOS/MORagents.entitlements', icon=['images/moragents.icns'], ) @@ -47,5 +47,5 @@ app = BUNDLE( coll, name='MORagents.app', icon='images/moragents.icns', - bundle_identifier=None, + bundle_identifier='com.liquidtensor.moragents', ) diff --git a/build_assets/macOS/Packaging_Instructions_macOS.md b/build_assets/macOS/Packaging_Instructions_macOS.md index ba10f5d..cb8103f 100644 --- a/build_assets/macOS/Packaging_Instructions_macOS.md +++ b/build_assets/macOS/Packaging_Instructions_macOS.md @@ -1,53 +1,58 @@ ## Distribution -## Build and Sign +## Build and Sign MORagents.app ```sh -pyinstaller --windowed --add-data "resources:resources" --osx-bundle-identifier "com.liquidtensor.moragents" --codesign-identity "Developer ID Application: Liquid Tensor LLC (ZQN244GMTD)" --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py +pyinstaller --windowed --osx-bundle-identifier "com.liquidtensor.moragents" --codesign-identity "Developer ID Application: Liquid Tensor LLC (ZQN244GMTD)" --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py ``` +NOTE: you will need to use your own codesigning identity if you intend to distribute. Codesigining is not required for running it on the same mac you built the .app on. For this you can drop the ```--codesign-identity "Developer ID Application: Liquid Tensor LLC (ZQN244GMTD)"``` part from the command. -## Compress -```sh -ditto -c -k --sequesterRsrc --keepParent "MORagents.app" "MORagents.zip" -```` +## Wizard Creation -## Notarize -```sh -xcrun notarytool submit "MORagents.zip" --keychain-profile "NotaryProfile" --wait +1. Download the dev version of the Packages app (it has to be the dev version because the latest build doesn't work on mac sonoma/last updated 2022) [Packages App](http://s.sudre.free.fr/Software/Packages/about.html) [packages_1211_dev.dmg](http://s.sudre.free.fr/files/Packages_1211_dev.dmg) +2. Download the files in https://github.com/MorpheusAIs/moragents/tree/main/build_assets/macOS, along with [Docker Desktop Mac Install](https://docs.docker.com/desktop/install/mac-install/) and the MORAgents.app you built in previous step. +3. In the Packages App...\ + 1. Create a New Project ... set the template as "Distribution".\ + 2. Under the Packages, either edit the existing package or create a new one. Set "Identifier" to com.morpheus.pkg.MORAgents, set the Payload to have MORAgents.app under /Applications, then under Scripts, add the preinstall.sh and postinstall.sh from the downloaded files.\ + 3. Create a new Package, Set "Identifier" to com.morpheus.pkg.DockerDesktop, then under Payload, add the Docker Desktop Mac Install under /Applications\ + 4. Create a new Package, Set "Identifier" to com.morpheus.pkg.Ollama, then under preinstall scripts, add the preinstall_ollama.sh script from the downloaded files.\ + 5. Navigate to Project, then in Presentation click the topright dropdown and select Introduction choose the welcome.html file, add a License section and choose license.html. + 6. In the upmost toolbar click Build -> Build to generate a .pkg file in the directory you saved the MORagents Packages package + +--- + +>Note: Following steps are only required for distribution. +If you are just running the app on your own Mac you can run the .pkg you created, and then open MORagents from your searchbar. +Future usage only requires you to run MORagents from your searchbar. + +--- + +## Signing +```sh + productsign --sign "Developer ID Installer: Liquid Tensor LLC (ZQN244GMTD)" MORagents.pkg MORagents009.pkg ``` -## Staple App file -```shell -xcrun stapler staple "MORagents.app" +## Notarize +```sh +xcrun notarytool submit MORagents009.pkg --keychain-profile "NotaryProfile" --wait ``` -## Recreate zip archive post-stapling -```sh -ditto -c -k --sequesterRsrc --keepParent "MORagents.app" "MORagents.zip" -```` +## Staple +```sh +xcrun stapler staple MORagents009.pkg +``` --- -## Verify +## Verify (Optional) ### Verify notarization ```sh xcrun notarytool info "" --keychain-profile "NotaryProfile" ``` +### Verify codesign ```sh codesign --verify --verbose=4 MORagents.app codesign -dv --verbose=4 MORagents.app -``` - -## Wizard Creation - -1. Download the dev version of the Packages app (it has to be the dev version because the latest build doesn't work on mac sonoma/last updated 2022) [Packages App](http://s.sudre.free.fr/Software/Packages/about.html) [packages_1211_dev.dmg](http://s.sudre.free.fr/files/Packages_1211_dev.dmg) -2. Download the files in https://github.com/MorpheusAIs/moragents/blob/a9d875b679df3e14e1d0a28704d00c001c99e340/build_assets/windows/, along with [Docker Desktop Mac Install](https://docs.docker.com/desktop/install/mac-install/) and MORAgents.app. -3. In the Packages App...\ -a) Create a New Project ... set the template as "Distribution".\ -b) Under the Packages, either edit the existing package or create a new one. Set "Identifier" to com.morpheus.pkg.MORAgents, set the Payload to have MORAgents.app under /Applications, then under Scripts, add the preinstall.sh and postinstall.sh from the downloaded files.\ -c) Create a new Package, then under Payload, add the Docker Desktop Mac Install under /Applications\ -d) Create a new Package, then under preinstall scripts, add the preinstall_ollama.sh script from the downloaded files.\ -e) Navigate to Project, then set Presentation to have the welcome.html and license.html files and other settings to present the installer. - +``` \ No newline at end of file diff --git a/build_assets/macOS/license.html b/build_assets/macOS/license.html index dbeabea..2d8999a 100644 --- a/build_assets/macOS/license.html +++ b/build_assets/macOS/license.html @@ -7,35 +7,50 @@ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica', 'Arial', sans-serif; line-height: 1.6; padding: 20px; + color: #333; } h1 { color: #333; } .license { - background-color: #f8f8f8; - border: 1px solid #ddd; + background-color: #2c3e50; /* Dark background */ + color: #ffffff; /* White text */ + border: 1px solid #34495e; padding: 15px; margin-top: 20px; white-space: pre-wrap; + border-radius: 5px; }

License Agreement

Please read the following License Agreement carefully. By continuing, you acknowledge that you have read and agreed to the License.

- +
MIT License Copyright (c) 2024 Liquid Tensor LLC -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.
- +

By clicking Continue, installing, and/or using the MORagents software you accept the terms of the License agreement.

- + \ No newline at end of file diff --git a/build_assets/macOS/welcome.html b/build_assets/macOS/welcome.html index 679f338..585d5ea 100644 --- a/build_assets/macOS/welcome.html +++ b/build_assets/macOS/welcome.html @@ -3,7 +3,7 @@ - Welcome to MORAgents Installer + Welcome to MORagents v0.0.9 Installer -

Welcome to MORAgents Installer

-

Thank you for choosing to install MORAgents on your system. This installer will guide you through the process of setting up MORAgents and its dependencies.

+

Welcome to MORagents v0.0.9 Installer

+

Thank you for choosing to install MORagents on your system. This installer will guide you through the process of setting up MORagents and its dependencies.

The installer will perform the following steps:

  • Check the installed Python version and install Python 3.12.0 if necessary.
  • Check if Docker is installed and install Docker Desktop if needed.
  • Check if Ollama is installed and install Ollama if needed.
  • -
  • Install the MORAgents application.
  • +
  • Install the MORagents application.

Please note that during the installation process, you may be prompted to enter your system password to authorize the installation of required components.

Click "Continue" to proceed with the installation.

- diff --git a/submodules/moragents_dockers/agents/Dockerfile-apple b/submodules/moragents_dockers/agents/Dockerfile-apple index 5dc0620..ef7ee27 100644 --- a/submodules/moragents_dockers/agents/Dockerfile-apple +++ b/submodules/moragents_dockers/agents/Dockerfile-apple @@ -1,4 +1,4 @@ -FROM arm64v8/python:3.10-bullseye +FROM --platform=linux/arm64 python:3.10-bullseye # Set the working directory in the container WORKDIR /app diff --git a/submodules/moragents_dockers/agents/src/swap_agent/src/config.py b/submodules/moragents_dockers/agents/src/swap_agent/src/config.py index b91a88f..d54cea4 100644 --- a/submodules/moragents_dockers/agents/src/swap_agent/src/config.py +++ b/submodules/moragents_dockers/agents/src/swap_agent/src/config.py @@ -15,7 +15,7 @@ class Config: QUOTE_URL = "https://api.1inch.dev/swap" APIBASEURL = f"https://api.1inch.dev/swap/v6.0/" HEADERS = { "Authorization": "Bearer WvQuxaMYpPvDiiOL5RHWUm7OzOd20nt4", "accept": "application/json" } - WEB3RPCURL = {"56":"https://bsc-dataseed.binance.org","42161":"https://arb1.arbitrum.io/rpc","137":"https://polygon-rpc.com","1":"https://cloudflare-eth.com","10":"https://mainnet.optimism.io","8453":"https://mainnet.base.org"} + WEB3RPCURL = {"56":"https://bsc-dataseed.binance.org","42161":"https://arb1.arbitrum.io/rpc","137":"https://polygon-rpc.com","1":"https://eth.llamarpc.com/","10":"https://mainnet.optimism.io","8453":"https://mainnet.base.org"} NATIVE_TOKENS={"137":"MATIC","56":"BNB","1":"ETH","42161":"ETH","10":"ETH","8453":"ETH"} ERC20_ABI = [ {"constant": True, "inputs": [], "name": "decimals", "outputs": [{"name": "", "type": "uint8"}], "payable": False, "stateMutability": "view", "type": "function"}, From 9941fd0de167d84f1ff85dce9691700d128667b2 Mon Sep 17 00:00:00 2001 From: LachsBagel <149974355+LachsBagel@users.noreply.github.com> Date: Sun, 18 Aug 2024 14:36:32 -0500 Subject: [PATCH 34/37] Updated Instructions for MORagents v0.0.9 on macOS arm64 --- README.md | 52 +++++++++++-------- build_assets/macOS/README_MACOS_DEV_BUILD.md | 2 +- images/moragents_chatpdf.png | Bin 0 -> 336927 bytes 3 files changed, 30 insertions(+), 24 deletions(-) create mode 100644 images/moragents_chatpdf.png diff --git a/README.md b/README.md index 3f62926..62529e8 100644 --- a/README.md +++ b/README.md @@ -3,41 +3,47 @@ ## Morpheus Install for Local Web3 Agent Interaction +![UI 1](images/moragents_chatpdf.png) -![UI 1](images/wallet_integration.png) +![UI 2](images/wallet_integration.png) -![UI 2](images/successful_swap.png) +![UI 3](images/successful_swap.png) + +![UI 4](images/agent_clarify.png) -![UI 3](images/agent_clarify.png) --- ### Features -#### Current: -- Fetch price, market cap, and TVL of coins and tokens supported on CoinGecko -- Web interface -- Wallet integrations for your existing wallets in-browser - - MetaMask - - Rainbow - - Coinbase Wallet - - WalletConnect -- Web3 swap agents - -#### Pending: -- Chat with local files agent (general purpose) +- Chat with local PDF files +- Swap ERC Compatible Tokens +- Fetch Price, Market Cap, and TVL of coins and tokens supported on CoinGecko +- Web interface works in your preferred browser: + - Chrome + - Brave + + with your favorite wallet extensions: + - MetaMask + - Rainbow + - Coinbase Wallet + - WalletConnect --- -### Install -#### macOS on M1/2/3 etc. (arm64) +## Install +### macOS on M1/2/3 etc. (arm64) >Assumes minimum 16GB RAM -#### Steps +#### Steps to Install 1. Download and install [Docker Desktop](https://www.docker.com/products/docker-desktop/) 1. Follow default settings, can skip surveys, then leave docker desktop running. You can minimize it. -2. USe Chrome to download [Moragents.zip](https://drive.proton.me/urls/X35VBE3GWW#mtrqT6rAzZbi), open ZIP, and copy MORagents.app to your Applications folder - > SHA256 96c2510e4f7a752c613b322be0a107958ee34814415e3e7b950b426298379a7a MORagents.zip -3. Open **MORagents** app. Give it a few minutes the first time, and then it should open your browser. - 1. If there's an issue, try opening the MORagents app again +2. Download and install [MORagents009.pkg](https://drive.proton.me/urls/762Z6QFNH4#68MKubcGeDtf) + > SHA256 5200350bba351a40cfac5552476bad1bb67d32ff069a4d9ebc0b3556367673b7 MORagents009.pkg +3. Wait several minutes for background files to download and then your browser should automatically open to http://localhost:3333 + > Note: After installation is complete, the MORagents app icon will bounce for several minutes on your dock, and then stop. This is normal behavior as it's downloading a large 9GB file in the background. You can open "Activity Monitor" and in the Network tab see that it's downloading. + +#### Future Usage +- Open the "MORagents" app from Mac search bar. + - For easier access: Right-click MORagents icon on dock -> Options -> Keep in Dock ### macOS Intel (x86_64) *coming soon* @@ -64,7 +70,7 @@ 2. If anything hangs for >10min, please try opening the MORagents app again from the Desktop #### Troubleshooting -If the app shows connections errors to agent fetcher. Please ensure Docker Desktop is running, then close and reopen **MORagents** from desktop. +If the app shows connections errors in connecting to agents. Please ensure Docker Desktop is running, then close and reopen **MORagents** from desktop. --- diff --git a/build_assets/macOS/README_MACOS_DEV_BUILD.md b/build_assets/macOS/README_MACOS_DEV_BUILD.md index e5e929e..223cea9 100644 --- a/build_assets/macOS/README_MACOS_DEV_BUILD.md +++ b/build_assets/macOS/README_MACOS_DEV_BUILD.md @@ -36,7 +36,7 @@ For Intel (x86_64) $ pyinstaller --windowed --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py ``` # If you have issues, try - python -m PyInstaller --windowed --runtime-hook runtime_hook.py --name="MORagents" --icon="moragents.icns" main.py + python -m PyInstaller --windowed --name="MORagents" --icon="images/moragents.icns" --osx-entitlements-file "build_assets/macOS/MORagents.entitlements" main.py 6. Install Application ```shell diff --git a/images/moragents_chatpdf.png b/images/moragents_chatpdf.png new file mode 100644 index 0000000000000000000000000000000000000000..d9777ce15cdef9cb440a7eacaa5a9ba902845813 GIT binary patch literal 336927 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 z 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

4eAAy58K$II`drVEwZ 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ǣ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Ν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 E0KKV(UH||9 literal 0 HcmV?d00001 From e20d6ed852504702ba070da601935da5bb74b193 Mon Sep 17 00:00:00 2001 From: Lachs Bagel Date: Sun, 18 Aug 2024 16:34:13 -0500 Subject: [PATCH 35/37] fixes and updates for windows 009 release --- README.md | 27 ++++++++++--------- submodules/moragents_dockers/README.md | 19 +++++++++---- .../moragents_dockers/agents/Dockerfile | 2 +- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 62529e8..1807cdc 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,10 @@ - Open the "MORagents" app from Mac search bar. - For easier access: Right-click MORagents icon on dock -> Options -> Keep in Dock +#### Troubleshooting +If the app shows connections errors in connecting to agents. Please ensure Docker Desktop is running, then close and reopen **MORagents** from desktop. + + ### macOS Intel (x86_64) *coming soon* @@ -54,20 +58,17 @@ >Assumes minimum 16GB RAM #### Steps -1. Use Chrome to download [MORagentsWindowsInstaller.zip](https://drive.proton.me/urls/9BE8X1ZMTG#Oh1SfTeklH4W) - > SHA256 0a5f5e3a288d45854c83994fa4afa4c713019229d99d67f28442fc56a5de1b20 MORagentsWindowsInstaller.zip -2. Go to downloaded **MORagentsWindowsInstaller(.zip)** file and click to "Extract All" -3. Open Extracted Folder **MORagentsWindowsInstaller** - 1. You may need to disable your anti-virus software before proceeding +1. Use Chrome to download [MORagentsSetupWindows009.zip](https://drive.proton.me/urls/8X58WAH80G#ib5r3K4WalDA) + > SHA256 6b8bd78571df2f5e8c6e516102aa05b1121d0214fdfb75a2be16146c22e0d2c52 MORagentsSetupWindows009.zip +2. Go to downloaded **MORagentsSetupWindows009(.zip)** file and double click to open" +3. Double click **MORagentsSetup.exe** + 1. You may need to click "More info" -> "Run anyway" + 2. If that still doesn't work, try temporarily disabling your anti-virus and open the .exe again 4. Click and Run **MORagentsSetup.exe** - 1. This will auto-install Docker Desktop dependency -5. Open **MORagents** from Desktop -6. Accept Docker's EULA - 1. Surveys are optional, can skip -7. Wait for Docker engine to start... -8. Open **MORagents** App from Desktop - 1. First time installation requires some extra time to load agent's image - 2. If anything hangs for >10min, please try opening the MORagents app again from the Desktop + 1. This will auto-install Docker and Ollama dependencies. Those will ask you for confirmation. +5. Open **MORagents** from Desktop + 1. Wait for Docker engine to start... + 2. If you see any errors or if anything hangs for >10min, please try opening the MORagents app again from the Desktop #### Troubleshooting If the app shows connections errors in connecting to agents. Please ensure Docker Desktop is running, then close and reopen **MORagents** from desktop. diff --git a/submodules/moragents_dockers/README.md b/submodules/moragents_dockers/README.md index 28510f8..45fa221 100644 --- a/submodules/moragents_dockers/README.md +++ b/submodules/moragents_dockers/README.md @@ -20,11 +20,20 @@ Pull the required models in ollama Docker compose will build and run two containers. One will be for the agents, the other will be for the UI. -```docker-compose up``` - -or for Apple silicon - -```docker-compose -f docker-compose-apple.yml up``` +1. Ensure you're in the submodules/moragents_dockers folder + ```sh + $ cd submodules/moragents_dockers + ``` + +2. Build Images and Launch Containers: + 1. For Intel / AMD / x86_64 + ```sh + docker-compose up + ``` + 2. For Apple silicon (M1, M2, M3, etc) + ```sh + docker-compose -f docker-compose-apple.yml up + ``` Open in the browser: ```http://localhost:3333/``` diff --git a/submodules/moragents_dockers/agents/Dockerfile b/submodules/moragents_dockers/agents/Dockerfile index adf0198..060da90 100644 --- a/submodules/moragents_dockers/agents/Dockerfile +++ b/submodules/moragents_dockers/agents/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10-slim-buster +FROM --platform=linux/amd64 python:3.10-bullseye # Set the working directory in the container WORKDIR /app From a4ba6438943318a9fcdd63f9e5875732a72a8e11 Mon Sep 17 00:00:00 2001 From: LachsBagel <149974355+LachsBagel@users.noreply.github.com> Date: Sun, 18 Aug 2024 16:49:58 -0500 Subject: [PATCH 36/37] updated contribution info --- AGENTABILITIES.md | 14 +++++++------- CONTRIBUTE.md | 14 ++++++++++++-- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/AGENTABILITIES.md b/AGENTABILITIES.md index 3586c02..ee8dccb 100644 --- a/AGENTABILITIES.md +++ b/AGENTABILITIES.md @@ -11,18 +11,18 @@ transaction. ### Current Projects: 1. **lachsbagel on Discord** - [this repo](https://github.com/MorpheusAIs/moragents): - 1. Local Docker install - 2. (pending) [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running - 1. Note: this repo will be made public under an MIT license following the publishing of a paper by the same name which is currently in the works + 1. Local install architecture 2. **IODmitri, SanatSharma, LachsBagel on GitHhub** - 3. [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running - 4. Link to Paper [Hide and Seek: Fingerprinting Large Language Models with Evolutionary Learning](https://www.arxiv.org/abs/2408.02871) + 1. [HideNSeek](https://github.com/MorpheusAIs/HideNSeek): An algorithm for verifying and fingerprinting which model a compute provider is actually running + 1. Link to Paper [Hide and Seek: Fingerprinting Large Language Models with Evolutionary Learning](https://www.arxiv.org/abs/2408.02871) + 2. (pending) A follow-on paper exploring parameter size estimation is in the works. 3. **artfuljars on Discord**: 1. Windows Build (EXE version of .app) 2. Two installation wizards: 1. Windows 2. (pending) macOS - 3. (pending) CICD builds for Windows, Linux, and macOS + 3. CICD build for Windows + 4. (pending) CICD builds for Linux and macOS 4. (pending) Vulnerability scanning of dependencies and code 4. GenLayer 1. (pending) [FeedBuzz](https://github.com/yeagerai/feedbuzz-contracts) - AI filtered logging system to surface user demand and failure modes for new functionality @@ -56,4 +56,4 @@ Pending Lumerin's work. Eventually Agent Builders will be able to permission-les ### Contact Join the [Morpheus Discord](https://discord.com/invite/Dc26EFb6JK) -*Last Updated: August 16, 2024* +*Last Updated: August 18, 2024* diff --git a/CONTRIBUTE.md b/CONTRIBUTE.md index 017c23b..8c645f7 100644 --- a/CONTRIBUTE.md +++ b/CONTRIBUTE.md @@ -1,4 +1,14 @@ -Contribution Process: +# Contributing and Future Interoperability of Agents + +**For contributors looking to build a local agent** please wait until a test agent being built by Dan Y. (mentioned in [AGENTABILITIES](./AGENTABILITIES.md)) concludes an integration with the new agent router in [Agent Router PR](https://github.com/MorpheusAIs/moragents/pull/45). +Around September 2024 the release of v0.1.0 will incorporate the above. +Release v0.1.0 will include new guides to easily and independently integrate your own local agent. + +Beyond September, the router will expand to coordinate the decentralized agents along with local agents to provide for dynamic workflow construction to satisfy more complex user queries. + +--- + +# Contribution Process: 1. Prospective contributors can propose an idea or find a relevant issue from [Issues](https://github.com/MorpheusAIs/moragents/issues) 1. See what's being worked on here in [AGENTABILITIES](./AGENTABILITIES.md) 2. Contact lachsbagel on the Morpheus Discord or comment on an issue above @@ -6,4 +16,4 @@ Contribution Process: 4. Developer produces deliverable 5. Developer will receive weights following delivery and verification 6. Developer must maintain functionality and resolve bugs to keep weights. No additional weights for same scope. - 1. If maintenance doesn't occur then developer will receive notice maintain or risk losing some or all weights + 1. If maintenance doesn't occur then developer will receive notice to maintain or risk losing some or all weights From 5b73c7a0bdbee14001c54bdbd57cd40a90a3cf96 Mon Sep 17 00:00:00 2001 From: LachsBagel <149974355+LachsBagel@users.noreply.github.com> Date: Sun, 18 Aug 2024 16:54:00 -0500 Subject: [PATCH 37/37] small typo fixes --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1807cdc..a346d73 100644 --- a/README.md +++ b/README.md @@ -60,10 +60,10 @@ If the app shows connections errors in connecting to agents. Please ensure Docke #### Steps 1. Use Chrome to download [MORagentsSetupWindows009.zip](https://drive.proton.me/urls/8X58WAH80G#ib5r3K4WalDA) > SHA256 6b8bd78571df2f5e8c6e516102aa05b1121d0214fdfb75a2be16146c22e0d2c52 MORagentsSetupWindows009.zip -2. Go to downloaded **MORagentsSetupWindows009(.zip)** file and double click to open" +2. Go to downloaded **MORagentsSetupWindows009(.zip)** file and double click to open 3. Double click **MORagentsSetup.exe** 1. You may need to click "More info" -> "Run anyway" - 2. If that still doesn't work, try temporarily disabling your anti-virus and open the .exe again + 2. If that still doesn't work, try temporarily disabling your antivirus and open the .exe again 4. Click and Run **MORagentsSetup.exe** 1. This will auto-install Docker and Ollama dependencies. Those will ask you for confirmation. 5. Open **MORagents** from Desktop