Metadata-Version: 2.4
Name: model-manage-client
Version: 0.0.1.8
Summary: A package for interacting with the Model management Service-API
Home-page: https://github.com/model-management
Author: Model-Manager
Author-email: hello@advantech.ai
License: MIT
Keywords: model management nlp ai language-processing
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# model-manage-client

A model-manage App Service-API Client, using for build a webapp by request Service-API

## Usage

First, install `model-manage-client` python sdk package:

```
pip install model-manage-client
```

Write your code with sdk:

- completion generate with `blocking` response_mode

```python
from model-manage-client import ModelManageClient

base_url = "model-manage service api url"
client_token = "your_client_token"

# Initialize CompletionClient
m_client = ModelManageClient(base_url, client_token)

# if bast_url and client_token not set, will get from env variable, like:
# base_url = os.getenv("MODEL_MANAGE_URL")
# client_token = os.getenv("CLIENT_TOKEN")

# Create Completion Message using CompletionClient
extra_params = {
    "agent_description": "agent_description",
        "agent_icon_url": "agent_icon_url",
        "agent_api_version": "/v1.0",
        "agent_features": {"show_anonymous": False},
        "agent_labels": ["label1", "label2"]
        "support_models": {
            "translate": ["llm", "text-embedding", "rerank"],
            "qa": ["llm", "text-embedding", "rerank"],
        },
        "multilangs": {"translate": {"zh_CN": "翻译", "en_US": "Translate"}},
}
 m_client.register_agent("agent_name", "agent_id", "agent_url", **extra_params)

 # Update agent
 params = {
        "agent_description": "agent_description",
        "agent_icon_url": "agent_icon_url",
        "agent_api_version": "/v1.0",
        "agent_features": {"show_anonymous": True},
        "agent_labels": ["label1", "label2"]
        "support_models": {
            "translate": ["llm", "rerank"],
            "qa": ["llm", "text-embedding"],
        },
        "multilangs": {
            "translate": {"zh_CN": "翻译", "en_US": "Translate"},
            "qa": {"zh_CN": "问答", "en_US": "QA"},
        },
    }
# if don't update agent_url, just set agent_url=None
m_client.update_agent("agent_name", agent_url="http://localhost:8008", **params)

# get agent models
models = m_client.get_agent_models("agent_name", "tenant_id")
if models:
    print(models)

# response
{
  "reason_model": {
    "llm": {
      "provider": "tongyi",
      "model": "qwen-plus",
      "credentials": {
        "dashscope_api_key": "xxxx"
      }
    }
  },
  "embedding_model": {
    "provider": "azure_openai",
      "model": "text-embedding-3-small",
      "credentials": {
        "dashscope_api_key": "xxxx"
      }
  },
  "rerank_model": {
    "provider": "tongyi",
      "model": "gte-rerank",
      "credentials": {
        "dashscope_api_key": "xxxx"
      }
  }
}
```
