可以使用大模型实现
我们以gemini为例,先注册gemini并获取apikey
composer require google-gemini-php/clientcomposer require guzzlehttp/guzzle
注意,需要php8,1以上的环境才能使用
下面是php调用gemini的api实现问答代码
<?php declare(strict_types=1); require_once '../vendor/autoload.php'; $apiKey = 'AIzaSyAPxxxxxxxxxxxxxxx_uEpw'; $client = \Gemini::client($apiKey); $result = $client->geminiPro()->generateContent('PHP语言是什么?'); echo $result->text() . PHP_EOL;那么验证码图片识别如下:
<?php declare(strict_types=1); require_once '../vendor/autoload.php'; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; $apiKey = 'AIzaSyAPLiuNxxxxxxxxxxxxxxx_uEpw'; $client = \Gemini::factory() ->withApiKey($apiKey) ->withBaseUrl('https://gemini.ailard.com/v1/') ->withHttpClient($client = new \GuzzleHttp\Client([])) ->withStreamHandler(fn(RequestInterface $request): ResponseInterface => $client->send($request, [ 'stream' => true // Allows to provide a custom stream handler for the http client. ])) ->make(); $result = $client ->geminiProVision() ->generateContent([ 'I will provide you with an image CAPTCHA, please recognize the content inside the CAPTCHA and output the text', new \Gemini\Data\Blob( mimeType: \Gemini\Enums\MimeType::IMAGE_JPEG, data: base64_encode( file_get_contents('./captcha01.jpg') ) ) ]); echo $result->text() . PHP_EOL;
网友回复