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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6d34eb3f0115487382a441e01e86537903854eac5e603b7f53cfe3d844b5a61
|
|
| MD5 |
7eed283554d92a94de8b0104c4a9854b
|
|
| BLAKE2b-256 |
82f1d50b42a6d64ab037cf9f425b8f292a3b0de6ff1db85441a1923db14c9f8f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4b463256bfdc87aa65f444694b620c5b07da4d0c580bdbe1af898a6cd42bb16
|
|
| MD5 |
4aeb8d99715eea26244e3f4574adde18
|
|
| BLAKE2b-256 |
2a5cc5dd0027440c6ccc7d88ae7021b2063b5cf696d7152056f71be8ec57bbc4
|