From 7e2027f0098e3459c33fa50e3f41458d0a024b36 Mon Sep 17 00:00:00 2001 From: Wei Ouyang Date: Wed, 27 Nov 2024 02:14:40 -0800 Subject: [PATCH 01/41] Use redis as vector search --- .github/workflows/test.yml | 6 - docs/artifact-manager.md | 119 +++- hypha/VERSION | 2 +- hypha/artifact.py | 137 ++-- hypha/core/store.py | 35 -- hypha/core/workspace.py | 168 ++--- hypha/server.py | 7 - hypha/templates/apps/web-python.index.html | 4 +- .../hypha-core-app/hypha-app-webpython.js | 2 +- hypha/vectors.py | 583 +++++++++++++----- requirements.txt | 1 - setup.py | 1 - tests/__init__.py | 4 - tests/conftest.py | 65 +- tests/test_artifact.py | 13 +- tests/test_service_search.py | 12 +- tests/test_vectors.py | 102 ++- 17 files changed, 730 insertions(+), 531 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 215524fd..37b0bbaf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,12 +31,6 @@ jobs: ports: - 6338:6379 options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 - qdrant: - image: qdrant/qdrant:latest - ports: - - 6333:6333 - - 6334:6334 - options: --health-cmd "bash -c ':> /dev/tcp/127.0.0.1/6333' || exit 1" --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} diff --git a/docs/artifact-manager.md b/docs/artifact-manager.md index 857b039c..19fe9682 100644 --- a/docs/artifact-manager.md +++ b/docs/artifact-manager.md @@ -235,7 +235,7 @@ print("Valid dataset committed.") ## API References -### `create(parent_id: str, alias: str, type: str, manifest: dict, permissions: dict=None, config: dict=None, version: str = None, comment: str = None, overwrite: bool = False, publish_to: str = None) -> None` +### `create(parent_id: str, alias: str, type: str, manifest: dict, permissions: dict=None, config: dict=None, version: str = None, comment: str = None, overwrite: bool = False) -> None` Creates a new artifact or collection with the specified manifest. The artifact is staged until committed. For collections, the `collection` field should be an empty list. @@ -251,13 +251,14 @@ Creates a new artifact or collection with the specified manifest. The artifact i - **Id Parts**: You can also use id parts stored in the parent collection's config['id_parts'] to generate an id. For example, if the parent collection has `{"animals": ["dog", "cat", ...], "colors": ["red", "blue", ...]}`, you can use `"{colors}-{animals}"` to generate an id like `red-dog`. - `workspace`: Optional. The workspace id where the artifact will be created. If not set, it will be created in the default workspace. If specified, it should match the workspace in the alias and also the parent_id. - `parent_id`: The id of the parent collection where the artifact will be created. If the artifact is a top-level collection, leave this field empty or set to None. -- `type`: The type of the artifact. Supported values are `collection`, `generic` and any other custom type. By default, it's set to `generic` which contains fields tailored for displaying the artifact as cards on a webpage. +- `type`: The type of the artifact. Supported values are `collection`, `vector-collection`, `generic` and any other custom type. By default, it's set to `generic` which contains fields tailored for displaying the artifact as cards on a webpage. - `manifest`: The manifest of the new artifact. Ensure the manifest follows the required schema if applicable (e.g., for collections). - `config`: Optional. A dictionary containing additional configuration options for the artifact (shared for both staged and committed). For collections, the config can contain the following special fields: - `collection_schema`: Optional. A JSON schema that defines the structure of child artifacts in the collection. This schema is used to validate child artifacts when they are created or edited. If a child artifact does not conform to the schema, the creation or edit operation will fail. - `id_parts`: Optional. A dictionary of id name parts to be used in generating the id for child artifacts. For example: `{"animals": ["dog", "cat", ...], "colors": ["red", "blue", ...]}`. This can be used for creating child artifacts with auto-generated ids based on the id parts. For example, when calling `create`, you can specify the alias as `my-pet-{colors}-{animals}`, and the id will be generated based on the id parts, e.g., `my-pet-red-dog`. - `permissions`: Optional. A dictionary containing user permissions. For example `{"*": "r+"}` gives read and create access to everyone, `{"@": "rw+"}` allows all authenticated users to read/write/create, and `{"user_id_1": "r+"}` grants read and create permissions to a specific user. You can also set permissions for specific operations, such as `{"user_id_1": ["read", "create"]}`. See detailed explanation about permissions below. - `list_fields`: Optional. A list of fields to be collected when calling ``list`` function. By default, it collects all fields in the artifacts. If you want to collect only specific fields, you can set this field to a list of field names, e.g. `["manifest", "download_count"]`. + - `publish_to`: Optional. A string specifying the target platform to publish the artifact. Supported values are `zenodo` and `sandbox_zenodo`. If set, the artifact will be published to the specified platform. The artifact must have a valid Zenodo metadata schema to be published. - `version`: Optional. The version of the artifact to create. By default, it set to None or `"new"`, it will generate a version `v0`. If you want to create a staged version, you can set it to `"stage"`. - `comment`: Optional. A comment to describe the changes made to the artifact. - `secrets`: Optional. A dictionary containing secrets to be stored with the artifact. Secrets are encrypted and can only be accessed by the artifact owner or users with appropriate permissions. The following keys can be used: @@ -271,7 +272,7 @@ Creates a new artifact or collection with the specified manifest. The artifact i - `S3_PREFIX`: The prefix of the S3 storage for the artifact. Default: `""`. - `S3_PUBLIC_ENDPOINT_URL`: The public endpoint URL of the S3 storage for the artifact. If the S3 server is not public, you can set this to the public endpoint URL. Default: `None`. - `overwrite`: Optional. A boolean flag to overwrite the existing artifact with the same alias. Default is `False`. -- `publish_to`: Optional. A string specifying the target platform to publish the artifact. Supported values are `zenodo` and `sandbox_zenodo`. If set, the artifact will be published to the specified platform. The artifact must have a valid Zenodo metadata schema to be published. + **Note 1: If you set `version="stage"`, you must call `commit()` to finalize the artifact.** @@ -438,6 +439,118 @@ await artifact_manager.delete(artifact_id="other_workspace/example-dataset", del --- +### `add_vectors(artifact_id: str, vectors: list, embedding_models: Optional[Dict[str, str]] = None, context: dict = None) -> None` + +Adds vectors to a vector collection artifact. + +**Parameters:** + +- `artifact_id`: The ID of the artifact to which vectors will be added. This must be a vector-collection artifact. +- `vectors`: A list of vectors to add to the collection. +- `embedding_models`: (Optional) A dictionary specifying embedding models to be used. If not provided, the default models from the artifact's configuration will be used. +- `context`: A dictionary containing user and session context information. + +**Returns:** None. + +**Example:** + +```python +await artifact_manager.add_vectors(artifact_id="example-id", vectors=[{"id": 1, "vector": [0.1, 0.2]}]) +``` + +--- + +### `search_vectors(artifact_id: str, query: Optional[Dict[str, Any]] = None, embedding_models: Optional[str] = None, filters: Optional[dict[str, Any]] = None, limit: Optional[int] = 5, offset: Optional[int] = 0, return_fields: Optional[List[str]] = None, order_by: Optional[str] = None, pagination: Optional[bool] = False, context: dict = None) -> list` + +Searches vectors in a vector collection artifact based on a query. + +**Parameters:** + +- `artifact_id`: The ID of the artifact to search within. This must be a vector-collection artifact. +- `query`: (Optional) A dictionary representing the query vector or conditions. +- `embedding_models`: (Optional) Specifies which embedding model to use. Defaults to the artifact's configuration. +- `filters`: (Optional) Filters for refining the search results. +- `limit`: (Optional) Maximum number of results to return. Defaults to 5. +- `offset`: (Optional) Number of results to skip. Defaults to 0. +- `return_fields`: (Optional) A list of fields to include in the results. +- `order_by`: (Optional) Field to order the results by. +- `pagination`: (Optional) Whether to include pagination metadata. Defaults to `False`. +- `context`: A dictionary containing user and session context information. + +**Returns:** A list of search results. + +**Example:** + +```python +results = await artifact_manager.search_vectors(artifact_id="example-id", query={"vector": [0.1, 0.2]}, limit=10) +``` + +--- + +### `remove_vectors(artifact_id: str, ids: list, context: dict = None) -> None` + +Removes vectors from a vector collection artifact. + +**Parameters:** + +- `artifact_id`: The ID of the artifact from which vectors will be removed. This must be a vector-collection artifact. +- `ids`: A list of vector IDs to remove. +- `context`: A dictionary containing user and session context information. + +**Returns:** None. + +**Example:** + +```python +await artifact_manager.remove_vectors(artifact_id="example-id", ids=[1, 2, 3]) +``` + +--- + +### `get_vector(artifact_id: str, id: int, context: dict = None) -> dict` + +Fetches a specific vector by its ID from a vector collection artifact. + +**Parameters:** + +- `artifact_id`: The ID of the artifact to fetch the vector from. This must be a vector-collection artifact. +- `id`: The ID of the vector to fetch. +- `context`: A dictionary containing user and session context information. + +**Returns:** A dictionary containing the vector data. + +**Example:** + +```python +vector = await artifact_manager.get_vector(artifact_id="example-id", id=123) +``` + +--- + +### `list_vectors(artifact_id: str, offset: int = 0, limit: int = 10, return_fields: List[str] = None, order_by: str = None, pagination: bool = False, context: dict = None) -> list` + +Lists vectors in a vector collection artifact. + +**Parameters:** + +- `artifact_id`: The ID of the artifact to list vectors from. This must be a vector-collection artifact. +- `offset`: (Optional) Number of results to skip. Defaults to 0. +- `limit`: (Optional) Maximum number of results to return. Defaults to 10. +- `return_fields`: (Optional) A list of fields to include in the results. +- `order_by`: (Optional) Field to order the results by. +- `pagination`: (Optional) Whether to include pagination metadata. Defaults to `False`. +- `context`: A dictionary containing user and session context information. + +**Returns:** A list of vectors. + +**Example:** + +```python +vectors = await artifact_manager.list_vectors(artifact_id="example-id", limit=20) +``` + +--- + ### `put_file(artifact_id: str, file_path: str, download_weight: int = 0) -> str` Generates a pre-signed URL to upload a file to the artifact in S3. The URL can be used with an HTTP `PUT` request to upload the file. The file is staged until the artifact is committed. diff --git a/hypha/VERSION b/hypha/VERSION index 160f643a..a40dc949 100644 --- a/hypha/VERSION +++ b/hypha/VERSION @@ -1,3 +1,3 @@ { - "version": "0.20.40.post1" + "version": "0.20.40.post2" } diff --git a/hypha/artifact.py b/hypha/artifact.py index 149e69e1..36d7c078 100644 --- a/hypha/artifact.py +++ b/hypha/artifact.py @@ -5,6 +5,7 @@ import random import re import json +import math from io import BytesIO import zipfile from sqlalchemy import ( @@ -53,9 +54,10 @@ ) from hypha.vectors import VectorSearchEngine from hypha_rpc.utils import ObjectProxy +import numpy as np from jsonschema import validate from sqlmodel import SQLModel, Field, Relationship, UniqueConstraint -from typing import Optional, Union, List, Any +from typing import Optional, Union, List, Any, Dict # Logger setup logging.basicConfig(stream=sys.stdout) @@ -63,6 +65,21 @@ logger.setLevel(logging.INFO) +def make_json_safe(data): + if isinstance(data, dict): + return {k: make_json_safe(v) for k, v in data.items()} + elif isinstance(data, list): + return [make_json_safe(v) for v in data] + elif data == float("inf"): + return "Infinity" + elif data == float("-inf"): + return "-Infinity" + elif isinstance(data, float) and math.isnan(data): + return "NaN" + else: + return data + + # SQLModel model for storing artifacts class ArtifactModel(SQLModel, table=True): # `table=True` makes it a table model __tablename__ = "artifacts" @@ -175,7 +192,9 @@ def __init__( self.store = store self._cache = store.get_redis_cache() self._openai_client = self.store.get_openai_client() - self._vector_engine = VectorSearchEngine(store) + self._vector_engine = VectorSearchEngine( + store.get_redis(), store.get_cache_dir() + ) router = APIRouter() self._artifacts_dir = artifacts_dir @@ -190,12 +209,13 @@ async def get_artifact( ): """Get artifact metadata, manifest, and config (excluding secrets).""" try: - return await self.read( + artifact = await self.read( artifact_id=f"{workspace}/{artifact_alias}", version=version, silent=silent, context={"user": user_info.model_dump(), "ws": workspace}, ) + return artifact except KeyError: raise HTTPException(status_code=404, detail="Artifact not found") except PermissionError: @@ -255,6 +275,7 @@ async def list_children( context={"user": user_info.model_dump(), "ws": workspace}, ) await self._cache.set(cache_key, results, ttl=60) + return results except KeyError: raise HTTPException(status_code=404, detail="Parent artifact not found") @@ -898,7 +919,6 @@ def _expand_permission(self, permission): "create", "commit", "add_vectors", - "add_documents", ], "lf": ["list", "list_files"], "lf+": ["list", "list_files", "create", "commit", "put_file"], @@ -921,7 +941,6 @@ def _expand_permission(self, permission): "create", "commit", "add_vectors", - "add_documents", ], "rw": [ "read", @@ -935,7 +954,6 @@ def _expand_permission(self, permission): "commit", "put_file", "add_vectors", - "add_documents", "remove_file", "remove_vectors", ], @@ -951,7 +969,6 @@ def _expand_permission(self, permission): "commit", "put_file", "add_vectors", - "add_documents", "remove_file", "remove_vectors", "create", @@ -968,7 +985,6 @@ def _expand_permission(self, permission): "commit", "put_file", "add_vectors", - "add_documents", "remove_file", "remove_vectors", "create", @@ -1025,7 +1041,6 @@ async def _get_artifact_with_permission( "edit": UserPermission.read_write, "commit": UserPermission.read_write, "add_vectors": UserPermission.read_write, - "add_documents": UserPermission.read_write, "put_file": UserPermission.read_write, "remove_vectors": UserPermission.read_write, "remove_file": UserPermission.read_write, @@ -1362,7 +1377,6 @@ async def create( type="generic", config: dict = None, secrets: dict = None, - publish_to=None, version: str = None, comment: str = None, overwrite: bool = False, @@ -1383,9 +1397,11 @@ async def create( if isinstance(manifest, ObjectProxy): manifest = ObjectProxy.toDict(manifest) + manifest = manifest and make_json_safe(manifest) + config = config and make_json_safe(config) + if alias: alias = alias.strip() - assert "^" not in alias, "Alias cannot contain the '^' character." if "/" in alias: ws, alias = alias.split("/") if workspace and ws != workspace: @@ -1437,6 +1453,7 @@ async def create( "timestamp": str(int(time.time())), "user_id": user_info.id, } + publish_to = config.get("publish_to") if publish_to: zenodo_client = self._get_zenodo_client( parent_artifact, publish_to=publish_to @@ -1447,7 +1464,6 @@ async def create( deposition_info["conceptrecid"] ) config["zenodo"] = deposition_info - config["publish_to"] = publish_to if publish_to not in ["zenodo", "sandbox_zenodo"]: assert ( @@ -1540,8 +1556,8 @@ async def create( session.add(new_artifact) if new_artifact.type == "vector-collection": await self._vector_engine.create_collection( - f"{new_artifact.workspace}^{new_artifact.alias}", - vectors_config=config.get("vectors_config", {}), + f"{new_artifact.workspace}/{new_artifact.alias}", + config.get("vector_fields", []), ) await session.commit() await self._save_version_to_s3( @@ -1621,6 +1637,8 @@ async def edit( user_info = UserInfo.model_validate(context["user"]) artifact_id = self._validate_artifact_id(artifact_id, context) session = await self._get_session() + manifest = manifest and make_json_safe(manifest) + config = config and make_json_safe(config) try: async with session.begin(): artifact, parent_artifact = await self._get_artifact_with_permission( @@ -1747,7 +1765,7 @@ async def read( artifact_data["config"][ "vector_count" ] = await self._vector_engine.count( - f"{artifact.workspace}^{artifact.alias}" + f"{artifact.workspace}/{artifact.alias}" ) if not silent: await session.commit() @@ -1897,7 +1915,7 @@ async def delete( if artifact.type == "vector-collection": await self._vector_engine.delete_collection( - f"{artifact.workspace}^{artifact.alias}" + f"{artifact.workspace}/{artifact.alias}" ) s3_config = self._get_s3_config(artifact, parent_artifact) @@ -1953,6 +1971,7 @@ async def add_vectors( self, artifact_id: str, vectors: list, + embedding_models: Optional[Dict[str, str]] = None, context: dict = None, ): """ @@ -1971,7 +1990,10 @@ async def add_vectors( assert artifact.manifest, "Artifact must be committed before upserting." await self._vector_engine.add_vectors( - f"{artifact.workspace}^{artifact.alias}", vectors + f"{artifact.workspace}/{artifact.alias}", + vectors, + embedding_models=embedding_models + or artifact.config.get("embedding_models"), ) logger.info(f"Added vectors to artifact with ID: {artifact_id}") except Exception as e: @@ -1979,46 +2001,17 @@ async def add_vectors( finally: await session.close() - async def add_documents( - self, - artifact_id: str, - documents: str, # `id`, `text` and other fields - context: dict = None, - ): - """ - Add documents to the artifact. - """ - user_info = UserInfo.model_validate(context["user"]) - session = await self._get_session() - try: - async with session.begin(): - artifact, _ = await self._get_artifact_with_permission( - user_info, artifact_id, "add_documents", session - ) - assert ( - artifact.type == "vector-collection" - ), "Artifact must be a vector collection." - embedding_model = artifact.config.get("embedding_model") - await self._vector_engine.add_documents( - f"{artifact.workspace}^{artifact.alias}", documents, embedding_model - ) - logger.info(f"Added documents to artifact with ID: {artifact_id}") - except Exception as e: - raise e - finally: - await session.close() - async def search_vectors( self, artifact_id: str, - query_text: str = None, - query_vector: Any = None, - query_filter: dict = None, - offset: int = 0, - limit: int = 10, - with_payload: bool = True, - with_vectors: bool = False, - pagination: bool = False, + query: Optional[Dict[str, Any]] = None, + embedding_models: Optional[str] = None, + filters: Optional[dict[str, Any]] = None, + limit: Optional[int] = 5, + offset: Optional[int] = 0, + return_fields: Optional[List[str]] = None, + order_by: Optional[str] = None, + pagination: Optional[bool] = False, context: dict = None, ): user_info = UserInfo.model_validate(context["user"]) @@ -2032,17 +2025,18 @@ async def search_vectors( artifact.type == "vector-collection" ), "Artifact must be a vector collection." - embedding_model = artifact.config.get("embedding_model") + embedding_models = embedding_models or artifact.config.get( + "embedding_models" + ) return await self._vector_engine.search_vectors( - f"{artifact.workspace}^{artifact.alias}", - embedding_model=embedding_model, - query_text=query_text, - query_vector=query_vector, - query_filter=query_filter, - offset=offset, + f"{artifact.workspace}/{artifact.alias}", + query=query, + embedding_models=embedding_models, + filters=filters, limit=limit, - with_payload=with_payload, - with_vectors=with_vectors, + offset=offset, + return_fields=return_fields, + order_by=order_by, pagination=pagination, ) except Exception as e: @@ -2067,7 +2061,7 @@ async def remove_vectors( artifact.type == "vector-collection" ), "Artifact must be a vector collection." await self._vector_engine.remove_vectors( - f"{artifact.workspace}^{artifact.alias}", ids + f"{artifact.workspace}/{artifact.alias}", ids ) logger.info(f"Removed vectors from artifact with ID: {artifact_id}") except Exception as e: @@ -2092,7 +2086,7 @@ async def get_vector( artifact.type == "vector-collection" ), "Artifact must be a vector collection." return await self._vector_engine.get_vector( - f"{artifact.workspace}^{artifact.alias}", id + f"{artifact.workspace}/{artifact.alias}", id ) except Exception as e: raise e @@ -2102,12 +2096,11 @@ async def get_vector( async def list_vectors( self, artifact_id: str, - query_filter: dict = None, offset: int = 0, limit: int = 10, + return_fields: List[str] = None, order_by: str = None, - with_payload: bool = True, - with_vectors: bool = False, + pagination: bool = False, context: dict = None, ): user_info = UserInfo.model_validate(context["user"]) @@ -2121,13 +2114,12 @@ async def list_vectors( artifact.type == "vector-collection" ), "Artifact must be a vector collection." return await self._vector_engine.list_vectors( - f"{artifact.workspace}^{artifact.alias}", - query_filter=query_filter, + f"{artifact.workspace}/{artifact.alias}", offset=offset, limit=limit, + return_fields=return_fields, order_by=order_by, - with_payload=with_payload, - with_vectors=with_vectors, + pagination=pagination, ) except Exception as e: @@ -2724,7 +2716,6 @@ def get_artifact_service(self): "list": self.list_children, "list_files": self.list_files, "add_vectors": self.add_vectors, - "add_documents": self.add_documents, "search_vectors": self.search_vectors, "remove_vectors": self.remove_vectors, "get_vector": self.get_vector, diff --git a/hypha/core/store.py b/hypha/core/store.py index d9c15018..540e2c3b 100644 --- a/hypha/core/store.py +++ b/hypha/core/store.py @@ -96,7 +96,6 @@ def __init__( local_base_url=None, redis_uri=None, database_uri=None, - vectordb_uri=None, ollama_host=None, openai_config=None, cache_dir=None, @@ -136,13 +135,6 @@ def __init__( } logger.info("Server info: %s", self._server_info) - self._vectordb_uri = vectordb_uri - if self._vectordb_uri is not None: - from qdrant_client import AsyncQdrantClient - - self._vectordb_client = AsyncQdrantClient(self._vectordb_uri) - else: - self._vectordb_client = None self._database_uri = database_uri if self._database_uri is None: @@ -205,9 +197,6 @@ def get_redis(self): def get_sql_engine(self): return self._sql_engine - def get_vectordb_client(self): - return self._vectordb_client - def get_openai_client(self): return self._openai_client @@ -553,33 +542,9 @@ async def _register_root_services(self): "list_servers": self.list_servers, "kickout_client": self.kickout_client, "list_workspaces": self.list_all_workspaces, - "list_vector_collections": self.list_vector_collections, - "delete_vector_collection": self.delete_vector_collection, } ) - @schema_method - async def list_vector_collections(self): - """List all vector collections.""" - if self._vectordb_client is None: - raise Exception("Vector database is not configured") - # get_collections - collections = await self._vectordb_client.get_collections() - return collections - - @schema_method - async def delete_vector_collection( - self, - collection_name: str = Field( - ..., description="The name of the vector collection to delete." - ), - ): - """Delete a vector collection.""" - if self._vectordb_client is None: - raise Exception("Vector database is not configured") - # delete_collection - await self._vectordb_client.delete_collection(collection_name) - @schema_method async def list_servers(self): """List all servers.""" diff --git a/hypha/core/workspace.py b/hypha/core/workspace.py index 3e66dfcb..bf9766a5 100644 --- a/hypha/core/workspace.py +++ b/hypha/core/workspace.py @@ -34,6 +34,7 @@ UserPermission, ServiceTypeInfo, ) +from hypha.vectors import VectorSearchEngine from hypha.core.auth import generate_presigned_token, create_scope, valid_token from hypha.utils import EventBus, random_id @@ -181,47 +182,44 @@ async def setup( logger.info("Database tables created successfully.") self._embedding_model = None - self._search_fields = None if self._enable_service_search: from fastembed import TextEmbedding self._embedding_model = TextEmbedding( model_name="BAAI/bge-small-en-v1.5", cache_dir=self._cache_dir ) - - from redis.commands.search.field import VectorField, TextField, TagField - from redis.commands.search.indexDefinition import IndexDefinition, IndexType - - # Define vector field for RedisSearch (assuming cosine similarity) - # Manually define Redis fields for each ServiceInfo attribute - self._search_fields = [ - TagField(name="id"), # id as tag - TextField(name="name"), # name as text - TagField(name="type"), # type as tag (enum-like) - TextField(name="description"), # description as text - TextField(name="docs"), # docs as text - TagField(name="app_id"), # app_id as tag - TextField( - name="service_schema" - ), # service_schema as text (you can store a serialized JSON or string representation) - VectorField( - "service_embedding", - "FLAT", - {"TYPE": "FLOAT32", "DIM": 384, "DISTANCE_METRIC": "COSINE"}, - ), - TagField(name="visibility"), # visibility as tag - TagField(name="require_context"), # require_context as tag - TagField(name="workspace"), # workspace as tag - TagField(name="flags", separator=","), # flags as tag - TagField(name="singleton"), # singleton as tag - TextField(name="created_by"), # created_by as text - ] - # Create the index with vector field and additional fields for metadata (e.g., title) - await self._redis.ft("service_info_index").create_index( - fields=self._search_fields, - definition=IndexDefinition( - prefix=["services:"], index_type=IndexType.HASH - ), + self._vector_search = VectorSearchEngine( + self._redis, + prefix=None, + cache_dir=self._cache_dir, + ) + await self._vector_search.create_collection( + collection_name="services", + vector_fields=[ + {"type": "TAG", "name": "id"}, + {"type": "TEXT", "name": "name"}, + {"type": "TAG", "name": "type"}, + {"type": "TEXT", "name": "description"}, + {"type": "TEXT", "name": "docs"}, + {"type": "TAG", "name": "app_id"}, + {"type": "TEXT", "name": "service_schema"}, + { + "type": "VECTOR", + "name": "service_embedding", + "algorithm": "FLAT", + "attributes": { + "TYPE": "FLOAT32", + "DIM": 384, + "DISTANCE_METRIC": "COSINE", + }, + }, + {"type": "TAG", "name": "visibility"}, + {"type": "TAG", "name": "require_context"}, + {"type": "TAG", "name": "workspace"}, + {"type": "TAG", "name": "flags", "separator": ","}, + {"type": "TAG", "name": "singleton"}, + {"type": "TEXT", "name": "created_by"}, + ], ) self._initialized = True return rpc @@ -841,12 +839,9 @@ def _convert_filters_to_hybrid_query(self, filters: dict) -> str: @schema_method async def search_services( self, - text_query: Optional[str] = Field( - None, description="Text query for semantic search." - ), - vector_query: Optional[Any] = Field( + query: Optional[Union[str, Any]] = Field( None, - description="Precomputed embedding vector for vector search in numpy format.", + description="Text query or precomputed embedding vector for vector search in numpy format.", ), filters: Optional[Dict[str, Any]] = Field( None, description="Filter dictionary for hybrid search." @@ -855,7 +850,9 @@ async def search_services( 5, description="Maximum number of results to return." ), offset: Optional[int] = Field(0, description="Offset for pagination."), - fields: Optional[List[str]] = Field(None, description="Fields to return."), + return_fields: Optional[List[str]] = Field( + None, description="Fields to return." + ), order_by: Optional[str] = Field( None, description="Order by field, default is score if embedding or text_query is provided.", @@ -870,91 +867,40 @@ async def search_services( """ if not self._enable_service_search: raise RuntimeError("Service search is not enabled.") - from redis.commands.search.query import Query current_workspace = context["ws"] # Generate embedding if text_query is provided - if text_query and not vector_query: + if isinstance(query, str): loop = asyncio.get_event_loop() embeddings = list( - await loop.run_in_executor( - None, self._embedding_model.embed, [text_query] - ) + await loop.run_in_executor(None, self._embedding_model.embed, [query]) ) vector_query = embeddings[0] - - auth_filter = f"@visibility:{{public}} | @workspace:{{{sanitize_search_value(current_workspace)}}}" - # If service_embedding is provided, prepare KNN search query - if vector_query is not None: - query_vector = vector_query.astype("float32").tobytes() - query_params = {"vector": query_vector} - knn_query = f"[KNN {limit} @service_embedding $vector AS score]" - # Combine filters into the query string - if filters: - filter_query = self._convert_filters_to_hybrid_query(filters) - query_string = f"(({filter_query}) ({auth_filter}))=>{knn_query}" - else: - query_string = f"({auth_filter})=>{knn_query}" else: - query_params = {} - if filters: - filter_query = self._convert_filters_to_hybrid_query(filters) - query_string = f"({filter_query}) ({auth_filter})" - else: - query_string = auth_filter - - all_fields = [field.name for field in self._search_fields] + ["score"] - if fields is None: - # exclude embedding - fields = [field for field in all_fields if field != "service_embedding"] - else: - for field in fields: - if field not in all_fields: - raise ValueError(f"Invalid field: {field}") - if order_by is None: - order_by = "score" if vector_query is not None else "id" - else: - if order_by not in all_fields: - raise ValueError(f"Invalid order_by field: {order_by}") - - # Build the RedisSearch query - query = ( - Query(query_string) - .return_fields(*fields) - .sort_by(order_by, asc=True) - .paging(offset, limit) - .dialect(2) - ) + vector_query = query - # Perform the search using the RedisSearch index - results = await self._redis.ft("service_info_index").search( - query, query_params=query_params + auth_filter = f"@visibility:{{public}} | @workspace:{{{sanitize_search_value(current_workspace)}}}" + results = await self._vector_search.search_vectors( + "services", + query={"service_embedding": vector_query}, + filters=filters, + extra_filter=auth_filter, + limit=limit, + offset=offset, + return_fields=return_fields, + order_by=order_by, + pagination=True, ) - # Handle pagination - if pagination: - count_query = Query(query_string).paging(0, 0).dialect(2) - count_results = await self._redis.ft("service_info_index").search( - count_query, query_params=query_params - ) - total_count = count_results.total - else: - total_count = None - # Convert results to dictionaries and return - services = [ - ServiceInfo.from_redis_dict(vars(doc), in_bytes=False) - for doc in results.docs + results["items"] = [ + ServiceInfo.from_redis_dict(doc, in_bytes=False).model_dump() + for doc in results["items"] ] if pagination: - return { - "items": [service.model_dump() for service in services], - "total": total_count, - "offset": offset, - "limit": limit, - } + return results else: - return [service.model_dump() for service in services] + return results["items"] @schema_method async def list_services( diff --git a/hypha/server.py b/hypha/server.py index 25d202f4..45463694 100644 --- a/hypha/server.py +++ b/hypha/server.py @@ -221,7 +221,6 @@ async def lifespan(app: FastAPI): local_base_url=local_base_url, redis_uri=args.redis_uri, database_uri=args.database_uri, - vectordb_uri=args.vectordb_uri, ollama_host=args.ollama_host, cache_dir=args.cache_dir, openai_config={ @@ -399,12 +398,6 @@ def get_argparser(add_help=True): default=None, help="set OpenAI API key", ) - parser.add_argument( - "--vectordb-uri", - type=str, - default=None, - help="set URI for the vector database", - ) parser.add_argument( "--database-uri", type=str, diff --git a/hypha/templates/apps/web-python.index.html b/hypha/templates/apps/web-python.index.html index dbd41c6d..570e56d8 100644 --- a/hypha/templates/apps/web-python.index.html +++ b/hypha/templates/apps/web-python.index.html @@ -121,9 +121,9 @@ async function setupPyodide() { if(self.pyodide) return; - importScripts('https://cdn.jsdelivr.net/pyodide/v0.26.1/full/pyodide.js'); + importScripts('https://cdn.jsdelivr.net/pyodide/v0.26.4/full/pyodide.js'); self.pyodide = await loadPyodide({ - indexURL : 'https://cdn.jsdelivr.net/pyodide/v0.26.1/full/', + indexURL : 'https://cdn.jsdelivr.net/pyodide/v0.26.4/full/', stdout: (text) => { self.postMessage({"type": "stdout", "content": text}) }, diff --git a/hypha/templates/hypha-core-app/hypha-app-webpython.js b/hypha/templates/hypha-core-app/hypha-app-webpython.js index 041dc0fb..8c17945e 100644 --- a/hypha/templates/hypha-core-app/hypha-app-webpython.js +++ b/hypha/templates/hypha-core-app/hypha-app-webpython.js @@ -1,4 +1,4 @@ -importScripts("https://cdn.jsdelivr.net/pyodide/v0.26.1/full/pyodide.js"); +importScripts("https://cdn.jsdelivr.net/pyodide/v0.26.4/full/pyodide.js"); const startupScript = ` import sys diff --git a/hypha/vectors.py b/hypha/vectors.py index e8ffa836..a0f43ec4 100644 --- a/hypha/vectors.py +++ b/hypha/vectors.py @@ -1,213 +1,480 @@ import asyncio -from qdrant_client.models import PointStruct -from qdrant_client.models import Filter -from qdrant_client.models import Distance, VectorParams -import uuid import numpy as np -from typing import Any +import uuid import logging import sys +import re +from typing import Any, List, Dict, Optional +from fakeredis import aioredis +from redis.commands.search.field import ( + TagField, + TextField, + NumericField, + GeoField, + VectorField, +) +from redis.commands.search.indexDefinition import IndexDefinition, IndexType +from redis.commands.search.query import Query +from redis.commands.search.query import Query # Logger setup logging.basicConfig(stream=sys.stdout) logger = logging.getLogger("vectors") logger.setLevel(logging.INFO) +FIELD_TYPE_MAPPING = { + "TAG": TagField, + "TEXT": TextField, + "NUMERIC": NumericField, + "GEO": GeoField, + "VECTOR": VectorField, +} + + +def escape_redis_syntax(value: str) -> str: + """Escape Redis special characters in a query string, except '*'.""" + # Escape all special characters except '*' + return re.sub(r"([{}|@$\\\-\[\]\(\)\!&~:\"])", r"\\\1", value) + + +def sanitize_search_value(value: str) -> str: + """Sanitize a value to prevent injection attacks, allowing '*' for wildcard support.""" + # Allow alphanumeric characters, spaces, underscores, hyphens, dots, slashes, and '*' + value = re.sub( + r"[^a-zA-Z0-9 _\-./*]", "", value + ) # Remove unwanted characters except '*' + return escape_redis_syntax(value.strip()) + + +def parse_attributes(attributes): + """ + Parse the attributes list into a structured dictionary. + """ + parsed_attributes = [] + for attr in attributes: + attr_dict = {} + for i in range(0, len(attr), 2): + key = attr[i].decode("utf-8") if isinstance(attr[i], bytes) else attr[i] + value = attr[i + 1] + if isinstance(value, bytes): + value = value.decode("utf-8") + attr_dict[key] = value + parsed_attributes.append(attr_dict) + return {attr["identifier"]: attr for attr in parsed_attributes} + class VectorSearchEngine: - def __init__(self, store): - self.store = store - self._vectordb_client = self.store.get_vectordb_client() - self._cache_dir = self.store.get_cache_dir() - - def _ensure_client(self): - assert ( - self._vectordb_client - ), "The server is not configured to use a VectorDB client." - - async def create_collection(self, collection_name: str, vectors_config: dict): - self._ensure_client() - await self._vectordb_client.create_collection( - collection_name=collection_name, - vectors_config=VectorParams( - size=vectors_config.get("size", 128), - distance=Distance(vectors_config.get("distance", "Cosine")), + def __init__(self, redis, prefix: str = "vs", cache_dir=None): + self._redis: aioredis.FakeRedis = redis + self._index_name_prefix = prefix + self._cache_dir = cache_dir + + def _get_index_name(self, collection_name: str) -> str: + return ( + f"{self._index_name_prefix}:{collection_name}" + if self._index_name_prefix + else collection_name + ) + + async def _get_fields(self, collection_name: str): + index_name = self._get_index_name(collection_name) + info = await self._redis.ft(index_name).info() + fields = parse_attributes(info["attributes"]) + return fields + + async def create_collection( + self, + collection_name: str, + vector_fields: List[Dict[str, Any]], + ): + """ + Creates a RedisSearch index collection. + + Args: + collection_name (str): Name of the collection. + fields (List[Dict[str, Any]]): A list of dictionaries defining fields. + Example: + [ + {"type": "TAG", "name": "id"}, + {"type": "VECTOR", "name": "vector", "algorithm": "FLAT", + "attributes": {"TYPE": "FLOAT32", "DIM": 384, "DISTANCE_METRIC": "COSINE"}} + ] + """ + index_name = self._get_index_name(collection_name) + assert vector_fields, "At least one field must be provided." + + redis_fields = [] + for field in vector_fields: + field_type = field.get("type") + field_name = field.get("name") + if not field_type or not field_name: + raise ValueError( + f"Invalid field definition: {field}. Each field must have 'name' and 'type'." + ) + + field_class = FIELD_TYPE_MAPPING.get(field_type) + if not field_class: + raise ValueError( + f"Unsupported field type: {field_type}. Supported types: {list(FIELD_TYPE_MAPPING.keys())}" + ) + + if field_type == "VECTOR": + algorithm = field.get("algorithm", "FLAT") + attributes = field.get("attributes", {}) + redis_fields.append(field_class(field_name, algorithm, attributes)) + else: + redis_fields.append(field_class(name=field_name)) + + # Create the index + await self._redis.ft(index_name).create_index( + fields=redis_fields, + definition=IndexDefinition( + prefix=[f"{index_name}:"], index_type=IndexType.HASH ), ) - logger.info(f"Collection {collection_name} created.") + fields_info = [f"{field.name} ({type(field)})" for field in redis_fields] + logger.info(f"Collection {collection_name} created with fields: {fields_info}.") async def count(self, collection_name: str): - self._ensure_client() - return ( - await self._vectordb_client.count(collection_name=collection_name) - ).count + index_name = self._get_index_name(collection_name) + count_query = Query("*").paging(0, 0).dialect(2) + results = await self._redis.ft(index_name).search(count_query) + return results.total async def delete_collection(self, collection_name: str): - self._ensure_client() - await self._vectordb_client.delete_collection(collection_name=collection_name) + index_name = self._get_index_name(collection_name) + await self._redis.ft(index_name).dropindex() logger.info(f"Collection {collection_name} deleted.") - async def _embed_texts(self, embedding_model, texts: list): - self._ensure_client() - assert ( - embedding_model - ), "Embedding model must be provided, e.g. 'fastembed:BAAI/bge-small-en-v1.5', 'openai:text-embedding-3-small' for openai embeddings." - if embedding_model.startswith("fastembed"): + async def list_collections(self): + # use redis.ft to list all collections + collections = await self._redis.execute_command("FT._LIST") + return [c.decode("utf-8") for c in collections] + + async def _embed_texts( + self, + texts: List[str], + embedding_model: str = "fastembed:BAAI/bge-small-en-v1.5", + ) -> List[np.ndarray]: + if not embedding_model: + raise ValueError("Embedding model is not configured.") + if embedding_model.startswith("fastembed:"): from fastembed import TextEmbedding - assert ":" in embedding_model, "Embedding model must be provided." - model_name = embedding_model.split(":")[-1] + model_name = embedding_model.split(":")[1] embedding_model = TextEmbedding( model_name=model_name, cache_dir=self._cache_dir ) - loop = asyncio.get_event_loop() - embeddings = list( - await loop.run_in_executor(None, embedding_model.embed, texts) - ) - elif embedding_model.startswith("openai"): - assert ( - self._openai_client - ), "The server is not configured to use an OpenAI client." - assert ":" in embedding_model, "Embedding model must be provided." - embedding_model = embedding_model.split(":")[-1] - result = await self._openai_client.embeddings.create( - input=texts, model=embedding_model - ) - embeddings = [data.embedding for data in result.data] - else: - raise ValueError( - f"Unsupported embedding model: {embedding_model}, supported models: 'fastembed:*', 'openai:*'" - ) + loop = asyncio.get_event_loop() + embeddings = list( + await loop.run_in_executor(None, embedding_model.embed, texts) + ) return embeddings - async def add_vectors(self, collection_name: str, vectors: list): - self._ensure_client() - assert isinstance(vectors, list), "Vectors must be a list of dictionaries." - assert all( - isinstance(v, dict) for v in vectors - ), "Vectors must be a list of dictionaries." - - _points = [] - for p in vectors: - p["id"] = p.get("id") or str(uuid.uuid4()) - _points.append(PointStruct(**p)) - await self._vectordb_client.upsert( - collection_name=collection_name, - points=_points, - ) + async def add_vectors( + self, + collection_name: str, + vectors: List[Dict[str, Any]], + embedding_models: Optional[Dict[str, str]] = None, + ): + index_name = self._get_index_name(collection_name) + fields = await self._get_fields(collection_name) + ids = [] + for vector in vectors: + if "_id" in vector: + _id = vector["_id"] + del vector["_id"] + else: + _id = str(uuid.uuid4()) + ids.append(_id) + # convert numpy arrays to bytes + for key, value in vector.items(): + if key in fields: + if fields[key]["type"] == "VECTOR": + if isinstance(value, np.ndarray) or isinstance(value, list): + vector[key] = np.array(value).astype("float32").tobytes() + else: + assert ( + key in embedding_models + ), f"Embedding model not provided for field {key}." + embeddings = await self._embed_texts( + [vector[key]], embedding_models[key] + ) + vector[key] = ( + np.array(embeddings[0]).astype("float32").tobytes() + ) + + await self._redis.hset( + f"{index_name}:{_id}", + mapping=vector, + ) + logger.info(f"Added {len(vectors)} vectors to collection {collection_name}.") + return ids + + def _format_docs(self, docs, index_name): + formated = [] + for doc in docs: + d = vars(doc) + if "id" in d: + d["id"] = d["id"].replace(f"{index_name}:", "") + formated.append(d) + return formated - async def add_documents(self, collection_name, documents, embedding_model): - self._ensure_client() - texts = [doc["text"] for doc in documents] - embeddings = await self._embed_texts(embedding_model, texts) - points = [ - PointStruct( - id=doc.get("id") or str(uuid.uuid4()), - vector=embedding, - payload=doc, + def _convert_filters_to_hybrid_query(self, filters: dict, fields: dict) -> str: + """ + Convert a filter dictionary to a Redis hybrid query string. + + Args: + filters (dict): Dictionary of filters, e.g., {"type": "my-type", "year": [2011, 2012]}. + + Returns: + str: Redis hybrid query string, e.g., "(@type:{my-type} @year:[2011 2012])". + """ + + conditions = [] + + for field_name, value in filters.items(): + # Find the field type in the schema + field_type = fields.get(field_name) + field_type = ( + FIELD_TYPE_MAPPING.get(field_type["type"]) if field_type else None ) - for embedding, doc in zip(embeddings, documents) - ] - await self._vectordb_client.upsert( - collection_name=collection_name, - points=points, - ) - logger.info( - f"Added {len(documents)} documents to collection {collection_name}." - ) + + if not field_type: + raise ValueError( + f"Unknown field '{field_name}' in filters, available fields: {list(fields.keys())}" + ) + + # Sanitize the field name + sanitized_field_name = sanitize_search_value(field_name) + + if field_type == TagField: + # Use `{value}` for TagField + if not isinstance(value, str): + raise ValueError( + f"TagField '{field_name}' requires a string value." + ) + sanitized_value = sanitize_search_value(value) + conditions.append(f"@{sanitized_field_name}:{{{sanitized_value}}}") + + elif field_type == NumericField: + # Use `[min max]` for NumericField + if not isinstance(value, (list, tuple)) or len(value) != 2: + raise ValueError( + f"NumericField '{field_name}' requires a list or tuple with two elements." + ) + min_val, max_val = value + conditions.append(f"@{sanitized_field_name}:[{min_val} {max_val}]") + + elif field_type == TextField: + # Use `"value"` for TextField + if not isinstance(value, str): + raise ValueError( + f"TextField '{field_name}' requires a string value." + ) + if "*" in value: + assert value.endswith("*"), "Wildcard '*' must be at the end." + sanitized_value = sanitize_search_value(value) + conditions.append(f"@{sanitized_field_name}:{sanitized_value}") + else: + sanitized_value = escape_redis_syntax(value) + conditions.append(f'@{sanitized_field_name}:"{sanitized_value}"') + + else: + raise ValueError(f"Unsupported field type for '{field_name}'.") + + return " ".join(conditions) async def search_vectors( self, collection_name: str, - embedding_model: str, - query_text: str, - query_vector: Any, - query_filter: dict = None, - offset: int = 0, - limit: int = 10, - with_payload: bool = True, - with_vectors: bool = False, - pagination: bool = False, + query: Optional[Dict[str, Any]] = None, + embedding_models: Optional[Dict[str, str]] = None, + filters: Optional[Dict[str, Any]] = None, + extra_filter: Optional[str] = None, + limit: Optional[int] = 5, + offset: Optional[int] = 0, + return_fields: Optional[List[str]] = None, + order_by: Optional[str] = None, + pagination: Optional[bool] = False, ): - self._ensure_client() - # if it's a numpy array, convert it to a list - if isinstance(query_vector, np.ndarray): - query_vector = query_vector.tolist() - from qdrant_client.models import Filter + """ + Search vectors in a collection. + """ + index_name = self._get_index_name(collection_name) + collection_fields = await self._get_fields(collection_name) + all_fields = [field for field in collection_fields.keys()] + ["score"] + # Generate embedding if text_query is provided + if query: + assert ( + len(query) == 1 + ), "Only one of text_query or vector_query can be provided." + use_vector = list(query.keys())[0] + assert ( + collection_fields[use_vector]["type"] == "VECTOR" + ), f"Field {use_vector} is not a vector field." - if query_filter: - query_filter = Filter.model_validate(query_filter) + vector_query = query[use_vector] + if isinstance(vector_query, np.ndarray): + vector_query = vector_query.astype("float32").tobytes() + elif isinstance(vector_query, list): + vector_query = np.array(vector_query).astype("float32").tobytes() + elif vector_query is not None: + assert ( + embedding_models and use_vector in embedding_models + ), f"Embedding model not provided for field {use_vector}." + embeddings = await self._embed_texts( + [vector_query], + embedding_models[use_vector], + ) + vector_query = np.array(embeddings[0]).astype("float32").tobytes() - if query_text: - assert ( - not query_vector - ), "Either query_text or query_vector must be provided." - embeddings = await self._embed_texts(embedding_model, [query_text]) - query_vector = embeddings[0] - - search_results = await self._vectordb_client.search( - collection_name=collection_name, - query_vector=query_vector, - query_filter=query_filter, - limit=limit, - offset=offset, - with_payload=with_payload, - with_vectors=with_vectors, + # If service_embedding is provided, prepare KNN search query + if vector_query is not None: + query_params = {"vector": vector_query} + knn_query = f"[KNN {limit} @{use_vector} $vector AS score]" + # Combine filters into the query string + if filters: + filter_query = self._convert_filters_to_hybrid_query( + filters, collection_fields + ) + query_string = ( + f"(({filter_query}) ({extra_filter}))=>{knn_query}" + if extra_filter + else f"({filter_query})=>{knn_query}" + ) + else: + query_string = ( + f"({extra_filter})=>{knn_query}" + if extra_filter + else f"*=>{knn_query}" + ) + else: + query_params = {} + if filters: + filter_query = self._convert_filters_to_hybrid_query( + filters, collection_fields + ) + query_string = ( + f"({filter_query}) ({extra_filter})" + if extra_filter + else f"{filter_query}" + ) + else: + query_string = extra_filter if extra_filter else "*" + + if return_fields is None: + # exclude embedding + return_fields = [ + field + for field in all_fields + if field == "score" or collection_fields[field]["type"] != "VECTOR" + ] + else: + for field in return_fields: + if field not in all_fields: + raise ValueError(f"Invalid field: {field}") + if order_by is None: + order_by = "score" if vector_query is not None else all_fields[0] + else: + if order_by not in all_fields: + raise ValueError(f"Invalid order_by field: {order_by}") + + # Build the RedisSearch query + query = ( + Query(query_string) + .return_fields(*return_fields) + .sort_by(order_by, asc=True) + .paging(offset, limit) + .dialect(2) ) + + # Perform the search using the RedisSearch index + results = await self._redis.ft(index_name).search( + query, query_params=query_params + ) + + # Handle pagination + if pagination: + count_query = Query(query_string).paging(0, 0).dialect(2) + count_results = await self._redis.ft(index_name).search( + count_query, query_params=query_params + ) + total_count = count_results.total + else: + total_count = None + + docs = self._format_docs(results.docs, index_name) + if pagination: - count = await self._vectordb_client.count(collection_name=collection_name) return { - "total": count.count, - "items": search_results, + "items": docs, + "total": total_count, "offset": offset, "limit": limit, } - logger.info(f"Performed semantic search in collection {collection_name}.") - return search_results - - async def remove_vectors(self, collection_name: str, ids: list): - self._ensure_client() - await self._vectordb_client.delete( - collection_name=collection_name, - points_selector=ids, - ) + else: + return docs + + async def remove_vectors(self, collection_name: str, ids: List[str]): + index_name = self._get_index_name(collection_name) + for id in ids: + await self._redis.delete(f"{index_name}:{id}") logger.info(f"Removed {len(ids)} vectors from collection {collection_name}.") async def get_vector(self, collection_name: str, id: str): - self._ensure_client() - points = await self._vectordb_client.retrieve( - collection_name=collection_name, - ids=[id], - with_payload=True, - with_vectors=True, - ) - if not points: + index_name = self._get_index_name(collection_name) + vector = await self._redis.hgetall(f"{index_name}:{id}") + if not vector: raise ValueError(f"Vector {id} not found in collection {collection_name}.") - logger.info(f"Retrieved vector {id} from collection {collection_name}.") - return points[0] + + return {key.decode("utf-8"): value for key, value in vector.items()} async def list_vectors( self, collection_name: str, - query_filter: dict = None, offset: int = 0, limit: int = 10, - order_by: str = None, - with_payload: bool = True, - with_vectors: bool = False, + return_fields: Optional[List[str]] = None, + order_by: Optional[str] = None, + pagination: Optional[bool] = False, ): - self._ensure_client() - if query_filter: - query_filter = Filter.model_validate(query_filter) - points, _ = await self._vectordb_client.scroll( - collection_name=collection_name, - scroll_filter=query_filter, - limit=limit, - offset=offset, - order_by=order_by, - with_payload=with_payload, - with_vectors=with_vectors, + index_name = self._get_index_name(collection_name) + # read the index settings + fields = await self._get_fields(collection_name) + return_fields = return_fields or [ + field["identifier"] + for field in fields.values() + if field["type"] != "VECTOR" + ] + if order_by is None: + order_by = list(fields.keys())[0] + else: + if order_by not in fields.keys(): + raise ValueError(f"Invalid order_by field: {order_by}") + + query_string = "*" + + query = ( + Query(query_string) + .return_fields(*return_fields) + .paging(offset, limit) + .dialect(2) + .sort_by(order_by, asc=True) ) - logger.info(f"Listed vectors in collection {collection_name}.") - return points + + # Perform the search using the RedisSearch index + results = await self._redis.ft(index_name).search(query) + docs = self._format_docs(results.docs, index_name) + + if pagination: + return { + "items": docs, + "duration": results.duration, + "total": results.total, + "offset": offset, + "limit": limit, + } + else: + return docs diff --git a/requirements.txt b/requirements.txt index 294ae15b..bc5fd643 100644 --- a/requirements.txt +++ b/requirements.txt @@ -34,7 +34,6 @@ asyncpg>=0.30.0 sqlmodel==0.0.22 alembic==1.14.0 hrid==0.2.4 -qdrant-client==1.12.1 ollama==0.3.3 fastembed==0.4.2 asgiproxy==0.1.1 diff --git a/setup.py b/setup.py index 40ded274..c91a77e5 100644 --- a/setup.py +++ b/setup.py @@ -84,7 +84,6 @@ "db": [ "psycopg2-binary>=2.9.10", "asyncpg>=0.30.0", - "qdrant-client>=1.12.1", "fastembed>=0.4.2", ], }, diff --git a/tests/__init__.py b/tests/__init__.py index edb0fa75..af49fa69 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -28,10 +28,6 @@ POSTGRES_URI = f"postgresql+asyncpg://{POSTGRES_USER}:{POSTGRES_PASSWORD}@localhost:{POSTGRES_PORT}/{POSTGRES_DB}" -QDRANT_PORT = 6333 -QDRANT_URL = "http://127.0.0.1:6333" - - def find_item(items, key, value): """Find an item with key or attributes in an object list.""" filtered = [ diff --git a/tests/conftest.py b/tests/conftest.py index 7d24b65b..445cf87c 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -19,7 +19,6 @@ from hypha.core.auth import generate_presigned_token, create_scope from hypha.minio import setup_minio_executables from redis import Redis -from qdrant_client import QdrantClient from . import ( MINIO_PORT, @@ -39,8 +38,6 @@ POSTGRES_PASSWORD, POSTGRES_DB, POSTGRES_URI, - QDRANT_PORT, - QDRANT_URL, ) JWT_SECRET = str(uuid.uuid4()) @@ -262,67 +259,8 @@ def redis_server(): time.sleep(1) -@pytest_asyncio.fixture(name="qdrant_server", scope="session") -def qdrant_server(): - """Start a Qdrant server as test fixture and tear down after test.""" - try: - # Check if Qdrant is already running - client = QdrantClient(QDRANT_URL) - client.info() - print(f"Qdrant is running, using vectordb at {QDRANT_URL}") - yield QDRANT_URL - except Exception: - # Pull the Qdrant image - print("Pulling Qdrant Docker image...") - subprocess.run( - ["docker", "pull", "qdrant/qdrant:v1.12.4-unprivileged"], check=True - ) - # Start Qdrant using Docker - print("Qdrant is not running, starting a Qdrant server using Docker...") - dirpath = tempfile.mkdtemp() - subprocess.Popen( - [ - "docker", - "run", - "-d", - "--name", - "qdrant", - "-p", - f"{QDRANT_PORT}:{QDRANT_PORT}", - "-p", - "6334:6334", - "-v", - f"{dirpath}:/qdrant/storage:z", - "qdrant/qdrant:v1.12.4-unprivileged", - ] - ) - - # Wait for Qdrant to be ready - timeout = 10 - while timeout > 0: - try: - client = QdrantClient(QDRANT_URL) - client.info() - print(f"Qdrant is running at {QDRANT_URL}") - break - except Exception: - pass - timeout -= 0.1 - time.sleep(0.1) - - if timeout <= 0: - raise RuntimeError("Failed to start Qdrant server.") - - yield QDRANT_URL - - # Stop and remove the Docker container after the test - subprocess.Popen(["docker", "stop", "qdrant"]) - subprocess.Popen(["docker", "rm", "qdrant"]) - time.sleep(1) - - @pytest_asyncio.fixture(name="fastapi_server", scope="session") -def fastapi_server_fixture(minio_server, postgres_server, qdrant_server): +def fastapi_server_fixture(minio_server, postgres_server): """Start server as test fixture and tear down after test.""" with subprocess.Popen( [ @@ -342,7 +280,6 @@ def fastapi_server_fixture(minio_server, postgres_server, qdrant_server): "--enable-s3-proxy", f"--workspace-bucket=my-workspaces", "--s3-admin-type=minio", - f"--vectordb-uri={qdrant_server}", "--cache-dir=./bin/cache", f"--triton-servers=http://127.0.0.1:{TRITON_PORT}", "--static-mounts=/tests:./tests", diff --git a/tests/test_artifact.py b/tests/test_artifact.py index f211c01d..750c6a88 100644 --- a/tests/test_artifact.py +++ b/tests/test_artifact.py @@ -6,6 +6,7 @@ from io import BytesIO from zipfile import ZipFile import httpx +import yaml from . import SERVER_URL, SERVER_URL_SQLITE, find_item @@ -895,11 +896,13 @@ async def test_http_artifact_endpoint(minio_server, fastapi_server, test_user_to config={"permissions": {"*": "r", "@": "r+"}}, ) - # Create an artifact within the collection - dataset_manifest = { - "name": "Test Dataset", - "description": "A test dataset for HTTP endpoint", - } + # Create a string in yaml with infinite float + yaml_str = """ + name: Test Dataset + description: A test dataset for HTTP endpoint + inf_float: [-.inf, .inf] + """ + dataset_manifest = yaml.safe_load(yaml_str) dataset = await artifact_manager.create( type="dataset", parent_id=collection.id, diff --git a/tests/test_service_search.py b/tests/test_service_search.py index f42f70ae..b166fa56 100644 --- a/tests/test_service_search.py +++ b/tests/test_service_search.py @@ -63,14 +63,14 @@ async def test_service_search(fastapi_server_redis_1, test_user_token): # Test semantic search using `text_query` text_query = "NLP" - services = await api.search_services(text_query=text_query, limit=3) + services = await api.search_services(query=text_query, limit=3) assert isinstance(services, list) assert len(services) <= 3 # The top hit should be the service with "natural language processing" in the `docs` field assert "natural language processing" in services[0]["docs"] assert services[0]["score"] < services[1]["score"] - results = await api.search_services(text_query=text_query, limit=3, pagination=True) + results = await api.search_services(query=text_query, limit=3, pagination=True) assert results["total"] >= 1 embedding = np.ones(384).astype(np.float32) @@ -88,7 +88,7 @@ async def test_service_search(fastapi_server_redis_1, test_user_token): ) # Test vector query with the exact embedding - services = await api.search_services(vector_query=embedding, limit=3) + services = await api.search_services(query=embedding, limit=3) assert isinstance(services, list) assert len(services) <= 3 assert "service-88" in services[0]["id"] @@ -103,9 +103,7 @@ async def test_service_search(fastapi_server_redis_1, test_user_token): # Test hybrid search (text query + filters) filters = {"type": "my-type"} text_query = "genomics workflows" - services = await api.search_services( - text_query=text_query, filters=filters, limit=3 - ) + services = await api.search_services(query=text_query, filters=filters, limit=3) assert isinstance(services, list) assert all(service["type"] == "my-type" for service in services) # The top hit should be the service with "genomics" in the `docs` field @@ -114,7 +112,7 @@ async def test_service_search(fastapi_server_redis_1, test_user_token): # Test hybrid search (embedding + filters) filters = {"type": "my-type"} services = await api.search_services( - vector_query=np.random.rand(384), filters=filters, limit=3 + query=np.random.rand(384), filters=filters, limit=3 ) assert isinstance(services, list) assert all(service["type"] == "my-type" for service in services) diff --git a/tests/test_vectors.py b/tests/test_vectors.py index 3593235b..a1c1fee0 100644 --- a/tests/test_vectors.py +++ b/tests/test_vectors.py @@ -5,14 +5,14 @@ from hypha_rpc import connect_to_server -from . import SERVER_URL, find_item +from . import SERVER_URL_REDIS_1 # All test coroutines will be treated as marked. pytestmark = pytest.mark.asyncio async def test_artifact_vector_collection( - minio_server, fastapi_server, test_user_token + minio_server, fastapi_server_redis_1, test_user_token ): """Test vector-related functions within a vector-collection artifact.""" @@ -20,7 +20,7 @@ async def test_artifact_vector_collection( api = await connect_to_server( { "name": "test deploy client", - "server_url": SERVER_URL, + "server_url": SERVER_URL_REDIS_1, "token": test_user_token, } ) @@ -32,11 +32,24 @@ async def test_artifact_vector_collection( "description": "A test vector collection", } vector_collection_config = { - "vectors_config": { - "size": 384, - "distance": "Cosine", + "vector_fields": [ + { + "type": "VECTOR", + "name": "vector", + "algorithm": "FLAT", + "attributes": { + "TYPE": "FLOAT32", + "DIM": 384, + "DISTANCE_METRIC": "COSINE", + }, + }, + {"type": "TEXT", "name": "text"}, + {"type": "TAG", "name": "label"}, + {"type": "NUMERIC", "name": "rand_number"}, + ], + "embedding_models": { + "vector": "fastembed:BAAI/bge-small-en-v1.5", }, - "embedding_model": "fastembed:BAAI/bge-small-en-v1.5", } vector_collection = await artifact_manager.create( type="vector-collection", @@ -47,27 +60,21 @@ async def test_artifact_vector_collection( vectors = [ { "vector": [random.random() for _ in range(384)], - "payload": { - "text": "This is a test document.", - "label": "doc1", - "rand_number": random.randint(0, 10), - }, + "text": "This is a test document.", + "label": "doc1", + "rand_number": random.randint(0, 10), }, { "vector": np.random.rand(384), - "payload": { - "text": "Another document.", - "label": "doc2", - "rand_number": random.randint(0, 10), - }, + "text": "Another document.", + "label": "doc2", + "rand_number": random.randint(0, 10), }, { "vector": np.random.rand(384), - "payload": { - "text": "Yet another document.", - "label": "doc3", - "rand_number": random.randint(0, 10), - }, + "text": "Yet another document.", + "label": "doc3", + "rand_number": random.randint(0, 10), }, ] await artifact_manager.add_vectors( @@ -82,57 +89,48 @@ async def test_artifact_vector_collection( query_vector = [random.random() for _ in range(384)] search_results = await artifact_manager.search_vectors( artifact_id=vector_collection.id, - query_vector=query_vector, + query={"vector": query_vector}, limit=2, ) assert len(search_results) <= 2 results = await artifact_manager.search_vectors( artifact_id=vector_collection.id, - query_vector=query_vector, - limit=2, + query={"vector": query_vector}, + limit=3, pagination=True, ) assert results["total"] == 3 - query_filter = { - "should": None, - "min_should": None, - "must": [ - { - "key": "rand_number", - "match": None, - "range": {"lt": None, "gt": None, "gte": 3.0, "lte": None}, - "geo_bounding_box": None, - "geo_radius": None, - "geo_polygon": None, - "values_count": None, - } - ], - "must_not": None, - } + search_results = await artifact_manager.search_vectors( + artifact_id=vector_collection.id, + filters={"rand_number": [-2, -1]}, + query={"vector": np.random.rand(384)}, + limit=2, + ) + assert len(search_results) == 0 search_results = await artifact_manager.search_vectors( artifact_id=vector_collection.id, - query_filter=query_filter, - query_vector=np.random.rand(384), + filters={"rand_number": [0, 10]}, + query={"vector": np.random.rand(384)}, limit=2, ) - assert len(search_results) <= 2 + assert len(search_results) > 0 # Search for vectors by text - documents = [ - {"text": "This is a test document.", "label": "doc1"}, - {"text": "Another test document.", "label": "doc2"}, + vectors = [ + {"vector": "This is a test document.", "label": "doc1"}, + {"vector": "Another test document.", "label": "doc2"}, ] - await artifact_manager.add_documents( + await artifact_manager.add_vectors( artifact_id=vector_collection.id, - documents=documents, + vectors=vectors, ) - text_query = "test document" + text_search_results = await artifact_manager.search_vectors( artifact_id=vector_collection.id, - query_text=text_query, + query={"vector": "test document"}, limit=2, ) assert len(text_search_results) <= 2 @@ -142,7 +140,7 @@ async def test_artifact_vector_collection( artifact_id=vector_collection.id, id=text_search_results[0]["id"], ) - assert retrieved_vector.id == text_search_results[0]["id"] + assert "label" in retrieved_vector # List vectors in the collection vector_list = await artifact_manager.list_vectors( From fba16052b62084e3a530bf81a7b9e424d541675f Mon Sep 17 00:00:00 2001 From: Wei Ouyang Date: Wed, 27 Nov 2024 02:24:10 -0800 Subject: [PATCH 02/41] Fix publish_to --- tests/test_artifact.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_artifact.py b/tests/test_artifact.py index 750c6a88..ffed1164 100644 --- a/tests/test_artifact.py +++ b/tests/test_artifact.py @@ -738,8 +738,10 @@ async def test_publish_artifact(minio_server, fastapi_server, test_user_token): alias="{zenodo_conceptrecid}", parent_id=collection.id, manifest=dataset_manifest, + config={ + "publish_to": "sandbox_zenodo" + } version="stage", - publish_to="sandbox_zenodo", ) assert ( From eaf312dde5e94fbdae2e1884b4ad7af0c7ad6baf Mon Sep 17 00:00:00 2001 From: Wei Ouyang Date: Wed, 27 Nov 2024 02:26:37 -0800 Subject: [PATCH 03/41] Fix syntax --- tests/test_artifact.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_artifact.py b/tests/test_artifact.py index ffed1164..1e5476b7 100644 --- a/tests/test_artifact.py +++ b/tests/test_artifact.py @@ -740,7 +740,7 @@ async def test_publish_artifact(minio_server, fastapi_server, test_user_token): manifest=dataset_manifest, config={ "publish_to": "sandbox_zenodo" - } + }, version="stage", ) From 3c438db35e4d348bbd16bc00870da9c3677cad9c Mon Sep 17 00:00:00 2001 From: Wei Ouyang Date: Fri, 29 Nov 2024 04:56:00 -0800 Subject: [PATCH 04/41] add runner; bump hypha-rpc --- CHANGELOG.md | 5 + docs/getting-started.md | 2 +- docs/hypha-quick-tour.ipynb | 1602 +++++++++-------- docs/migration-guide.md | 10 +- docs/service-type-annotation.md | 2 +- helm-charts/aks-hypha.md | 2 +- helm-charts/hypha-server/Chart.yaml | 2 +- helm-charts/hypha-server/values.yaml | 2 +- hypha/VERSION | 2 +- hypha/apps.py | 46 +- hypha/runner/__init__.py | 33 +- hypha/runner/__main__.py | 6 +- hypha/runner/browser.py | 28 +- .../hypha-core-app/hypha-app-webpython.js | 2 +- hypha/templates/ws/index.html | 2 +- requirements.txt | 2 +- setup.py | 2 +- tests/test_artifact.py | 4 +- 18 files changed, 906 insertions(+), 848 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 494ca152..12cae0f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Hypha Change Log +### 0.20.41 + + - Add `time_limit` for server apps to limit the running time + - Support launching server apps worker in a separate service + ### 0.20.40 - Add vector store service to support vector search and retrieval. diff --git a/docs/getting-started.md b/docs/getting-started.md index 6db5031c..99c2a77d 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -220,7 +220,7 @@ svc = await get_remote_service("http://localhost:9527/ws-user-scintillating-lawy Include the following script in your HTML file to load the `hypha-rpc` client: ```html - + ``` Use the following code in JavaScript to connect to the server and access an existing service: diff --git a/docs/hypha-quick-tour.ipynb b/docs/hypha-quick-tour.ipynb index 67beae83..d82664e4 100644 --- a/docs/hypha-quick-tour.ipynb +++ b/docs/hypha-quick-tour.ipynb @@ -1,805 +1,807 @@ { - "cells": [ - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Hypha Demos\n", - "\n", - "## Install client library" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "try:\n", - " # For pyodide in the browser\n", - " import micropip\n", - " await micropip.install(['hypha-rpc'])\n", - "except ImportError:\n", - " # For native python with pip\n", - " import subprocess\n", - " subprocess.call(['pip', 'install', 'hypha-rpc'])" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Connect to the server\n", - "\n", - "You will need to register an account at https://ai.imjoy.io/public/apps/hypha-login/" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from hypha_rpc import login, connect_to_server\n", - "\n", - "token = await login({\"server_url\": \"https://ai.imjoy.io\"})\n", - "api = await connect_to_server(\n", - " {\"name\": \"test client\", \"server_url\": \"https://ai.imjoy.io\", \"token\": token}\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "# Generate credentials for later usage\n", - "workspace = api.config.workspace\n", - "token = await api.generate_token()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## List all the public services" - ] - }, - { - "cell_type": "code", - "execution_count": 99, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'id': 'public/ws:triton-client',\n", - " 'name': 'Triton Client',\n", - " 'type': 'triton-client',\n", - " 'config': {'visibility': 'public',\n", - " 'require_context': True,\n", - " 'workspace': 'public',\n", - " 'flags': []}},\n", - " {'id': 'public/ws:s3-storage',\n", - " 'name': 'S3 Storage',\n", - " 'type': 's3-storage',\n", - " 'config': {'visibility': 'public',\n", - " 'require_context': True,\n", - " 'workspace': 'public',\n", - " 'flags': []}},\n", - " {'id': 'public/ws:artifact',\n", - " 'name': 'Artifact',\n", - " 'type': 'artifact',\n", - " 'config': {'visibility': 'public',\n", - " 'require_context': True,\n", - " 'workspace': 'public',\n", - " 'flags': []}},\n", - " {'id': 'public/ws:server-apps',\n", - " 'name': 'Server Apps',\n", - " 'type': 'server-apps',\n", - " 'config': {'visibility': 'public',\n", - " 'require_context': True,\n", - " 'workspace': 'public',\n", - " 'flags': []}}]" - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "public_services = await api.list_services(\"public\")\n", - "public_services" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Use the s3-storage service" - ] - }, - { - "cell_type": "code", - "execution_count": 100, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'config': {'visibility': 'public',\n", - " 'require_context': True,\n", - " 'workspace': 'public',\n", - " 'flags': []},\n", - " 'id': 's3-storage',\n", - " 'name': 'S3 Storage',\n", - " 'type': 's3-storage',\n", - " 'list_files': .remote_method(*arguments, **kwargs)>,\n", - " 'generate_credential': .remote_method(*arguments, **kwargs)>,\n", - " 'generate_presigned_url': .remote_method(*arguments, **kwargs)>}" - ] - }, - "execution_count": 100, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "s3 = await api.get_service(\"s3-storage\")\n", - "s3" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Generate credential for s3 client" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'endpoint_url': 'https://s3.imjoy.io',\n", - " 'access_key_id': 'PpxTnuczVrF4xNg8LGb4fS',\n", - " 'secret_access_key': 'IefT9XG26iQdnfy1D4zB',\n", - " 'bucket': 'hypha-workspaces',\n", - " 'prefix': 'PpxTnuczVrF4xNg8LGb4fS/'}" - ] - }, - "execution_count": 101, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "info = await s3.generate_credential()\n", - "info" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Upload an file to the workspace via hypha" - ] - }, - { - "cell_type": "code", - "execution_count": 104, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'{\"ResponseMetadata\":{\"RequestId\":\"16EA80BB0B90A875\",\"HostId\":\"\",\"HTTPStatusCode\":200,\"HTTPHeaders\":{\"accept-ranges\":\"bytes\",\"content-length\":\"0\",\"content-security-policy\":\"block-all-mixed-content\",\"etag\":\"\\\\\"aff97160474a056e838c1f721af01edf\\\\\"\",\"server\":\"MinIO\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains\",\"vary\":\"Accept-Encoding\",\"x-amz-request-id\":\"16EA80BB0B90A875\",\"x-content-type-options\":\"nosniff\",\"x-xss-protection\":\"1; mode=block\",\"date\":\"Fri, 29 Apr 2022 23:09:14 GMT\"},\"RetryAttempts\":0},\"ETag\":\"\\\\\"aff97160474a056e838c1f721af01edf\\\\\"\"}'" - ] - }, - "execution_count": 104, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from js import fetch, File, Object, eval\n", - "url = f\"https://ai.imjoy.io/{workspace}/files/hello.txt\"\n", - "headers = eval(f\"headers={{Authorization: 'Bearer {token}'}}\")\n", - "file = File.new([\"hi!\"], \"hello.txt\");\n", - "response = await fetch(url, method=\"PUT\", body=file, withCredentials=True, headers=headers)\n", - "await response.text()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Generate a presigned url for downloading a file" - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "https://s3.imjoy.io/hypha-workspaces/PpxTnuczVrF4xNg8LGb4fS/hello.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=europas3%2F20220429%2FEU%2Fs3%2Faws4_request&X-Amz-Date=20220429T230919Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=d7784bb2db00958dceb35e41dc822786d01d6ade4d228748d33da73c7f66ae48\n" - ] - }, - { - "data": { - "text/plain": [ - "'hi!'" - ] - }, - "execution_count": 105, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "url = await s3.generate_presigned_url(\n", - " \"hello.txt\"\n", - ")\n", - "print(url)\n", - "response = await fetch(url, method=\"GET\")\n", - "await response.text()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Download the file" - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'hi!'" - ] - }, - "execution_count": 106, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from js import fetch, File, Object, eval\n", - "url = f\"https://ai.imjoy.io/{workspace}/files/hello.txt\"\n", - "headers = eval(f\"headers={{Authorization: 'Bearer {token}'}}\")\n", - "response = await fetch(url, method=\"GET\", withCredentials=True, headers=headers)\n", - "await response.text()" - ] - }, - { - "cell_type": "code", - "execution_count": 107, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'type': 'file',\n", - " 'name': 'hello.txt',\n", - " 'size': 3,\n", - " 'last_modified': 1651273754.223}]" - ] - }, - "execution_count": 107, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "await s3.list_files()" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Use triton-client service" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "from js import fetch\n", - "import io\n", - "from PIL import Image\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "\n", - "async def fetch_image(url, name=None, grayscale=False, transpose=False, size=None):\n", - " response = await fetch(url)\n", - " bytes = await response.arrayBuffer()\n", - " bytes = bytes.to_py()\n", - " buffer = io.BytesIO(bytes)\n", - " buffer.name = name or url.split('?')[0].split('/')[1]\n", - " image = Image.open(buffer)\n", - " if grayscale:\n", - " image = image.convert('L')\n", - " if size:\n", - " image = image.resize(size=size)\n", - " image = np.array(image).astype('float32')\n", - " if transpose:\n", - " image = image.transpose(2, 0, 1)\n", - " return image\n", - "\n", - "def display_image(image, mask):\n", - " # display the output\n", - " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4))\n", - " ax1.imshow(image)\n", - " ax1.set_title('input image')\n", - " ax2.imshow(mask)\n", - " ax2.set_title('predicted mask')\n", - " plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "image = await fetch_image('https://static.imjoy.io/img/img02.png', transpose=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "image/png": "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+dCHPsT1119PLpdjcnKS5z73ua0cByEE5XKZT33qU61nqX7WXog2rtefDzzwAC972csYHh5mcnKSd77znUgpOXHiBC984QsZGhpiZmaG3//9329bv9Fo8K53vYubb76Z4eFhisUiT3va0/jyl7/csa+/+qu/4uabb2ZwcJChoSGuv/56PvShD63bvqWlJZ70pCexd+/eLXmYLJbzwQ6dWixdeOihh/i5n/s5XvOa1/DKV76SP//zP+dVr3oVN998M9dee23bsm9+85sZGRnhPe95D/fffz9/9Ed/xPHjx1uJiv3y9Kc/nbe85S18+MMf5v/7//4/rr76aoDW/5vh61//On/7t3/Lm970JgDuuOMOfuZnfobf+I3f4A//8A954xvfyNLSEu9///t59atfzZe+9KXWunfeeSeVSoVf+ZVfYXx8nH/5l3/hIx/5CCdPnuTOO+9sLfd3f/d3/MIv/ALXX389d9xxB0tLS7zmNa9hz549He15wxvewCc/+Ul+6Zd+ibe85S0cPXqUj370o3z3u9/lG9/4hh3htFguIV7ykpdw8OBB7rjjDr71rW/x4Q9/mKWlpY5BmC996Ut89rOf5c1vfjMTExMcPHiQ2dlZfuzHfqwlUCYnJ/n7v/97XvOa17C6usqv/dqvAVCtVnnWs57Fo48+ylve8hZ2797NX/zFX7Q9i9bjNa95DZ/85Cd53vOex2tf+1qCIODrX/863/rWt7jlllv4i7/4C1772tfypCc9ide//vUAHD58GGDH2qj5hV/4Ba6++mre97738Xd/93f8zu/8DmNjY3zsYx/jmc98Jr/3e7/HZz7zGd7+9rfzxCc+kac//ekArK6u8qd/+qe89KUv5XWvex1ra2v82Z/9Gc95znP4l3/5F2666SYA/vEf/5GXvvSlPOtZz+L3fu/3ALj33nv5xje+wVvf+taubZqfn+cnf/InWVxc5Ktf/WqrbyyWHUNaLI9jPvGJT0hAHj16tPXZgQMHJCC/9rWvtT47d+6czGaz8j/9p//Use7NN98sG41G6/P3v//9EpD/63/9r9ZngHz3u9/dsf8DBw7IV77yla2/77zzTgnIL3/5y321/93vfrdM38aAzGazbcf0sY99TAJyZmZGrq6utj5/xzve0XH8lUqlYz933HGHFELI48ePtz67/vrr5d69e+Xa2lrrs6985SsS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b2cMQBGEPYM2aNQwf3v+6ost9VBCEYtFf76PFQDwguxADBui0utWrV1NZWbmTR1McmpubGTFiBGvWrKGiomJnD2eHI/Pt/+zqc1ZK0dLSwtCh3Te1212R++iud81tb/a0+cKeN+ddfb79/T5aDESA7ELYtnYbVlZW7pJfuB1JRUXFHjVnmW//Z1eec382zOU+uufMeU+bL+x5c96V59uf76PFoHcdWgRBEARBEARBELYBESCCIAiCIAiCIBQNESC7EJFIhGuuuYZIJLKzh1I09rQ5y3z7P3vinHcl9sTzv6fNeU+bL+x5c97T5rsnIlWwBEEQBEEQBEEoGuIBEQRBEARBEAShaIgAEQRBEARBEAShaIgAEQRBEARBEAShaIgAEQRBEARBEAShaIgA2YX4/e9/z+jRo4lGo0ybNo25c+fu7CH1iX//+9986UtfYujQoViWxRNPPNHhdaUUP/3pTxkyZAglJSUce+yxrFixosM2iUSCSy+9lIEDB1JWVsapp57K+vXriziLnjNz5kwOOeQQysvLGTx4MCeddBLLly/vsE1/mvPtt9/Ofvvtl20QNX36dJ577rns6/1proW4/vrrsSyLK664Ivtcf5/z7oTcR3PsTtec3EflPtrf5yzkoYRdgoceekiFw2F19913qyVLlqgLLrhAVVVVqfXr1+/sofWaZ599Vl199dXqscceU4B6/PHHO7x+/fXXq8rKSvXEE0+ot956S51wwglqzJgxqr29PbvNxRdfrEaMGKFefvllNX/+fHXYYYepww8/vMgz6RnHHXecuueee9TixYvVokWL1Be+8AU1cuRI1dramt2mP835qaeeUv/85z/Ve++9p5YvX65+9KMfqVAopBYvXqyU6l9zzWfu3Llq9OjRar/99lOXX3559vn+POfdCbmP7r7XnNxH5T7an+csdEYEyC7CoYceqi699NLs347jqKFDh6qZM2fuxFFtO/n/OF3XVXV1derGG2/MPtfY2KgikYh68MEHs3+HQiH18MMPZ7dZtmyZAtTs2bOLNva+smHDBgWoWbNmKaX2jDlXV1eru+66q1/PtaWlRU2YMEG9+OKL6sgjj8z+4+zPc97dkPto/7nm5D7aP+cq91HBICFYuwCpVIoFCxZw7LHHZp+zbZtjjz2W2bNn78SRbX9WrlxJfX19h7lWVlYybdq07FwXLFh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", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "triton = await api.get_service(\"triton-client\")\n", - "results = await triton.execute(inputs=[image, {'diameter': 30}], model_name='cellpose-python', decode_json=True)\n", - "\n", - "mask = results['mask'][0]\n", - "display_image(image.transpose(1, 2, 0).astype('uint8'), mask)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Use server-apps service" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'config': {'visibility': 'public',\n", - " 'require_context': True,\n", - " 'workspace': 'public',\n", - " 'flags': []},\n", - " 'id': 'server-apps',\n", - " 'name': 'Server Apps',\n", - " 'type': 'server-apps',\n", - " 'launch': .remote_method(*arguments, **kwargs)>,\n", - " 'list_apps': .remote_method(*arguments, **kwargs)>,\n", - " 'list_running': .remote_method(*arguments, **kwargs)>,\n", - " 'install': .remote_method(*arguments, **kwargs)>,\n", - " 'get_log': .remote_method(*arguments, **kwargs)>,\n", - " 'start': .remote_method(*arguments, **kwargs)>,\n", - " 'stop': .remote_method(*arguments, **kwargs)>,\n", - " 'uninstall': .remote_method(*arguments, **kwargs)>}" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "controller = await api.get_service(\"server-apps\")\n", - "controller" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Launch a window plugin" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "TEST_APP_CODE = \"\"\"\n", - "api.log('awesome!connected!');\n", - "\n", - "api.export({\n", - " async setup(){\n", - " console.log(\"this is a log\");\n", - " console.error(\"this is an error\");\n", - " await api.log(\"initialized\")\n", - " },\n", - " async check_webgpu(){\n", - " if (\"gpu\" in navigator) {\n", - " // WebGPU is supported!\n", - " return true\n", - " }\n", - " else return false\n", - " },\n", - " async execute(a, b){\n", - " console.log(\"executing\", a, b);\n", - " return a + b\n", - " }\n", - "})\n", - "\"\"\"\n", - "controller = await api.get_service(\"server-apps\")\n", - "config = await controller.launch(\n", - " source=TEST_APP_CODE,\n", - " config={\"type\": \"window\"},\n", - ")\n", - "assert \"app_id\" in config\n", - "plugin = await api.get_app(config.id)\n", - "assert \"execute\" in plugin\n", - "result = await plugin.execute(2, 4)\n", - "assert result == 6\n", - "webgpu_available = await plugin.check_webgpu()\n", - "assert webgpu_available is True\n", - "# only pass name so the app won't be removed\n", - "await controller.stop(config.id)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Launch a web-python plugin" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "TEST_APP_CODE = \"\"\"\n", - "from hypha_rpc import api\n", - "\n", - "async def setup():\n", - " await api.log(\"started\")\n", - "\n", - "api.export({\"setup\": setup})\n", - "\"\"\"\n", - "controller = await api.get_service(\"server-apps\")\n", - "config = await controller.launch(\n", - " source=TEST_APP_CODE,\n", - " config={\"type\": \"web-python\"},\n", - ")\n", - "plugin = await api.get_app(config.id)\n", - "assert \"setup\" in plugin" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "await plugin.setup()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "[{'config': {'visibility': 'protected',\n", - " 'require_context': False,\n", - " 'workspace': 'DEcRy4JJvFmQ3sHcNDE3h8',\n", - " 'flags': []},\n", - " 'id': 'DEcRy4JJvFmQ3sHcNDE3h8/WcSKBPCquX5f8bmQdM2vey:default',\n", - " 'name': 'Untitled Plugin',\n", - " 'type': 'generic'},\n", - " {'config': {'visibility': 'protected',\n", - " 'require_context': False,\n", - " 'workspace': 'DEcRy4JJvFmQ3sHcNDE3h8',\n", - " 'flags': []},\n", - " 'id': 'DEcRy4JJvFmQ3sHcNDE3h8/ERAWbr7kMU7Dw6ETF3MVio:default',\n", - " 'name': 'Untitled Plugin',\n", - " 'type': 'generic'}]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "plugins = await api.list_apps()\n", - "plugins" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'error': [],\n", - " 'log': ['Loading distutils',\n", - " 'Loading distutils from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/distutils.js',\n", - " 'Loaded distutils',\n", - " 'Loading micropip, pyparsing, packaging, distutils',\n", - " 'Loading micropip from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/micropip.js',\n", - " 'Loading pyparsing from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pyparsing.js',\n", - " 'Loading packaging from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/packaging.js',\n", - " 'distutils already loaded from default channel',\n", - " 'Loaded micropip, pyparsing, packaging, distutils',\n", - " 'Loading msgpack',\n", - " 'Loading msgpack from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/msgpack.js',\n", - " 'Loaded msgpack']}" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "await controller.get_log(config.id)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [], - "source": [ - "await controller.stop(config.id)" - ] - }, - { - "attachments": {}, - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Launch a web-python plugin and serve a web app" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Server app running at https://ai.imjoy.io/DEcRy4JJvFmQ3sHcNDE3h8/apps/cellpose/predict\n" - ] - } - ], - "source": [ - "controller = await api.get_service(\"server-apps\")\n", - "app = await controller.launch(\n", - " source=\"https://gist.githubusercontent.com/oeway/4667231efb08c39b9f41b827b91229de/raw/ASGIWebPythonPlugin.imjoy.html\",\n", - " timeout=20\n", - ")\n", - "server_info = await api.get_connection_info()\n", - "\n", - "print(f\"Server app running at {server_info.public_base_url}/{workspace}/apps/cellpose/predict\")" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'local_url': 'http://127.0.0.1:9520/apps/DEcRy4JJvFmQ3sHcNDE3h8/QmXUiEnpwTxfpnQFyajf7AQE839CznLdNLcL54H7ZEh9MF/index.html?client_id=cyGAid6K7h5kaCRZyhA3gY&workspace=DEcRy4JJvFmQ3sHcNDE3h8&server_url=ws://127.0.0.1:9520/ws&token=KX8P9cAsUtetsjNXCqkLNq@imjoy@eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2ltam95LmlvLyIsInN1YiI6IktYOFA5Y0FzVXRldHNqTlhDcWtMTnEiLCJhdWQiOiJodHRwczovL2ltam95LmV1LmF1dGgwLmNvbS9hcGkvdjIvIiwiaWF0IjoxNjUxNDcyMjc3LjcxMjk1NzksImV4cCI6MTY1MTQ4MzA3Ny43MTI5NTc5LCJzY29wZSI6IkRFY1J5NEpKdkZtUTNzSGNOREUzaDgiLCJwYXJlbnQiOiJyb290IiwicGMiOiJERWNSeTRKSnZGbVEzc0hjTkRFM2g4L2NRc0JGQkduSHY3TWpWaEhjWmJ4VkYiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJodHRwczovL2FwaS5pbWpveS5pby9yb2xlcyI6W10sImh0dHBzOi8vYXBpLmltam95LmlvL2VtYWlsIjpudWxsfQ.haYr2EWJpLoOY5KvUOIwIlFCpZ3Xs67DtR8gYt_B-aM',\n", - " 'id': 'cyGAid6K7h5kaCRZyhA3gY',\n", - " 'workspace': 'DEcRy4JJvFmQ3sHcNDE3h8',\n", - " 'app_id': 'DEcRy4JJvFmQ3sHcNDE3h8/QmXUiEnpwTxfpnQFyajf7AQE839CznLdNLcL54H7ZEh9MF',\n", - " 'public_url': 'https://ai.imjoy.io/apps/DEcRy4JJvFmQ3sHcNDE3h8/QmXUiEnpwTxfpnQFyajf7AQE839CznLdNLcL54H7ZEh9MF/index.html?client_id=cyGAid6K7h5kaCRZyhA3gY&workspace=DEcRy4JJvFmQ3sHcNDE3h8&server_url=wss://ai.imjoy.io/ws&token=KX8P9cAsUtetsjNXCqkLNq@imjoy@eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2ltam95LmlvLyIsInN1YiI6IktYOFA5Y0FzVXRldHNqTlhDcWtMTnEiLCJhdWQiOiJodHRwczovL2ltam95LmV1LmF1dGgwLmNvbS9hcGkvdjIvIiwiaWF0IjoxNjUxNDcyMjc3LjcxMjk1NzksImV4cCI6MTY1MTQ4MzA3Ny43MTI5NTc5LCJzY29wZSI6IkRFY1J5NEpKdkZtUTNzSGNOREUzaDgiLCJwYXJlbnQiOiJyb290IiwicGMiOiJERWNSeTRKSnZGbVEzc0hjTkRFM2g4L2NRc0JGQkduSHY3TWpWaEhjWmJ4VkYiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJodHRwczovL2FwaS5pbWpveS5pby9yb2xlcyI6W10sImh0dHBzOi8vYXBpLmltam95LmlvL2VtYWlsIjpudWxsfQ.haYr2EWJpLoOY5KvUOIwIlFCpZ3Xs67DtR8gYt_B-aM',\n", - " 'name': 'ASGIWebPythonPlugin'}" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "app" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "{'error': [],\n", - " 'log': ['Loading distutils',\n", - " 'Loading distutils from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/distutils.js',\n", - " 'Loaded distutils',\n", - " 'Loading micropip, pyparsing, packaging, distutils',\n", - " 'Loading micropip from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/micropip.js',\n", - " 'Loading pyparsing from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pyparsing.js',\n", - " 'Loading packaging from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/packaging.js',\n", - " 'distutils already loaded from default channel',\n", - " 'Loaded micropip, pyparsing, packaging, distutils',\n", - " 'Loading numpy, imageio, pillow, matplotlib, distutils, cycler, six, kiwisolver, pyparsing, python-dateutil, pytz, msgpack, typing-extensions',\n", - " 'Loading numpy from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/numpy.js',\n", - " 'Loading imageio from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/imageio.js',\n", - " 'Loading pillow from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pillow.js',\n", - " 'Loading matplotlib from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/matplotlib.js',\n", - " 'distutils already loaded from default channel',\n", - " 'Loading cycler from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/cycler.js',\n", - " 'Loading six from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/six.js',\n", - " 'Loading kiwisolver from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/kiwisolver.js',\n", - " 'pyparsing already loaded from default channel',\n", - " 'Loading python-dateutil from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/python-dateutil.js',\n", - " 'Loading pytz from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pytz.js',\n", - " 'Loading msgpack from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/msgpack.js',\n", - " 'Loading typing-extensions from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/typing-extensions.js',\n", - " 'Loaded numpy, imageio, pillow, matplotlib, distutils, cycler, six, kiwisolver, pyparsing, python-dateutil, pytz, msgpack, typing-extensions']}" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "await controller.get_log(app.id)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "trusted": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "stopping WcSKBPCquX5f8bmQdM2vey\n", - "stopping cyGAid6K7h5kaCRZyhA3gY\n" - ] - } - ], - "source": [ - "apps = await controller.list_running()\n", - "for app in apps:\n", - " print(\"stopping \" + app.id)\n", - " await controller.stop(app.id)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Hypha Demos\n", + "\n", + "## Install client library" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "try:\n", + " # For pyodide in the browser\n", + " import micropip\n", + " await micropip.install(['hypha-rpc'])\n", + "except ImportError:\n", + " # For native python with pip\n", + " import subprocess\n", + " subprocess.call(['pip', 'install', 'hypha-rpc'])" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Connect to the server\n", + "\n", + "You will need to register an account at https://ai.imjoy.io/public/apps/hypha-login/" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from hypha_rpc import login, connect_to_server\n", + "\n", + "token = await login({\"server_url\": \"https://ai.imjoy.io\"})\n", + "api = await connect_to_server(\n", + " {\"name\": \"test client\", \"server_url\": \"https://ai.imjoy.io\", \"token\": token}\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "# Generate credentials for later usage\n", + "workspace = api.config.workspace\n", + "token = await api.generate_token()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## List all the public services" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'id': 'public/ws:triton-client',\n", + " 'name': 'Triton Client',\n", + " 'type': 'triton-client',\n", + " 'config': {'visibility': 'public',\n", + " 'require_context': True,\n", + " 'workspace': 'public',\n", + " 'flags': []}},\n", + " {'id': 'public/ws:s3-storage',\n", + " 'name': 'S3 Storage',\n", + " 'type': 's3-storage',\n", + " 'config': {'visibility': 'public',\n", + " 'require_context': True,\n", + " 'workspace': 'public',\n", + " 'flags': []}},\n", + " {'id': 'public/ws:artifact',\n", + " 'name': 'Artifact',\n", + " 'type': 'artifact',\n", + " 'config': {'visibility': 'public',\n", + " 'require_context': True,\n", + " 'workspace': 'public',\n", + " 'flags': []}},\n", + " {'id': 'public/ws:server-apps',\n", + " 'name': 'Server Apps',\n", + " 'type': 'server-apps',\n", + " 'config': {'visibility': 'public',\n", + " 'require_context': True,\n", + " 'workspace': 'public',\n", + " 'flags': []}}]" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" } - ], - "metadata": { - "kernelspec": { - "display_name": "Pyolite", - "language": "python", - "name": "python" - }, - "language_info": { - "codemirror_mode": { - "name": "python", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8" + ], + "source": [ + "public_services = await api.list_services(\"public\")\n", + "public_services" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Use the s3-storage service" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'config': {'visibility': 'public',\n", + " 'require_context': True,\n", + " 'workspace': 'public',\n", + " 'flags': []},\n", + " 'id': 's3-storage',\n", + " 'name': 'S3 Storage',\n", + " 'type': 's3-storage',\n", + " 'list_files': .remote_method(*arguments, **kwargs)>,\n", + " 'generate_credential': .remote_method(*arguments, **kwargs)>,\n", + " 'generate_presigned_url': .remote_method(*arguments, **kwargs)>}" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" } + ], + "source": [ + "s3 = await api.get_service(\"s3-storage\")\n", + "s3" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generate credential for s3 client" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'endpoint_url': 'https://s3.imjoy.io',\n", + " 'access_key_id': 'PpxTnuczVrF4xNg8LGb4fS',\n", + " 'secret_access_key': 'IefT9XG26iQdnfy1D4zB',\n", + " 'bucket': 'hypha-workspaces',\n", + " 'prefix': 'PpxTnuczVrF4xNg8LGb4fS/'}" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "info = await s3.generate_credential()\n", + "info" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Upload an file to the workspace via hypha" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'{\"ResponseMetadata\":{\"RequestId\":\"16EA80BB0B90A875\",\"HostId\":\"\",\"HTTPStatusCode\":200,\"HTTPHeaders\":{\"accept-ranges\":\"bytes\",\"content-length\":\"0\",\"content-security-policy\":\"block-all-mixed-content\",\"etag\":\"\\\\\"aff97160474a056e838c1f721af01edf\\\\\"\",\"server\":\"MinIO\",\"strict-transport-security\":\"max-age=31536000; includeSubDomains\",\"vary\":\"Accept-Encoding\",\"x-amz-request-id\":\"16EA80BB0B90A875\",\"x-content-type-options\":\"nosniff\",\"x-xss-protection\":\"1; mode=block\",\"date\":\"Fri, 29 Apr 2022 23:09:14 GMT\"},\"RetryAttempts\":0},\"ETag\":\"\\\\\"aff97160474a056e838c1f721af01edf\\\\\"\"}'" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from js import fetch, File, Object, eval\n", + "url = f\"https://ai.imjoy.io/{workspace}/files/hello.txt\"\n", + "headers = eval(f\"headers={{Authorization: 'Bearer {token}'}}\")\n", + "file = File.new([\"hi!\"], \"hello.txt\");\n", + "response = await fetch(url, method=\"PUT\", body=file, withCredentials=True, headers=headers)\n", + "await response.text()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Generate a presigned url for downloading a file" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "https://s3.imjoy.io/hypha-workspaces/PpxTnuczVrF4xNg8LGb4fS/hello.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=europas3%2F20220429%2FEU%2Fs3%2Faws4_request&X-Amz-Date=20220429T230919Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=d7784bb2db00958dceb35e41dc822786d01d6ade4d228748d33da73c7f66ae48\n" + ] + }, + { + "data": { + "text/plain": [ + "'hi!'" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "url = await s3.generate_presigned_url(\n", + " \"hello.txt\"\n", + ")\n", + "print(url)\n", + "response = await fetch(url, method=\"GET\")\n", + "await response.text()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Download the file" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'hi!'" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from js import fetch, File, Object, eval\n", + "url = f\"https://ai.imjoy.io/{workspace}/files/hello.txt\"\n", + "headers = eval(f\"headers={{Authorization: 'Bearer {token}'}}\")\n", + "response = await fetch(url, method=\"GET\", withCredentials=True, headers=headers)\n", + "await response.text()" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'type': 'file',\n", + " 'name': 'hello.txt',\n", + " 'size': 3,\n", + " 'last_modified': 1651273754.223}]" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "await s3.list_files()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Use triton-client service" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "from js import fetch\n", + "import io\n", + "from PIL import Image\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "async def fetch_image(url, name=None, grayscale=False, transpose=False, size=None):\n", + " response = await fetch(url)\n", + " bytes = await response.arrayBuffer()\n", + " bytes = bytes.to_py()\n", + " buffer = io.BytesIO(bytes)\n", + " buffer.name = name or url.split('?')[0].split('/')[1]\n", + " image = Image.open(buffer)\n", + " if grayscale:\n", + " image = image.convert('L')\n", + " if size:\n", + " image = image.resize(size=size)\n", + " image = np.array(image).astype('float32')\n", + " if transpose:\n", + " image = image.transpose(2, 0, 1)\n", + " return image\n", + "\n", + "def display_image(image, mask):\n", + " # display the output\n", + " fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(8, 4))\n", + " ax1.imshow(image)\n", + " ax1.set_title('input image')\n", + " ax2.imshow(mask)\n", + " ax2.set_title('predicted mask')\n", + " plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "image = await fetch_image('https://static.imjoy.io/img/img02.png', transpose=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "image/png": "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+dCHPsT1119PLpdjcnKS5z73ua0cByEE5XKZT33qU61nqX7WXog2rtefDzzwAC972csYHh5mcnKSd77znUgpOXHiBC984QsZGhpiZmaG3//9329bv9Fo8K53vYubb76Z4eFhisUiT3va0/jyl7/csa+/+qu/4uabb2ZwcJChoSGuv/56PvShD63bvqWlJZ70pCexd+/eLXmYLJbzwQ6dWixdeOihh/i5n/s5XvOa1/DKV76SP//zP+dVr3oVN998M9dee23bsm9+85sZGRnhPe95D/fffz9/9Ed/xPHjx1uJiv3y9Kc/nbe85S18+MMf5v/7//4/rr76aoDW/5vh61//On/7t3/Lm970JgDuuOMOfuZnfobf+I3f4A//8A954xvfyNLSEu9///t59atfzZe+9KXWunfeeSeVSoVf+ZVfYXx8nH/5l3/hIx/5CCdPnuTOO+9sLfd3f/d3/MIv/ALXX389d9xxB0tLS7zmNa9hz549He15wxvewCc/+Ul+6Zd+ibe85S0cPXqUj370o3z3u9/lG9/4hh3htFguIV7ykpdw8OBB7rjjDr71rW/x4Q9/mKWlpY5BmC996Ut89rOf5c1vfjMTExMcPHiQ2dlZfuzHfqwlUCYnJ/n7v/97XvOa17C6usqv/dqvAVCtVnnWs57Fo48+ylve8hZ2797NX/zFX7Q9i9bjNa95DZ/85Cd53vOex2tf+1qCIODrX/863/rWt7jlllv4i7/4C1772tfypCc9ide//vUAHD58GGDH2qj5hV/4Ba6++mre97738Xd/93f8zu/8DmNjY3zsYx/jmc98Jr/3e7/HZz7zGd7+9rfzxCc+kac//ekArK6u8qd/+qe89KUv5XWvex1ra2v82Z/9Gc95znP4l3/5F2666SYA/vEf/5GXvvSlPOtZz+L3fu/3ALj33nv5xje+wVvf+taubZqfn+cnf/InWVxc5Ktf/WqrbyyWHUNaLI9jPvGJT0hAHj16tPXZgQMHJCC/9rWvtT47d+6czGaz8j/9p//Use7NN98sG41G6/P3v//9EpD/63/9r9ZngHz3u9/dsf8DBw7IV77yla2/77zzTgnIL3/5y321/93vfrdM38aAzGazbcf0sY99TAJyZmZGrq6utj5/xzve0XH8lUqlYz933HGHFELI48ePtz67/vrr5d69e+Xa2lrrs6985SsS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b2cMQBGEPYM2aNQwf3v+6ost9VBCEYtFf76PFQDwguxADBui0utWrV1NZWbmTR1McmpubGTFiBGvWrKGiomJnD2eHI/Pt/+zqc1ZK0dLSwtCh3Te1212R++iud81tb/a0+cKeN+ddfb79/T5aDESA7ELYtnYbVlZW7pJfuB1JRUXFHjVnmW//Z1eec382zOU+uufMeU+bL+x5c96V59uf76PFoHcdWgRBEARBEARBELYBESCCIAiCIAiCIBQNESC7EJFIhGuuuYZIJLKzh1I09rQ5y3z7P3vinHcl9sTzv6fNeU+bL+x5c97T5rsnIlWwBEEQBEEQBEEoGuIBEQRBEARBEAShaIgAEQRBEARBEAShaIgAEQRBEARBEAShaIgAEQRBEARBEAShaIgA2YX4/e9/z+jRo4lGo0ybNo25c+fu7CH1iX//+9986UtfYujQoViWxRNPPNHhdaUUP/3pTxkyZAglJSUce+yxrFixosM2iUSCSy+9lIEDB1JWVsapp57K+vXriziLnjNz5kwOOeQQysvLGTx4MCeddBLLly/vsE1/mvPtt9/Ofvvtl20QNX36dJ577rns6/1proW4/vrrsSyLK664Ivtcf5/z7oTcR3PsTtec3EflPtrf5yzkoYRdgoceekiFw2F19913qyVLlqgLLrhAVVVVqfXr1+/sofWaZ599Vl199dXqscceU4B6/PHHO7x+/fXXq8rKSvXEE0+ot956S51wwglqzJgxqr29PbvNxRdfrEaMGKFefvllNX/+fHXYYYepww8/vMgz6RnHHXecuueee9TixYvVokWL1Be+8AU1cuRI1dramt2mP835qaeeUv/85z/Ve++9p5YvX65+9KMfqVAopBYvXqyU6l9zzWfu3Llq9OjRar/99lOXX3559vn+POfdCbmP7r7XnNxH5T7an+csdEYEyC7CoYceqi699NLs347jqKFDh6qZM2fuxFFtO/n/OF3XVXV1derGG2/MPtfY2KgikYh68MEHs3+HQiH18MMPZ7dZtmyZAtTs2bOLNva+smHDBgWoWbNmKaX2jDlXV1eru+66q1/PtaWlRU2YMEG9+OKL6sgjj8z+4+zPc97dkPto/7nm5D7aP+cq91HBICFYuwCpVIoFCxZw7LHHZp+zbZtjjz2W2bNn78SRbX9WrlxJfX19h7lWVlYybdq07FwXLFh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", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "triton = await api.get_service(\"triton-client\")\n", + "results = await triton.execute(inputs=[image, {'diameter': 30}], model_name='cellpose-python', decode_json=True)\n", + "\n", + "mask = results['mask'][0]\n", + "display_image(image.transpose(1, 2, 0).astype('uint8'), mask)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Use server-apps service" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'config': {'visibility': 'public',\n", + " 'require_context': True,\n", + " 'workspace': 'public',\n", + " 'flags': []},\n", + " 'id': 'server-apps',\n", + " 'name': 'Server Apps',\n", + " 'type': 'server-apps',\n", + " 'launch': .remote_method(*arguments, **kwargs)>,\n", + " 'list_apps': .remote_method(*arguments, **kwargs)>,\n", + " 'list_running': .remote_method(*arguments, **kwargs)>,\n", + " 'install': .remote_method(*arguments, **kwargs)>,\n", + " 'get_log': .remote_method(*arguments, **kwargs)>,\n", + " 'start': .remote_method(*arguments, **kwargs)>,\n", + " 'stop': .remote_method(*arguments, **kwargs)>,\n", + " 'uninstall': .remote_method(*arguments, **kwargs)>}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "controller = await api.get_service(\"server-apps\")\n", + "controller" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Launch a window plugin" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "TEST_APP_CODE = \"\"\"\n", + "api.log('awesome!connected!');\n", + "\n", + "api.export({\n", + " async setup(){\n", + " console.log(\"this is a log\");\n", + " console.error(\"this is an error\");\n", + " await api.log(\"initialized\")\n", + " },\n", + " async check_webgpu(){\n", + " if (\"gpu\" in navigator) {\n", + " // WebGPU is supported!\n", + " return true\n", + " }\n", + " else return false\n", + " },\n", + " async execute(a, b){\n", + " console.log(\"executing\", a, b);\n", + " return a + b\n", + " }\n", + "})\n", + "\"\"\"\n", + "controller = await api.get_service(\"server-apps\")\n", + "config = await controller.launch(\n", + " source=TEST_APP_CODE,\n", + " config={\"type\": \"window\"},\n", + ") # by default it will run for 600 seconds, then stop, use time_limit to specify the time limit\n", + "assert \"app_id\" in config\n", + "plugin = await api.get_app(config.id)\n", + "assert \"execute\" in plugin\n", + "result = await plugin.execute(2, 4)\n", + "assert result == 6\n", + "webgpu_available = await plugin.check_webgpu()\n", + "assert webgpu_available is True\n", + "# only pass name so the app won't be removed\n", + "await controller.stop(config.id)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Launch a web-python plugin" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "TEST_APP_CODE = \"\"\"\n", + "from hypha_rpc import api\n", + "\n", + "async def setup():\n", + " await api.log(\"started\")\n", + "\n", + "api.export({\"setup\": setup})\n", + "\"\"\"\n", + "controller = await api.get_service(\"server-apps\")\n", + "config = await controller.launch(\n", + " source=TEST_APP_CODE,\n", + " config={\"type\": \"web-python\"},\n", + " time_limit=10,\n", + ")\n", + "plugin = await api.get_app(config.id)\n", + "assert \"setup\" in plugin" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "await plugin.setup()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[{'config': {'visibility': 'protected',\n", + " 'require_context': False,\n", + " 'workspace': 'DEcRy4JJvFmQ3sHcNDE3h8',\n", + " 'flags': []},\n", + " 'id': 'DEcRy4JJvFmQ3sHcNDE3h8/WcSKBPCquX5f8bmQdM2vey:default',\n", + " 'name': 'Untitled Plugin',\n", + " 'type': 'generic'},\n", + " {'config': {'visibility': 'protected',\n", + " 'require_context': False,\n", + " 'workspace': 'DEcRy4JJvFmQ3sHcNDE3h8',\n", + " 'flags': []},\n", + " 'id': 'DEcRy4JJvFmQ3sHcNDE3h8/ERAWbr7kMU7Dw6ETF3MVio:default',\n", + " 'name': 'Untitled Plugin',\n", + " 'type': 'generic'}]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plugins = await api.list_apps()\n", + "plugins" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'error': [],\n", + " 'log': ['Loading distutils',\n", + " 'Loading distutils from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/distutils.js',\n", + " 'Loaded distutils',\n", + " 'Loading micropip, pyparsing, packaging, distutils',\n", + " 'Loading micropip from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/micropip.js',\n", + " 'Loading pyparsing from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pyparsing.js',\n", + " 'Loading packaging from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/packaging.js',\n", + " 'distutils already loaded from default channel',\n", + " 'Loaded micropip, pyparsing, packaging, distutils',\n", + " 'Loading msgpack',\n", + " 'Loading msgpack from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/msgpack.js',\n", + " 'Loaded msgpack']}" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "await controller.get_log(config.id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [], + "source": [ + "await controller.stop(config.id)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Launch a web-python plugin and serve a web app" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Server app running at https://ai.imjoy.io/DEcRy4JJvFmQ3sHcNDE3h8/apps/cellpose/predict\n" + ] + } + ], + "source": [ + "controller = await api.get_service(\"server-apps\")\n", + "app = await controller.launch(\n", + " source=\"https://gist.githubusercontent.com/oeway/4667231efb08c39b9f41b827b91229de/raw/ASGIWebPythonPlugin.imjoy.html\",\n", + " timeout=20,\n", + " time_limit=1000,\n", + ")\n", + "server_info = await api.get_connection_info()\n", + "\n", + "print(f\"Server app running at {server_info.public_base_url}/{workspace}/apps/cellpose/predict\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'local_url': 'http://127.0.0.1:9520/apps/DEcRy4JJvFmQ3sHcNDE3h8/QmXUiEnpwTxfpnQFyajf7AQE839CznLdNLcL54H7ZEh9MF/index.html?client_id=cyGAid6K7h5kaCRZyhA3gY&workspace=DEcRy4JJvFmQ3sHcNDE3h8&server_url=ws://127.0.0.1:9520/ws&token=KX8P9cAsUtetsjNXCqkLNq@imjoy@eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2ltam95LmlvLyIsInN1YiI6IktYOFA5Y0FzVXRldHNqTlhDcWtMTnEiLCJhdWQiOiJodHRwczovL2ltam95LmV1LmF1dGgwLmNvbS9hcGkvdjIvIiwiaWF0IjoxNjUxNDcyMjc3LjcxMjk1NzksImV4cCI6MTY1MTQ4MzA3Ny43MTI5NTc5LCJzY29wZSI6IkRFY1J5NEpKdkZtUTNzSGNOREUzaDgiLCJwYXJlbnQiOiJyb290IiwicGMiOiJERWNSeTRKSnZGbVEzc0hjTkRFM2g4L2NRc0JGQkduSHY3TWpWaEhjWmJ4VkYiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJodHRwczovL2FwaS5pbWpveS5pby9yb2xlcyI6W10sImh0dHBzOi8vYXBpLmltam95LmlvL2VtYWlsIjpudWxsfQ.haYr2EWJpLoOY5KvUOIwIlFCpZ3Xs67DtR8gYt_B-aM',\n", + " 'id': 'cyGAid6K7h5kaCRZyhA3gY',\n", + " 'workspace': 'DEcRy4JJvFmQ3sHcNDE3h8',\n", + " 'app_id': 'DEcRy4JJvFmQ3sHcNDE3h8/QmXUiEnpwTxfpnQFyajf7AQE839CznLdNLcL54H7ZEh9MF',\n", + " 'public_url': 'https://ai.imjoy.io/apps/DEcRy4JJvFmQ3sHcNDE3h8/QmXUiEnpwTxfpnQFyajf7AQE839CznLdNLcL54H7ZEh9MF/index.html?client_id=cyGAid6K7h5kaCRZyhA3gY&workspace=DEcRy4JJvFmQ3sHcNDE3h8&server_url=wss://ai.imjoy.io/ws&token=KX8P9cAsUtetsjNXCqkLNq@imjoy@eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2ltam95LmlvLyIsInN1YiI6IktYOFA5Y0FzVXRldHNqTlhDcWtMTnEiLCJhdWQiOiJodHRwczovL2ltam95LmV1LmF1dGgwLmNvbS9hcGkvdjIvIiwiaWF0IjoxNjUxNDcyMjc3LjcxMjk1NzksImV4cCI6MTY1MTQ4MzA3Ny43MTI5NTc5LCJzY29wZSI6IkRFY1J5NEpKdkZtUTNzSGNOREUzaDgiLCJwYXJlbnQiOiJyb290IiwicGMiOiJERWNSeTRKSnZGbVEzc0hjTkRFM2g4L2NRc0JGQkduSHY3TWpWaEhjWmJ4VkYiLCJndHkiOiJjbGllbnQtY3JlZGVudGlhbHMiLCJodHRwczovL2FwaS5pbWpveS5pby9yb2xlcyI6W10sImh0dHBzOi8vYXBpLmltam95LmlvL2VtYWlsIjpudWxsfQ.haYr2EWJpLoOY5KvUOIwIlFCpZ3Xs67DtR8gYt_B-aM',\n", + " 'name': 'ASGIWebPythonPlugin'}" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "app" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "{'error': [],\n", + " 'log': ['Loading distutils',\n", + " 'Loading distutils from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/distutils.js',\n", + " 'Loaded distutils',\n", + " 'Loading micropip, pyparsing, packaging, distutils',\n", + " 'Loading micropip from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/micropip.js',\n", + " 'Loading pyparsing from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pyparsing.js',\n", + " 'Loading packaging from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/packaging.js',\n", + " 'distutils already loaded from default channel',\n", + " 'Loaded micropip, pyparsing, packaging, distutils',\n", + " 'Loading numpy, imageio, pillow, matplotlib, distutils, cycler, six, kiwisolver, pyparsing, python-dateutil, pytz, msgpack, typing-extensions',\n", + " 'Loading numpy from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/numpy.js',\n", + " 'Loading imageio from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/imageio.js',\n", + " 'Loading pillow from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pillow.js',\n", + " 'Loading matplotlib from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/matplotlib.js',\n", + " 'distutils already loaded from default channel',\n", + " 'Loading cycler from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/cycler.js',\n", + " 'Loading six from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/six.js',\n", + " 'Loading kiwisolver from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/kiwisolver.js',\n", + " 'pyparsing already loaded from default channel',\n", + " 'Loading python-dateutil from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/python-dateutil.js',\n", + " 'Loading pytz from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/pytz.js',\n", + " 'Loading msgpack from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/msgpack.js',\n", + " 'Loading typing-extensions from https://cdn.jsdelivr.net/pyodide/v0.18.1/full/typing-extensions.js',\n", + " 'Loaded numpy, imageio, pillow, matplotlib, distutils, cycler, six, kiwisolver, pyparsing, python-dateutil, pytz, msgpack, typing-extensions']}" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "await controller.get_log(app.id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "trusted": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "stopping WcSKBPCquX5f8bmQdM2vey\n", + "stopping cyGAid6K7h5kaCRZyhA3gY\n" + ] + } + ], + "source": [ + "apps = await controller.list_running()\n", + "for app in apps:\n", + " print(\"stopping \" + app.id)\n", + " await controller.stop(app.id)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Pyolite", + "language": "python", + "name": "python" }, - "nbformat": 4, - "nbformat_minor": 4 + "language_info": { + "codemirror_mode": { + "name": "python", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8" + } + }, + "nbformat": 4, + "nbformat_minor": 4 } diff --git a/docs/migration-guide.md b/docs/migration-guide.md index 5be913e4..27cfb483 100644 --- a/docs/migration-guide.md +++ b/docs/migration-guide.md @@ -15,7 +15,7 @@ To connect to the server, instead of installing the `imjoy-rpc` module, you will pip install -U hypha-rpc # new install ``` -We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.40` is compatible with Hypha server version `0.20.40`. +We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.41` is compatible with Hypha server version `0.20.41`. #### 2. Change the imports to use `hypha-rpc` @@ -128,10 +128,10 @@ loop.run_forever() To connect to the server, instead of using the `imjoy-rpc` module, you will need to use the `hypha-rpc` module. The `hypha-rpc` module is a standalone module that provides the RPC connection to the Hypha server. You can include it in your HTML using a script tag: ```html - + ``` -We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.40` is compatible with Hypha server version `0.20.40`. +We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.41` is compatible with Hypha server version `0.20.41`. #### 2. Change the connection method and use camelCase for service function names @@ -149,7 +149,7 @@ Here is a suggested list of search and replace operations to update your code: Here is an example of how the updated code might look: ```html - + + + + ``` Use the following code in JavaScript to connect to the server and access an existing service: diff --git a/docs/migration-guide.md b/docs/migration-guide.md index 27cfb483..ee3d772b 100644 --- a/docs/migration-guide.md +++ b/docs/migration-guide.md @@ -15,7 +15,7 @@ To connect to the server, instead of installing the `imjoy-rpc` module, you will pip install -U hypha-rpc # new install ``` -We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.41` is compatible with Hypha server version `0.20.41`. +We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.42` is compatible with Hypha server version `0.20.42`. #### 2. Change the imports to use `hypha-rpc` @@ -128,10 +128,10 @@ loop.run_forever() To connect to the server, instead of using the `imjoy-rpc` module, you will need to use the `hypha-rpc` module. The `hypha-rpc` module is a standalone module that provides the RPC connection to the Hypha server. You can include it in your HTML using a script tag: ```html - + ``` -We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.41` is compatible with Hypha server version `0.20.41`. +We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.42` is compatible with Hypha server version `0.20.42`. #### 2. Change the connection method and use camelCase for service function names @@ -149,7 +149,7 @@ Here is a suggested list of search and replace operations to update your code: Here is an example of how the updated code might look: ```html - + + + + ``` Use the following code in JavaScript to connect to the server and access an existing service: diff --git a/docs/migration-guide.md b/docs/migration-guide.md index 27cfb483..ee3d772b 100644 --- a/docs/migration-guide.md +++ b/docs/migration-guide.md @@ -15,7 +15,7 @@ To connect to the server, instead of installing the `imjoy-rpc` module, you will pip install -U hypha-rpc # new install ``` -We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.41` is compatible with Hypha server version `0.20.41`. +We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.42` is compatible with Hypha server version `0.20.42`. #### 2. Change the imports to use `hypha-rpc` @@ -128,10 +128,10 @@ loop.run_forever() To connect to the server, instead of using the `imjoy-rpc` module, you will need to use the `hypha-rpc` module. The `hypha-rpc` module is a standalone module that provides the RPC connection to the Hypha server. You can include it in your HTML using a script tag: ```html - + ``` -We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.41` is compatible with Hypha server version `0.20.41`. +We also changed our versioning strategy, we use the same version number for the server and client, so it's easier to match the client and server versions. For example, `hypha-rpc` version `0.20.42` is compatible with Hypha server version `0.20.42`. #### 2. Change the connection method and use camelCase for service function names @@ -149,7 +149,7 @@ Here is a suggested list of search and replace operations to update your code: Here is an example of how the updated code might look: ```html - + + +