Skip to main content

AI服务管理包 - 统一的AI模型调用接口

Project description

aimanager_hjy

AI服务管理包 - 统一的AI模型调用接口

简介

aimanager_hjy 是一个统一的AI服务管理包,提供标准化的AI模型调用接口。它是 ai_runner_hjy 的升级版本,采用更规范的命名和更完善的功能。

主要功能

  • 统一AI调用接口: 通过 run_route() 方法调用各种AI服务
  • 配置管理: 支持多种配置方式(环境变量、配置文件、数据库)
  • 文件上传: 集成OSS存储,支持文件上传和管理
  • 数据库连接: 内置MySQL连接管理
  • 错误处理: 完善的错误处理和重试机制
  • 日志记录: 集成loguru日志系统

安装

pip install aimanager_hjy

快速开始

基本使用

from aimanager_hjy import AIManager

# 初始化AI管理器
ai_manager = AIManager()

# 调用AI服务
result = ai_manager.run_route("dogvoice.analysis.s2", {
    "audio_url": "https://example.com/audio.mp3",
    "user_id": "user_123"
})

print(result)

配置管理

from aimanager_hjy import get_config

# 获取配置
config = get_config()
print(config.database.host)
print(config.oss.bucket)

文件上传

from aimanager_hjy import upload_file

# 上传文件到OSS
file_url = upload_file("audio.mp3", "audio/")
print(f"文件已上传到: {file_url}")

配置说明

环境变量配置

# 数据库配置
DB_HOST=localhost
DB_PORT=3306
DB_NAME=dogvoice
DB_USER=root
DB_PASSWORD=password

# OSS配置
OSS_ACCESS_KEY_ID=your_access_key
OSS_ACCESS_KEY_SECRET=your_secret_key
OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com
OSS_BUCKET=your_bucket

# AI服务配置
AI_SERVICE_URL=http://localhost:8000
AI_SERVICE_TIMEOUT=30

配置文件

创建 config.yaml 文件:

database:
  host: localhost
  port: 3306
  name: dogvoice
  user: root
  password: password

oss:
  access_key_id: your_access_key
  access_key_secret: your_secret_key
  endpoint: oss-cn-hangzhou.aliyuncs.com
  bucket: your_bucket

ai_service:
  url: http://localhost:8000
  timeout: 30
  retry_count: 3

API参考

AIManager类

__init__(config_path: str = None)

初始化AI管理器

run_route(route_name: str, params: dict = None) -> dict

调用AI服务路由

  • route_name: 路由名称,如 "dogvoice.analysis.s2"
  • params: 参数字典

run_once(route_name: str, params: dict = None) -> dict

执行一次性AI调用

run(route_name: str, params: dict = None) -> dict

执行AI调用(别名)

工具函数

get_config() -> AppConfig

获取应用配置

get_db_connection() -> Connection

获取数据库连接

upload_file(file_path: str, prefix: str = "") -> str

上传文件到OSS

validate_required_fields(data: dict, required_fields: list) -> bool

验证必需字段

迁移指南

从 ai_runner_hjy 迁移

# 旧代码
from ai_runner_hjy import AIRunner, run_route

runner = AIRunner()
result = run_route("dogvoice.analysis.s2", params)

# 新代码
from aimanager_hjy import AIManager, run_route

manager = AIManager()
result = run_route("dogvoice.analysis.s2", params)

开发

安装开发依赖

pip install -e .[dev]

运行测试

pytest

代码格式化

black aimanager_hjy/
isort aimanager_hjy/

许可证

MIT License

更新日志

v0.1.0

  • 初始版本
  • 基于 ai_runner_hjy 重构
  • 统一命名规范
  • 完善文档和示例

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

aimanager_hjy-0.3.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

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

aimanager_hjy-0.3.0-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file aimanager_hjy-0.3.0.tar.gz.

File metadata

  • Download URL: aimanager_hjy-0.3.0.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for aimanager_hjy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a6d34eb3f0115487382a441e01e86537903854eac5e603b7f53cfe3d844b5a61
MD5 7eed283554d92a94de8b0104c4a9854b
BLAKE2b-256 82f1d50b42a6d64ab037cf9f425b8f292a3b0de6ff1db85441a1923db14c9f8f

See more details on using hashes here.

File details

Details for the file aimanager_hjy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: aimanager_hjy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for aimanager_hjy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d4b463256bfdc87aa65f444694b620c5b07da4d0c580bdbe1af898a6cd42bb16
MD5 4aeb8d99715eea26244e3f4574adde18
BLAKE2b-256 2a5cc5dd0027440c6ccc7d88ae7021b2063b5cf696d7152056f71be8ec57bbc4

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