Skip to main content

A library for managing LLM models

Project description

Description

ModelhubClient: A Python client for the Modelhub API

Installation

pip install puyuan_modelhub --user

Usage

OpenAI Client

from openai import OpenAI

client = OpenAI(api_key="xxx", base_url="xxxx")

client.chat.xxxxx

ModelhubClient

Initialize a client

from modelhub import ModelhubClient

client = ModelhubClient(
    host="https://xxxx.com/api/",
    user_name="xxxx",
    user_password="xxxx",
    model="xxx", # Optional
)

get supported models

client.supported_models

Get model supported params

client.get_supported_params("Minimax")

perform a chat query

response = client.chat(
    query,
    model="xxx", # Optional(use model in client construction)
    history=history,
    parameters=dict(
        key1=value1,
        key2=value2
    )
)

Get model embeddings

client.get_embeddings(["你好", "Hello"], model="m3e")

Response structure

generated_text: response_text from model
history: generated history
details: generation details. Include tokens used, request duration, ...

History can be only used with ChatGLM3 now.

BaseMessage is the unit of history.

# import some pre-defined message types
from modelhub.common.types import SystemMessage, AIMessage, UserMessage
# construct history of your own
history = [
    SystemMessage(content="xxx", other_value="xxxx"),
    UserMessage(content="xxx", other="xxxx"),
]

VLMClient

Initailize a vlm client

from modelhub import VLMClient
client = VLMClient(...)
client.chat(prompt=..., image_path=..., parameters=...)

Chat with model

VLM Client chat add image_path param to Modelhub Client and other params are same.

client.chat("Hello?", image_path="xxx", model="m3e")

Examples

Use ChatCLM3 for tools calling

from modelhub import ModelhubClient, VLMClient
from modelhub.common.types import SystemMessage

client = ModelhubClient(
    host="https://xxxxx/api/",
    user_name="xxxxx",
    user_password="xxxxx",
)
tools = [
    {
        "name": "track",
        "description": "追踪指定股票的实时价格",
        "parameters": {
            "type": "object",
            "properties": {"symbol": {"description": "需要追踪的股票代码"}},
            "required": ["symbol"],
        },
    },
    {
        "name": "text-to-speech",
        "description": "将文本转换为语音",
        "parameters": {
            "type": "object",
            "properties": {
                "text": {"description": "需要转换成语音的文本"},
                "voice": {"description": "要使用的语音类型(男声、女声等)"},
                "speed": {"description": "语音的速度(快、中等、慢等)"},
            },
            "required": ["text"],
        },
    },
]

# construct system history
history = [
    SystemMessage(
        content="Answer the following questions as best as you can. You have access to the following tools:",
        tools=tools,
    )
]
query = "帮我查询股票10111的价格"

# call ChatGLM3
response = client.chat(query, model="ChatGLM3", history=history)
history = response["history"]
print(response["generated_text"])
Output:
{"name": "track", "parameters": {"symbol": "10111"}}
# generate a fake result for track function call

result = {"price": 1232}

res = client.chat(
    json.dumps(result),
    parameters=dict(role="observation"), # Tell ChatGLM3 this is a function call result
    model="ChatGLM3",
    history=history,
)
print(res["generated_text"])
Output:
根据API调用结果,我得知当前股票的价格为1232。请问您需要我为您做什么?

Contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

puyuan_modelhub-1.0.13.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

puyuan_modelhub-1.0.13-py2.py3-none-any.whl (26.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file puyuan_modelhub-1.0.13.tar.gz.

File metadata

  • Download URL: puyuan_modelhub-1.0.13.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for puyuan_modelhub-1.0.13.tar.gz
Algorithm Hash digest
SHA256 e8b20d0683989ae9e177ff25e474bd45abcbb1f7ab304b9bd6e73473268a6881
MD5 a89d8337a10b178909f208e2c093b7c4
BLAKE2b-256 2bc2927059d6d744e78c2eb5dfc7d82b008eacdc4003e099d4dd684ad6280991

See more details on using hashes here.

File details

Details for the file puyuan_modelhub-1.0.13-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for puyuan_modelhub-1.0.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 58e4b92f40b481e666e888824ed857162441f9e002ece8813300ec23a537280e
MD5 caaadc7b11952b537d18d6c0453a31b1
BLAKE2b-256 a3834d461c4397794af40637279c6efac8911577d745abaa8eccbb417db6ee3e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page