lucianotonet/groq-laravel

Laravel 包,用于访问 Groq REST API

0.0.9 2024-09-06 21:22 UTC

This package is auto-updated.

Last update: 2024-09-07 21:11:18 UTC


README

Groq Laravel

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Groq Laravel 是一个强大的包,用于将您的 Laravel 应用程序与 Groq API 集成,允许您利用一些最流行的 LLM,如 Llama3.1 或 Mixtral,实现超快的 AI 推理速度。

需要“纯”PHP版本?试试这个:GroqPHP

特性

  • 简单直观的接口:使用 Groq 门面与 Groq API 交互,简化对聊天、翻译、音频转录、函数调用和图像分析功能的访问。
  • 强大的错误处理:高效管理通信错误和 Groq API 的响应,捕获特定异常并提供有用的消息。
  • 灵活的配置:定义多个 Groq API 实例,自定义请求超时,配置缓存选项,并调整包的行为以满足您的需求。
  • 详细的实际示例:探索代码示例,演示如何在现实场景中使用 Groq Laravel 包,包括聊天机器人、音频转录等。
  • 全面的测试:确保包的质量和可靠性,通过集成测试、单元测试和配置测试套件。

安装

  1. 通过 Composer 安装包

    composer require lucianotonet/groq-laravel
  2. 发布配置文件

    php artisan vendor:publish --provider="LucianoTonet\GroqLaravel\GroqServiceProvider"
  3. .env 文件中配置您的 Groq API 凭据

    GROQ_API_KEY=your_api_key_here
    GROQ_API_BASE=https://api.groq.com/openai/v1
    
  4. (可选) 在 .env 文件中设置以下环境变量以配置缓存

    GROQ_CACHE_DRIVER=file
    GROQ_CACHE_TTL=3600
    
  5. 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 包包含一个涵盖集成、单元和配置的测试套件。要运行测试,请按照以下步骤操作

  1. 安装项目依赖项

    composer install
  2. 运行测试

    vendor/bin/phpunit ./tests/Feature

    或单独运行

    vendor/bin/phpunit ./tests/Feature/FacadeTest.php

贡献

欢迎贡献!遵循 CONTRIBUTING.md 文件中描述的指南。

许可证

本软件包是开源软件,根据 MIT 许可证 许可。