lucianotonet / groq-laravel
Laravel 包,用于访问 Groq REST API
0.0.9
2024-09-06 21:22 UTC
Requires
- php: ^8.1
- illuminate/contracts: *
- illuminate/support: *
- lucianotonet/groq-php: ^0.0.9
Requires (Dev)
- orchestra/testbench: ^6.0|^7.0|^8.0
- phpunit/phpunit: ^9.0
README
Groq Laravel 是一个强大的包,用于将您的 Laravel 应用程序与 Groq API 集成,允许您利用一些最流行的 LLM,如 Llama3.1 或 Mixtral,实现超快的 AI 推理速度。
需要“纯”PHP版本?试试这个:GroqPHP
特性
- 简单直观的接口:使用
Groq
门面与 Groq API 交互,简化对聊天、翻译、音频转录、函数调用和图像分析功能的访问。 - 强大的错误处理:高效管理通信错误和 Groq API 的响应,捕获特定异常并提供有用的消息。
- 灵活的配置:定义多个 Groq API 实例,自定义请求超时,配置缓存选项,并调整包的行为以满足您的需求。
- 详细的实际示例:探索代码示例,演示如何在现实场景中使用 Groq Laravel 包,包括聊天机器人、音频转录等。
- 全面的测试:确保包的质量和可靠性,通过集成测试、单元测试和配置测试套件。
安装
-
通过 Composer 安装包
composer require lucianotonet/groq-laravel
-
发布配置文件
php artisan vendor:publish --provider="LucianoTonet\GroqLaravel\GroqServiceProvider"
-
在
.env
文件中配置您的 Groq API 凭据GROQ_API_KEY=your_api_key_here GROQ_API_BASE=https://api.groq.com/openai/v1
-
(可选) 在
.env
文件中设置以下环境变量以配置缓存GROQ_CACHE_DRIVER=file GROQ_CACHE_TTL=3600
-
将
Groq
门面导入到您的类中use LucianoTonet\GroqLaravel\Facades\Groq;
使用方法
以下是一个创建聊天完成的简单示例
$response = Groq::chat()->completions()->create([ 'model' => 'llama-3.1-8b-instant', 'messages' => [ ['role' => 'user', 'content' => 'Hello, how are you?'], ], ]);
错误处理
Groq Laravel 包使处理与 Groq API 交互时可能发生的错误变得简单。使用 try-catch
块捕获和管理异常。
try { $response = Groq::chat()->completions()->create([ 'model' => 'llama-3.1-8b-instant', // ... ]); } catch (GroqException $e) { Log::error('Error in Groq API: ' . $e->getMessage()); abort(500, 'Error processing your request.'); }
视觉 API
Groq Laravel 包还提供了对 Groq 视觉 API 的访问,允许您分析和从图像中提取信息。
使用图像 URL 的使用示例
use LucianoTonet\GroqLaravel\Facades\Groq; // ... $imageUrl = 'https://example.com/image.jpg'; // Replace with your image URL $prompt = 'Describe the image'; $response = Groq::vision()->analyze($imageUrl, $prompt); $imageDescription = $response['choices'][0]['message']['content']; // ... do something with the image description
使用本地图像文件的使用示例
use LucianoTonet\GroqLaravel\Facades\Groq; // ... $imagePath = '/path/to/your/image.jpg'; // Replace with the actual path $prompt = 'What do you see in this image?'; $response = Groq::vision()->analyze($imagePath, $prompt); $imageAnalysis = $response['choices'][0]['message']['content']; // ... do something with the image analysis
请注意
- 视觉 API 需要与图像分析兼容的模型,例如
llava-v1.5-7b-4096-preview
。您可以在配置文件config/groq.php
中配置视觉的默认模型。 - 视觉 API 是一个实验性功能,可能无法满足预期,也没有长期支持。
测试
测试是高质量软件开发的重要组成部分。Groq Laravel 包包含一个涵盖集成、单元和配置的测试套件。要运行测试,请按照以下步骤操作
-
安装项目依赖项
composer install
-
运行测试
vendor/bin/phpunit ./tests/Feature
或单独运行
vendor/bin/phpunit ./tests/Feature/FacadeTest.php
贡献
欢迎贡献!遵循 CONTRIBUTING.md 文件中描述的指南。
许可证
本软件包是开源软件,根据 MIT 许可证 许可。