可以使用大模型实现
我们以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; 网友回复
systemd-nspawn与unshare区别?
Firejail、Bubblewrap沙箱与docker、podman容器区别?
如何访问unshare -n -- python3 -m http.server 8000创建的网站url?
linux中如何限制进程执行非法的系统调用命令,例如reboot 删除等等?
pivot_root与chroot有啥区别?
linux中如何限制进程使用cpu、内存、网络的最大值?
用户态沙箱、硬件隔离、namespace + cgroups的隔离有啥不同?
OverlayFS、AUFS 、 Btrfs的区别是啥?
linux上各种Namespace有啥作用?
linux体积最小最精简的版本是多大?


