PhpDev.App
huanghe/ai

huanghe/ai

Stars: 163

Forks: 52

Pull Requests: 16

Issues: 3

Watchers: 7

Last Updated: 2022-10-12 15:54:39

像查询数据库一样优雅调用人工智能API

License:

Languages: PHP

Recent Releases

  • v1.30支持腾讯云人脸识别(2018-12-7)
  • v1.20支持百度图片搜索(2018-8-13)
  • v1.10支持百度人体分析(2018-8-7)

Recent Test

  • 所有API在2018-01-11通过测试

Develop documents

开发文档

Feature

  • 统一AI平台SDK调用方法;
  • 像查询数据库一样优雅调用API;
  • 所传参数和原平台开发文档保持一致,节约开发者学习成本

Support platform(支持的平台)

1.百度AI开放平台

2.腾讯优图AI开放平台

3.FACE++AI开放平台

4.腾讯云人脸识别

SimpleTest

  1. 下载zip包 或者clone本项目

  2. 进入本项目根目录,执行composer install,(包管理工具composer

  3. 在项目目录tests->config下面添加配置文件ai.php(需要自己到各平台注册获取试用账号),内容如:

    return [
        'debug' => true,
        'log' => [
            'level' => 'debug',
            'file' => './tests/logs/ai.log',//日志相对路径
            'template' => "<<<<<<<<\n{response}\n--------\n{error}",//日志模版
        ],
        'baidu' => [
            'app_id' => '***',
            'app_key' => '***',
            'secret_key' => '***',
        ],
        'youtu' => [
             'app_id' => '***',
             'secret_id' => '***',
             'secret_key' => '***',
             'user_id' => '*'
        ],
        'face_plus' => [
             'api_key' => '***',
             'api_secret' => '***',
        ],
        'qcloud' => [//腾讯云
    	'app_id' => '***',
    	'secret_id' => '***',
    	'secret_key' => '***',
        ]
    ];
  4. 在命令行下进入根目录,执行命令,比如测试腾讯优图人脸识别: vendor/phpunit/phpunit/phpunit --testdox tests/Youtu/Face/FaceTest.php

Installation

composer require hahaxixi/ai

Usage

1.一般使用

$config = [
    'log' => [...],//如,laravel:'file' => storage_path('logs/ai.log'),
    'baidu' => [...],
    'youtu' => [...],
    'face_plus' => [...],
];

//百度
$result = Entry::Baidu($config)->face->select('detect')->where(['image' => file_get_contents(__DIR__ . '/file/face_detect.jpeg'), 'id_card_side' => 'front'])->get();
//腾讯优图
$result = Entry::Youtu($config)->face->select('detectface')->where(['url' => 'http://open.youtu.qq.com/app/img/experience/face_img/face_06.jpg', 'mode' => 1])->get();
//face++
$result = Entry::FacePlus($config)->face->select('detect')->where(['image_file' =>__DIR__ . '/../../file/face_01.jpg' , 'return_attributes' => 'skinstatus'])->get();
//腾讯云
$result = Entry::Qcloud($config)->face->select('identify')->where(['image' => __DIR__ . '/../../file/face_01.jpg', 'appid' => $config['qcloud']['app_id'], 'group_ids' => ["tencent"]])->get();

2.Laravel使用

  • 项目目录config下面添加配置文件ai.php,配置内容和上文SimpleTest一致
  • 一行代码调用人脸检测示例
$result = Entry::Baidu(config('ai'))->face->select('detect')->where(['image' => file_get_contents(__DIR__ . '/file/face_detect.jpeg'), 'id_card_side' => 'front'])->get();

3.Yii2使用

  • 在配置文件params-local.php添加
    'ai'=>[
        'log' => [...],
        'face_plus' => [...],
        'baidu' => [...],
        'youtu' => [...],
    ],
  • 一行代码调用人脸检测示例
$result = Entry::Baidu(Yii::$app->params['ai'])->face->select('detect')->where(['image' => file_get_contents(__DIR__ . '/file/face_detect.jpeg'), 'id_card_side' => 'front'])->get();

License

Apache License Version 2.0 see Apache License