如何在 Laravel 中使用“gpt-4-vision-preview”使用 Chat GPT API 生成图像描述?

How to generate description for image using Chat GPT API using "gpt-4-vision-preview" in Laravel?

提问人:Shubham Sharma 提问时间:11/16/2023 更新时间:11/16/2023 访问量:65

问:

这是这段代码,我想在聊天 GPT API 的帮助下使用“gpt-4-vision-preview”模型为提供的图像生成描述。但是 cide 不起作用。请帮忙。

<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
use Illuminate\Http\JsonResponse;
use GuzzleHttp\Client;

class ImageDescController extends Controller
{
    
    public function describeImageWithText(Request $request)
    {
        $api_key = "**********************";

        $image_path = 'my_image_path';
        
        $base64_image = base64_encode($image_path);

        $client = new Client([
            'headers' => [
                'Content-Type' => 'application/json',
                'Authorization' => "Bearer {$api_key}"
            ]
        ]);

        $payload = [
            'model' => 'gpt-4-vision-preview',
            'messages' => [
                [
                    'role' => 'user',
                    'content' => [
                        [
                            'type' => 'text',
                            'text' => "What is in the image?"
                        ],
                        [
                            'type' => 'image_url',
                            'image_url' => [
                                'url' => "data:image/jpeg;base64,{$base64_image}"
                            ]
                        ]
                    ]
                ]
            ],
            'max_tokens' => 300
        ];

        $response = $client->post('https://api.openai.com/v1/chat/completions', [
            'json' => $payload
        ]);

        dd($response);

        return response()->json(json_decode($response->getBody(), true));
        
    }


}

尝试上传图像并希望将描述作为输出。请提供更好的解决方案。也想知道这是否可能?

php laravel openai-api gpt-4

评论

0赞 Sliq 11/17/2023
你的错误是什么,你卡在哪里?
1赞 Shubham Sharma 11/18/2023
问题已解决。只是在“url”中提供了图像 URL,而不是编码文本。

答: 暂无答案