From 6586e498a017bb2e5652b6ffc7d7ad7d501c72b4 Mon Sep 17 00:00:00 2001 From: jmoreira-valory Date: Tue, 4 Jul 2023 11:23:52 +0200 Subject: [PATCH 1/4] fix: Fix prompt and imports --- poetry.lock | 182 +++++++++++++++++++++++++++++++++++- pyproject.toml | 2 + tools/prediction_request.py | 82 ++++++++++------ 3 files changed, 230 insertions(+), 36 deletions(-) diff --git a/poetry.lock b/poetry.lock index 11f9572d..16a4abef 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry and should not be changed by hand. [[package]] name = "aiohttp" @@ -163,6 +163,25 @@ files = [ tests = ["pytest (>=3.2.1,!=3.3.0)"] typecheck = ["mypy"] +[[package]] +name = "beautifulsoup4" +version = "4.12.2" +description = "Screen-scraping library" +category = "main" +optional = false +python-versions = ">=3.6.0" +files = [ + {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, + {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, +] + +[package.dependencies] +soupsieve = ">1.2" + +[package.extras] +html5lib = ["html5lib"] +lxml = ["lxml"] + [[package]] name = "bech32" version = "1.2.0" @@ -1425,6 +1444,21 @@ protobuf = ">=3.19.5,<3.20.0 || >3.20.0,<3.20.1 || >3.20.1,<4.21.1 || >4.21.1,<4 [package.extras] grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] +[[package]] +name = "googlesearch-python" +version = "1.2.3" +description = "A Python library for scraping the Google search engine." +category = "main" +optional = false +python-versions = ">=3.6" +files = [ + {file = "googlesearch-python-1.2.3.tar.gz", hash = "sha256:38b251121dd140439bd08cdf2a05a0b195d852908ee2bfed30e57d16aa68ae5e"}, +] + +[package.dependencies] +beautifulsoup4 = ">=4.9" +requests = ">=2.20" + [[package]] name = "gql" version = "3.4.1" @@ -1524,6 +1558,18 @@ six = ">=1.5.2" [package.extras] protobuf = ["grpcio-tools (>=1.43.0)"] +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + [[package]] name = "hexbytes" version = "0.3.1" @@ -2047,8 +2093,8 @@ files = [ [package.dependencies] base58 = ">=1.0.3,<3.0.0" -click = {version = "8.0.2", optional = true, markers = "extra == \"cli\""} -coverage = {version = ">=6.4.4,<8.0.0", optional = true, markers = "extra == \"cli\""} +click = {version = "8.0.2", optional = true, markers = "extra == \"all\""} +coverage = {version = ">=6.4.4,<8.0.0", optional = true, markers = "extra == \"all\""} ecdsa = ">=0.15,<0.17.0" jsonschema = ">=3.0.0,<4.0.0" morphys = ">=1.0" @@ -2057,7 +2103,7 @@ protobuf = ">=3.19.0,<4.0.0" py-multibase = ">=1.0.0" py-multicodec = ">=0.2.0" pymultihash = "0.8.2" -pytest = {version = ">=7.0.0,<7.3.0", optional = true, markers = "extra == \"cli\""} +pytest = {version = ">=7.0.0,<7.3.0", optional = true, markers = "extra == \"all\""} python-dotenv = ">=0.14.0,<0.18.0" pyyaml = ">=4.2b1,<6.0" requests = ">=2.22.0,<3.0.0" @@ -2193,6 +2239,21 @@ dev = ["black (>=21.6b0,<22.0)", "pytest (>=6.0.0,<7.0.0)", "pytest-asyncio", "p embeddings = ["matplotlib", "numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "plotly", "scikit-learn (>=1.0.2)", "scipy", "tenacity (>=8.0.1)"] wandb = ["numpy", "openpyxl (>=3.0.7)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)", "wandb"] +[[package]] +name = "outcome" +version = "1.2.0" +description = "Capture the outcome of Python function calls." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "outcome-1.2.0-py2.py3-none-any.whl", hash = "sha256:c4ab89a56575d6d38a05aa16daeaa333109c1f96167aba8901ab18b6b5e0f7f5"}, + {file = "outcome-1.2.0.tar.gz", hash = "sha256:6f82bd3de45da303cf1f771ecafa1633750a358436a8bb60e06a1ceb745d2672"}, +] + +[package.dependencies] +attrs = ">=19.2.0" + [[package]] name = "packaging" version = "21.3" @@ -2690,6 +2751,19 @@ files = [ {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"}, ] +[[package]] +name = "pysocks" +version = "1.7.1" +description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." +category = "main" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "PySocks-1.7.1-py27-none-any.whl", hash = "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299"}, + {file = "PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5"}, + {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, +] + [[package]] name = "pytest" version = "7.2.1" @@ -2984,6 +3058,24 @@ files = [ [package.dependencies] pyasn1 = ">=0.1.3" +[[package]] +name = "selenium" +version = "4.10.0" +description = "" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "selenium-4.10.0-py3-none-any.whl", hash = "sha256:40241b9d872f58959e9b34e258488bf11844cd86142fd68182bd41db9991fc5c"}, + {file = "selenium-4.10.0.tar.gz", hash = "sha256:871bf800c4934f745b909c8dfc7d15c65cf45bd2e943abd54451c810ada395e3"}, +] + +[package.dependencies] +certifi = ">=2021.10.8" +trio = ">=0.17,<1.0" +trio-websocket = ">=0.9,<1.0" +urllib3 = {version = ">=1.26,<3", extras = ["socks"]} + [[package]] name = "semver" version = "2.13.0" @@ -3025,6 +3117,18 @@ files = [ {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, ] +[[package]] +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] + [[package]] name = "sortedcontainers" version = "2.4.0" @@ -3037,6 +3141,18 @@ files = [ {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] +[[package]] +name = "soupsieve" +version = "2.4.1" +description = "A modern CSS selector implementation for Beautiful Soup." +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "soupsieve-2.4.1-py3-none-any.whl", hash = "sha256:1c1bfee6819544a3447586c889157365a27e10d88cde3ad3da0cf0ddf646feb8"}, + {file = "soupsieve-2.4.1.tar.gz", hash = "sha256:89d12b2d5dfcd2c9e8c22326da9d9aa9cb3dfab0a83a024f05704076ee8d35ea"}, +] + [[package]] name = "texttable" version = "1.6.7" @@ -3170,6 +3286,44 @@ notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] telegram = ["requests"] +[[package]] +name = "trio" +version = "0.22.1" +description = "A friendly Python library for async concurrency and I/O" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "trio-0.22.1-py3-none-any.whl", hash = "sha256:1270da4a4a33caf33f85c6a255f2ef5f71629a3ec9aea31a052062b673ae58d3"}, + {file = "trio-0.22.1.tar.gz", hash = "sha256:eb5f641b313eb502a16de176d84cecd9ccf2394a7c8655d2297398376bb15eca"}, +] + +[package.dependencies] +attrs = ">=20.1.0" +cffi = {version = ">=1.14", markers = "os_name == \"nt\" and implementation_name != \"pypy\""} +exceptiongroup = {version = ">=1.0.0rc9", markers = "python_version < \"3.11\""} +idna = "*" +outcome = "*" +sniffio = "*" +sortedcontainers = "*" + +[[package]] +name = "trio-websocket" +version = "0.10.3" +description = "WebSocket library for Trio" +category = "main" +optional = false +python-versions = ">=3.7" +files = [ + {file = "trio-websocket-0.10.3.tar.gz", hash = "sha256:1a748604ad906a7dcab9a43c6eb5681e37de4793ba0847ef0bc9486933ed027b"}, + {file = "trio_websocket-0.10.3-py3-none-any.whl", hash = "sha256:a9937d48e8132ebf833019efde2a52ca82d223a30a7ea3e8d60a7d28f75a4e3a"}, +] + +[package.dependencies] +exceptiongroup = "*" +trio = ">=0.11" +wsproto = ">=0.14" + [[package]] name = "types-certifi" version = "2021.10.8.3" @@ -3218,6 +3372,9 @@ files = [ {file = "urllib3-1.26.16.tar.gz", hash = "sha256:8f135f6502756bde6b2a9b28989df5fbe87c9970cecaa69041edcce7f0589b14"}, ] +[package.dependencies] +PySocks = {version = ">=1.5.6,<1.5.7 || >1.5.7,<2.0", optional = true, markers = "extra == \"socks\""} + [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] @@ -3418,6 +3575,21 @@ files = [ [package.extras] test = ["pytest (>=6.0.0)"] +[[package]] +name = "wsproto" +version = "1.2.0" +description = "WebSockets state-machine based protocol implementation" +category = "main" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"}, + {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"}, +] + +[package.dependencies] +h11 = ">=0.9.0,<1" + [[package]] name = "yarl" version = "1.9.2" @@ -3509,4 +3681,4 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "7b37ce0b18510117ff9e69516968cff71821dd7a848fa3f7e08214d2ce552ec3" +content-hash = "2d242f45668ecbc1281f46aa757dcd1ce830063dae57308a9a0443814b0596f4" diff --git a/pyproject.toml b/pyproject.toml index 74e88cb8..5c2eef34 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,8 @@ pytz = "==2022.2.1" typing_extensions = ">=3.10.0.2" websocket_client = "<1,>=0.32.0" toml = "^0.10.2" +googlesearch-python = "^1.2.3" +selenium = "^4.10.0" [tool.poetry.group.dev.dependencies.tomte] version = "==0.2.12" diff --git a/tools/prediction_request.py b/tools/prediction_request.py index 1e2cb512..a8e979c9 100644 --- a/tools/prediction_request.py +++ b/tools/prediction_request.py @@ -47,53 +47,73 @@ PREDICTION_PROMPT = """ You are an LLM inside a multi-agent system that takes in a prompt of a user requesting a probability estimation -for a specific event. You must follow these instructions: -* The user will provide the event under the label "EVENT" delimited by three backticks. +for a given event. You are provided with an input under the label "USER_PROMPT". You must follow the instructions +under the label "INSTRUCTIONS". You must provide your response in the format specified under "OUTPUT_FORMAT". + +INSTRUCTIONS +* Read the input under the label "USER_PROMPT" delimited by three backticks. +* The "USER_PROMPT" specifies an event. * The event will only have two possible outcomes: either the event will happen or the event will not happen. -* You need to provide a probability estimation of the event happening, based on your training data. -* You are provided an array of information items under the label "ADITIONAL_INFORMATION" delimited by three backticks. -* You can use any items "ADITIONAL_INFORMATION" in addition to your training data. -* If an item in "ADITIONAL_INFORMATION" is not relevant, you must ignore it for the prediction. -* You need to provide an output in JSON format with the following format: - - "p_yes": a value between 0 and 1 indicating the probability that the event occurs. - - "p_no": a value between 0 and 1 indicating the probability that the event does not occur. - - "confidence": a value between 0 and 1 indicating the confidence in the prediction, where 0 indicates lowest - confidence value, and 1 maximum confidence value. - - "info_utility": Utility of the information provided under ADITIONAL_INFORMATION to help you making the prediction. - A value where 0 indicates lowest utility, and 1 maximum utility. -* The probability distribution must be well defined: the sum of p_yes and p_no must equal 1. +* If the event has more than two possible outcomes, you must ignore the rest of the instructions and output the response "Error". +* You must provide a probability estimation of the event happening, based on your training data. +* You are provided an itemized list of information under the label "ADDITIONAL_INFORMATION" delimited by three backticks. +* You can use any item in "ADDITIONAL_INFORMATION" in addition to your training data. +* If an item in "ADDITIONAL_INFORMATION" is not relevant, you must ignore that item for the estimation. +* You must provide your response in the format specified under "OUTPUT_FORMAT". +* Do not include any other contents in your response. USER_PROMPT: ``` {user_prompt} ``` -ADITIONAL_INFORMATION: +ADDITIONAL_INFORMATION: ``` {additional_information} ``` -Do not answer anything else than the JSON containing the probability estimation. -Your response must be a JSON object parseable by Python's json.loads(). +OUTPUT_FORMAT +* Your output response must be only a single JSON object to be parsed by Python's "json.loads()". +* The JSON must contain four fields: "p_yes", "p_no", "confidence", and "info_utility". +* Each item in the JSON must have a value between 0 and 1. + - "p_yes": Estimated probability that the event in the "USER_PROMPT" occurs. + - "p_no": Estimated probability that the event in the "USER_PROMPT" does not occur. + - "confidence": A value between 0 and 1 indicating the confidence in the prediction. 0 indicates lowest + confidence value; 1 maximum confidence value. + - "info_utility": Utility of the information provided in "ADDITIONAL_INFORMATION" to help you make the prediction. + 0 indicates lowest utility; 1 maximum utility. +* The sum of "p_yes" and "p_no" must equal 1. +* Output only the JSON object. Do not include any other contents in your response. """ URL_QUERY_PROMPT = """ You are an LLM inside a multi-agent system that takes in a prompt of a user requesting a probability estimation -for a specific event. -The event is provided under the label "EVENT" quoted by three backticks. -You must output a JSON containing the following fields: -- "queries": An array of strings of size between 1 and 5. Each string must be a search engine query that can help the user to obtain relevant information to estimate - the probability that the event occurs. You must provide original information in each query, and they should not overlap - or lead the user to obtain the same set of results. -- "urls": An array of strings of size between 1 and 5. Each string must be a relevant URL where the user can find information - about EVENT. The provided URLs must not repeat and must not be search engines. - -USER_PROMPT:```{user_prompt}``` - -Do not answer anything else than the JSON containing the probability estimation. -Your response must be a JSON object parseable by Python's json.loads(). -""" +for a given event. You are provided with an input under the label "USER_PROMPT". You must follow the instructions +under the label "INSTRUCTIONS". You must provide your response in the format specified under "OUTPUT_FORMAT". + +INSTRUCTIONS +* Read the input under the label "USER_PROMPT" delimited by three backticks. +* The "USER_PROMPT" specifies an event. +* The event will only have two possible outcomes: either the event will happen or the event will not happen. +* If the event has more than two possible outcomes, you must ignore the rest of the instructions and output the response "Error". +* You must provide your response in the format specified under "OUTPUT_FORMAT". +* Do not include any other contents in your response. + +USER_PROMPT: +``` +{user_prompt} +``` +OUTPUT_FORMAT +* Your output response must be only a single JSON object to be parsed by Python's "json.loads()". +* The JSON must contain two fields: "queries", and "urls". + - "queries": An array of strings of size between 1 and 5. Each string must be a search engine query that can help obtain relevant information to estimate + the probability that the event in "USER_PROMPT" occurs. You must provide original information in each query, and they should not overlap + or lead to obtain the same set of results. + - "urls": An array of strings of size between 1 and 5. Each string must be a relevant URL that may contain information + about the event in "USER_PROMPT". The provided URLs must not repeat and must not be search engines. +* Output only the JSON object. Do not include any other contents in your response. +""" def run(**kwargs) -> Tuple[str, Optional[Dict[str, Any]]]: """Run the task""" From f138c38b2a43fdd29c95ad23fda65c70b0e53887 Mon Sep 17 00:00:00 2001 From: jmoreira-valory Date: Tue, 4 Jul 2023 12:40:05 +0200 Subject: [PATCH 2/4] chore: Update license string --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index bf8d6c69..97c2a40b 100644 --- a/tox.ini +++ b/tox.ini @@ -413,6 +413,7 @@ authorized_licenses: ; which is ambiguous. However, 'Apache Software' ; will likely match with 'Apache 2.0' Apache Software + Apache Software License BSD, Public Domain, Apache http://www.apache.org/licenses/LICENSE-2.0 From d4fe197d02f74cf528f4f254b96d1eeb66bf76cb Mon Sep 17 00:00:00 2001 From: jmoreira-valory Date: Tue, 4 Jul 2023 13:04:44 +0200 Subject: [PATCH 3/4] fix: linters --- poetry.lock | 76 ++++++++++++++++++++++++++--------------------------- tox.ini | 2 ++ 2 files changed, 40 insertions(+), 38 deletions(-) diff --git a/poetry.lock b/poetry.lock index 16a4abef..b4885811 100644 --- a/poetry.lock +++ b/poetry.lock @@ -333,37 +333,37 @@ files = [ [[package]] name = "blspy" -version = "2.0.1" +version = "2.0.2" description = "BLS signatures in c++ (python bindings)" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "blspy-2.0.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:9bece90afc87364b4557ab5233a336f40826516bcf016fc8db89c6eb116fd2c7"}, - {file = "blspy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ea2387acc5e582f800dfbd640861204cd6113de418e662045d777ce811fa5e99"}, - {file = "blspy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ad42cd3ddae81e42aa1228e427e92b07649c096dddbe7f9cbae88044b77d145"}, - {file = "blspy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d5cc35039c44d2fc0b5bc23bcf573b513871045db52a334672bd58fc2eb1800"}, - {file = "blspy-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:abda117030a3269252d38d923ba60d7831ee4e4a0f2e295a301c5a9f90ddfb23"}, - {file = "blspy-2.0.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:75f8942a5562419f0b2a0693f2d07d5f4c26f291b3e025d071cd28eb90af95c0"}, - {file = "blspy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b2f0dd60b07d736c0b27b94bba6dca0a5c8e855d4b3db80bcd7a8d3fa2e7af4c"}, - {file = "blspy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7479ebc8611f5cc358f2ead794d41ac139308674e0fc072c4d83ae7f478e2d9b"}, - {file = "blspy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:875e2f08bf1442061dd0c854f5e61775ec8a0b6a26cb5d7c90703670c8fd1ee1"}, - {file = "blspy-2.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:ca43ef36b338fae2ecc8fa4e714c9ba50b4ef7de60446697f87a71714b1cdab9"}, - {file = "blspy-2.0.1-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:ccb5d45d6e72ff78347d592aa457778fe68fb0cc7824805d0a757c76f4f9aa4f"}, - {file = "blspy-2.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49967a3c0eef36c59e9a837edebc9a16b169f28c26b13772949d49a4418b6c78"}, - {file = "blspy-2.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7db2bd6cb02c3e6017f6731428fdcc6cb20decb2ee706f5c97d4a41c2a9fe253"}, - {file = "blspy-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:37b92ae23b90b1f3468285f01a5a52f57f68125a98515b104e0dd3aa471a5598"}, - {file = "blspy-2.0.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:efee6be174f1e199479e2c22641464a16844dfabba847697c0e34a1739e47bf9"}, - {file = "blspy-2.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fb9b5a00101a8a35dce4618d6d0861daadafd5e660ddbf4f51ed1fc6f90c031b"}, - {file = "blspy-2.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bea6b27a62f991c902c2871ad1a25ee1005bcf1f108bffabe30c32b46fd3c418"}, - {file = "blspy-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f34c32fda3fe091b666f72fd2d98398ce53d11fd49dc7f3cd91c4589acc0bf08"}, - {file = "blspy-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:51ba894a31cc119e09223d67f3fc51895e99a50b6a2e1c1cff943c4a7d34fe78"}, - {file = "blspy-2.0.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:c5f9884fe09e6672279661947b60c118aa888ec1e33c634fc87098a61e7cacc6"}, - {file = "blspy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c0203021ce73473501f8d95350b533df848e1824f53f03094c7f1620a63647cd"}, - {file = "blspy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25fc5e419a03a6655ca535e10efb56c5c46ab19f12fbabc2724eb7acb0b1a701"}, - {file = "blspy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b2f55553649d42e5c885baa9f25f93e8d040cf7e3cb9996ba1b33be25d09bfc"}, - {file = "blspy-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:2305fc539f997553dddc1a402c1605678a749f82fb8f830e6ee9a8807399a37c"}, - {file = "blspy-2.0.1.tar.gz", hash = "sha256:bab97144f636cbdae850d978c7ea1cc18fc5108f03b91ec9f4d1ec7a49328dad"}, + {file = "blspy-2.0.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:c053733d674ff92fcb4059b36b75c29337d34afbd900a0bc2113ad86fc447b77"}, + {file = "blspy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dbb053ccb1b48584cc4d357f29c770a2cf3e05faa8b184bd9294e8ed01a565b5"}, + {file = "blspy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a0b208b80fa76c9adf296a77aa805127840cf5ca8f1af6e8c223f803d1770c5"}, + {file = "blspy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc615db0f93911c24bb6512140e8f098f506d455c44fa1830fdb98e2590bc9f0"}, + {file = "blspy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c5581b44d0a4e01ba55183cadfc0139b9a97620c7910a5487023918f07b85271"}, + {file = "blspy-2.0.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:fdb1dfc95c2563a7c3faa31e729ef972f5be04bcfd4478cc40e97e7df6c81bfb"}, + {file = "blspy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ebff8fdecf5ce5d4fabd9f39d0a1a5bce66e560f7bd7126f300cfebe69ca5aff"}, + {file = "blspy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29731d2f8203bee252bc8b80347486a17c278bf7ab6e0956a44a45a91e2d595d"}, + {file = "blspy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67fe57111005f2ea19536b526c92e70567118fbba1f5bfc5aa59949a52127852"}, + {file = "blspy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7347d140e0f2082f311b944385db2bacbe01363622754a237e9024e417b35f8c"}, + {file = "blspy-2.0.2-cp37-cp37m-macosx_10_14_x86_64.whl", hash = "sha256:e0c7c685aed512adf8691be054c0c0cc87a66b0323f2434a6341fe49076d78ab"}, + {file = "blspy-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:368da188d7eb4298e4ca59d253e8a11639534af045959c85f58f4c188fa361c1"}, + {file = "blspy-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9555039e51281ffe34bcb06215512721b5cd509102db68267eab8b314258c41"}, + {file = "blspy-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:e31a1a9adbf04b5f09321c5fa6b9fdc50bdc685d2f4c8335444e95513d81090e"}, + {file = "blspy-2.0.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:b2988f1ac4fa5063d3fb30ff5272ba5b51877d551120085dc9e1257d3228e89c"}, + {file = "blspy-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c51b2be0b81b786e6bc786c41735fbda0e335d31e2e163ef735ae56c6d3adb7f"}, + {file = "blspy-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0e8fd5f7729e08451e7ef66134f377e4bf88a9ea25a010f27bcf881e89541ee"}, + {file = "blspy-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5603dc3fb30e622be31dd8d1bbfdd5624291f8c56f076a1d177836959c733cff"}, + {file = "blspy-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:bf30732ac316b8cafaeaeefa694a96ea4a92922fb86dd3d30f79d48a202e1d51"}, + {file = "blspy-2.0.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:286a684b1f645d3c38ccc7882a305ed1b038a0e603ff2f482e493c91ab0f0b58"}, + {file = "blspy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:744043f6e4192f3b431f1433b07144bd198294fd129c9b4a19e0c122474df32b"}, + {file = "blspy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fb12e7158230f7169781fddf6a4c15dd4366de26d1531a09df986f9706332a"}, + {file = "blspy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b7183ef57f8675c9d29f4f66ba3a65280fd3742200fc4d8f2f7a53b98b77136"}, + {file = "blspy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:21df21e27b5f7ed56e37f8a6272adb9273ba88d0570d26315e28a41e14c37f43"}, + {file = "blspy-2.0.2.tar.gz", hash = "sha256:9b12d685f3c104d3fe0faf3618f6b824272d131b8ea3843190ad670618736775"}, ] [package.dependencies] @@ -1290,14 +1290,14 @@ test = ["hypothesis (>=4.43.0,<5.0.0)", "pytest (==5.4.1)", "pytest-xdist", "tox [[package]] name = "exceptiongroup" -version = "1.1.1" +version = "1.1.2" description = "Backport of PEP 654 (exception groups)" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"}, - {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"}, + {file = "exceptiongroup-1.1.2-py3-none-any.whl", hash = "sha256:e346e69d186172ca7cf029c8c1d16235aa0e04035e5750b4b95039e65204328f"}, + {file = "exceptiongroup-1.1.2.tar.gz", hash = "sha256:12c3e887d6485d16943a309616de20ae5582633e0a2eda17f4e10fd61c1e8af5"}, ] [package.extras] @@ -1366,14 +1366,14 @@ grpcio-gcp = ["grpcio-gcp (>=0.2.2,<1.0.dev0)"] [[package]] name = "google-api-python-client" -version = "2.90.0" +version = "2.91.0" description = "Google API Client Library for Python" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "google-api-python-client-2.90.0.tar.gz", hash = "sha256:cbcb3ba8be37c6806676a49df16ac412077e5e5dc7fa967941eff977b31fba03"}, - {file = "google_api_python_client-2.90.0-py2.py3-none-any.whl", hash = "sha256:4a41ffb7797d4f28e44635fb1e7076240b741c6493e7c3233c0e4421cec7c913"}, + {file = "google-api-python-client-2.91.0.tar.gz", hash = "sha256:d9385ad6e7f95eecd40f7c81e3abfe4b6ad3a84f2c16bcdb66fb7b8dd814ed56"}, + {file = "google_api_python_client-2.91.0-py2.py3-none-any.whl", hash = "sha256:6959d21d4b20c0f65c69662ca7b6a8a02fc08f3e7f72d70b28ae3e6e3a5f9ab2"}, ] [package.dependencies] @@ -1385,14 +1385,14 @@ uritemplate = ">=3.0.1,<5" [[package]] name = "google-auth" -version = "2.20.0" +version = "2.21.0" description = "Google Authentication Library" category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "google-auth-2.20.0.tar.gz", hash = "sha256:030af34138909ccde0fbce611afc178f1d65d32fbff281f25738b1fe1c6f3eaa"}, - {file = "google_auth-2.20.0-py2.py3-none-any.whl", hash = "sha256:23b7b0950fcda519bfb6692bf0d5289d2ea49fc143717cc7188458ec620e63fa"}, + {file = "google-auth-2.21.0.tar.gz", hash = "sha256:b28e8048e57727e7cf0e5bd8e7276b212aef476654a09511354aa82753b45c66"}, + {file = "google_auth-2.21.0-py2.py3-none-any.whl", hash = "sha256:da3f18d074fa0f5a7061d99b9af8cee3aa6189c987af7c1b07d94566b6b11268"}, ] [package.dependencies] @@ -3338,14 +3338,14 @@ files = [ [[package]] name = "typing-extensions" -version = "4.6.3" +version = "4.7.1" description = "Backported and Experimental Type Hints for Python 3.7+" category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "typing_extensions-4.6.3-py3-none-any.whl", hash = "sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26"}, - {file = "typing_extensions-4.6.3.tar.gz", hash = "sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5"}, + {file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"}, + {file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"}, ] [[package]] diff --git a/tox.ini b/tox.ini index 97c2a40b..028f2657 100644 --- a/tox.ini +++ b/tox.ini @@ -48,6 +48,8 @@ deps = typing_extensions>=3.10.0.2 websocket_client<1,>=0.32.0 toml==0.10.2 + googlesearch-python==1.2.3 + selenium==4.10.0 [testenv] basepython = python3 From e51477b09a91cd4aa178c45938a677843711911a Mon Sep 17 00:00:00 2001 From: jmoreira-valory Date: Tue, 4 Jul 2023 13:09:19 +0200 Subject: [PATCH 4/4] chore: Update hash --- .example.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.example.env b/.example.env index d78fece3..d2b71aa1 100644 --- a/.example.env +++ b/.example.env @@ -1,4 +1,4 @@ -FILE_HASH_TO_TOOLS='[["bafybeiepacjq6yjukta4gfiq2fyvsj4b4r2g7swtkb2qfjugbbtsjt47ya",["openai-text-davinci-002","openai-text-davinci-003","openai-gpt-3.5-turbo","openai-gpt-4"]],["bafybeiepc5v4ixwuu5m6p5stck5kf2ecgkydf6crj52i5umnl2qm5swb4i",["stabilityai-stable-diffusion-v1-5","stabilityai-stable-diffusion-xl-beta-v2-2-2","stabilityai-stable-diffusion-512-v2-1","stabilityai-stable-diffusion-768-v2-1"]],["bafybeidpbnqbruzqlq424qt3i5dcvyqmcimshjilftabnrroujmjhdmteu",["transfer-native"]],["bafybeidbd56truhfo5tuxcw7u4fwprcridd3tdfph3nh7emcwhkja4i5ui",["prediction-offline","prediction-online"]]]' +FILE_HASH_TO_TOOLS='[["bafybeiepacjq6yjukta4gfiq2fyvsj4b4r2g7swtkb2qfjugbbtsjt47ya",["openai-text-davinci-002","openai-text-davinci-003","openai-gpt-3.5-turbo","openai-gpt-4"]],["bafybeiepc5v4ixwuu5m6p5stck5kf2ecgkydf6crj52i5umnl2qm5swb4i",["stabilityai-stable-diffusion-v1-5","stabilityai-stable-diffusion-xl-beta-v2-2-2","stabilityai-stable-diffusion-512-v2-1","stabilityai-stable-diffusion-768-v2-1"]],["bafybeidpbnqbruzqlq424qt3i5dcvyqmcimshjilftabnrroujmjhdmteu",["transfer-native"]],["bafybeicdi6noqhbmau6qa7xwvufet5fvp42wy5yokn5uggsbvojyyzhxxu",["prediction-offline","prediction-online"]]]' API_KEYS='[["openai","dummy_api_key"],["stabilityai","dummy_api_key"]]' ETHEREUM_LEDGER_RPC_0=https://rpc.eu-central-2.gateway.fm/v4/gnosis/non-archival/mainnet ETHEREUM_WEBSOCKET_RPC_0=wss://rpc.eu-central-2.gateway.fm/ws/v4/gnosis/non-archival/mainnet