php-gemini/generative-ai
Composer 安装命令:
composer require php-gemini/generative-ai
包简介
Laravel-friendly PHP Package for Google Gemini Generative AI (including image & text)
README 文档
README
A Laravel-friendly, lightweight PHP SDK to interact with Google Gemini Generative AI. Supports text generation, image input (vision), and is fully customizable for any PHP project.
✨ Features
- ✅ Gemini text generation (prompt → response)
- 🖼️ Image input support (base64 vision models)
- 🔐 Full OAuth2 authentication (refresh token supported)
- 🔧 Easy configuration via
.envor constructor - 🧪 PHPUnit + Testbench testing support
- 🎯 Laravel-ready (service provider + facade)
- 📦 Composer installable
- 📘 Full documentation included
🧪 Installation
Install via Composer:
composer require php-gemini/generative-ai
⚙️ Configuration
For Laravel users, publish the configuration file:
php artisan vendor:publish --provider="PhpGemini\GenerativeAI\Providers\GeminiServiceProvider"
Then update your .env file with your API Key:
GEMINI_API_KEY=your_actual_api_key GEMINI_MODEL=gemini-1.5-flash
🔐 Using OAuth2? See the section below on generating and using refresh tokens instead.
🔐 OAuth2 Support
This SDK supports Google OAuth2 access via a refresh_token, client_id, and client_secret.
🔧 Generate Refresh Token
To generate your credentials securely, use our standalone command-line script: Zero-Asif/oauth2_refresh_token_generator
Follow the instructions in its README file. After running the script, add the output to your .env file:
GEMINI_OAUTH_CLIENT_ID=your_client_id GEMINI_OAUTH_CLIENT_SECRET=your_client_secret GEMINI_OAUTH_REFRESH_TOKEN=your_refresh_token
✅ The SDK will automatically use OAuth2 if an API key is not provided.
🚀 Usage
✅ In Laravel
use Gemini; echo Gemini::generate("What's the future of AI?");
✅ In Plain PHP
Initialize with an API Key:
use PhpGemini\GenerativeAI\GeminiClient; require 'vendor/autoload.php'; $gemini = new GeminiClient([ 'api_key' => 'your_api_key', 'model' => 'gemini-1.5-flash', ]); echo $gemini->generateContent("Tell me something interesting.");
Or initialize with OAuth2:
use PhpGemini\GenerativeAI\GeminiClient; use PhpGemini\GenerativeAI\Services\OAuth2Service; require 'vendor/autoload.php'; $oauth = new OAuth2Service([ 'client_id' => 'your_client_id', 'client_secret' => 'your_client_secret', 'refresh_token' => 'your_refresh_token', ]); $gemini = new GeminiClient([ 'model' => 'gemini-1.5-flash', 'oauth2' => $oauth ]); echo $gemini->generateContent("Tell me something interesting.");
🖼️ Image Input (Vision Model)
$response = $gemini->generateContentWithImage('path/to/image.jpg', 'What’s in this image?');
⚠️ Note: Only supported for models that accept image input, like
gemini-1.5-flash.
🧪 Testing (PHPUnit)
To run the test suite:
composer test
To use Testbench for testing within a Laravel application, first install it:
composer require --dev orchestra/testbench
🛠️ Roadmap
- Text generation
- Laravel integration
- Image input (vision support)
- OAuth2 integration (refresh token support)
- Unit testing & mocking (PHPUnit + Testbench)
- Streaming response support
- Online documentation site (mkdocs)
📘 Documentation
Full documentation is available inside: docs/index.md
🤝 Contributing
Pull requests, issues, and feature suggestions are welcome!
git clone [https://github.com/php-gemini/generative-ai.git](https://github.com/php-gemini/generative-ai.git)
cd generative-ai
composer install
📄 License
This project is open-sourced under the MIT License.
🔗 Useful Links
- Packagist: php-gemini/generative-ai
- Gemini API Docs: https://ai.google.dev
- OAuth2 Refresh Token Tool: Zero-Asif/oauth2_refresh_token_generator
- Google Cloud Console (OAuth Credentials): https://console.cloud.google.com/apis/credentials
- Project Homepage: https://github.com/php-gemini/generative-ai
🙋 Author
Zero-Asif (Asifuzzaman Asif)
- 📧 Email: asifuzzamanasif0001@gmail.com
- 🔗 GitHub: github.com/Zero-Asif
✨ If this project helped you, please ⭐ the repo!
php-gemini/generative-ai 适用场景与选型建议
php-gemini/generative-ai 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 406 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 06 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「google」 「sdk」 「laravel」 「ai」 「vision」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 php-gemini/generative-ai 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 php-gemini/generative-ai 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 php-gemini/generative-ai 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Magento 2 Social Login extension is designed for quick login to your Magento 2 store without procesing complex register steps
Client for Google Directions API to add interpolated points to a route consisting of given coordinates.
Alfabank REST API integration
Google Recaptcha Package For PHP front and backend.
Zero-dependency raw PHP DNS resolver, domain-ownership verification, and intoDNS/MxToolbox-style diagnostics. Queries authoritative nameservers directly over sockets — never trusts the recursive cache for ownership checks.
A lightweight plain-PHP framework for database-backed CRUD APIs.
统计信息
- 总下载量: 406
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 24
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-06-29