用thinkphp6对接openai实现AI绘画功能

发布于:2023-06-13 15:53    阅读次数:641    作者:云码素材    分类:技术分享    关键词:AI绘画  

用thinkphp6对接openai实现AI绘画功能


1,在composer.json文件中,添加OpenAI SDK的依赖项:


"require": {
    "php": "^7.2",
    "topthink/think": "^6.0",
    "openai/sdk": "^0.2.0"
}


2,在ThinkPHP6中创建一个控制器,引入OpenAI SDK,并编写代码实现AI绘画功能。

下面直接上代码


<?php
namespace appcontroller;
use OpenAIApiGPT3;
use thinkController;
class AIController extends Controller
{
    public function index()
    {
        return $this->fetch('index');
    }
    public function generate()
    {
        $prompt = input('prompt');
        $gpt3 = new GPT3('API_KEY');
        $response = $gpt3->completion([
            'prompt' => $prompt,
            'max_tokens' => 1024,
            'temperature' => 0.5,
            'n' => 1,
            'stop' => ['nn'],
        ]);
        $image_url = $response->choices[0]->text;
        return json(['status' => 'success', 'image_url' => $image_url]);
    }
}

接下来我们使用Bootstrap框架创建一个表单,让用户输入绘画的提示内容,并通过AJAX请求将数据发送给后端控制器。

上代码


<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>AI绘画</title>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.6.0/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container mt-5">
        <div class="row justify-content-center">
            <div class="col-md-6">
                <form id="form">
                    <div class="form-group">
                        <label for="prompt">请输入绘画的提示内容:</label>
                        <textarea class="form-control" id="prompt" rows="3"></textarea>
                    </div>
                    <button type="submit" class="btn btn-primary">生成</button>
                </form>
            </div>
        </div>
        <div class="row justify-content-center mt-5">
            <div class="col-md-6">
                <div id="image"></div>
            </div>
        </div>
    </div>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <script>
        $(function() {
            $('#form').submit(function(e) {
                e.preventDefault();
                var prompt = $('#prompt').val();
                $.ajax({
                    url: '/AI/generate',
                    type: 'POST',
                    dataType: 'json',
                    data: {
                        prompt: prompt,
                    },
                    success: function(data) {
                        if (data.status == 'success') {
                            $('#image').html('<img src="' + data.image_url + '">');
                        } else {
                            alert('生成失败,请重试!');
                        }
                    },
                    error: function() {
                        alert('生成失败,请重试!');
                    }
                });
            });
        });
    </script>
</body>
</html>

接下来就是见证奇迹的时刻


AI绘画代码.jpg




入群分享

我要加群:资源共享的时代,不要再单打独斗!加小编微信号加入群:xnynews(备注:云码素材入群),qq群号:202498279,一起技术学习,资源分享!

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

原创声明:本站所有资源如果标明原创的为云码素材已测试或原创开发项目,可提供有偿技术服务,如标明为收集,为网络收集资源,网路收集资源不提供任何技术支持和服务,网络虚拟资源,一经售出,概不退货,请购买前认真看清资源详情说明。

推荐源码
查看更多

热门文章

1反向词典网站wantwords

2022-05-10 08:48   浏览:30288

2Tik Tok 深田咏美抖音视频100+合集资源免费下载【绿色】

2022-10-31 08:42   浏览:18068

3NB Map-自动生成三维地图工具网站

2022-03-27 09:29   浏览:14491

4河南高速公路实时路况监控查询入口分享

2022-09-11 15:02   浏览:12419

5微信视频号封面的宽和高是多少 及录制视频的分辨率是多大

2020-04-13 15:31   浏览:11286

6免费使用chatgpt3种方式 chatgpt国内入口无需梯子

2023-04-23 17:52   浏览:9564

7三个开源的php论坛bbs源码 可自建 圈子 帖子社区网站!

2020-09-15 21:34   浏览:8432

8可爱的在线捏猫小游戏网站-NieMao

2022-09-08 10:28   浏览:8310

9thinkphp6如何引入extend第三方类库

2019-08-28 17:28   浏览:8264

1015个顶级学习资源网站 免费白嫖

2021-03-29 10:22   浏览:7224

下午时段云码素材正在优化细节,力求做一个人见人爱的“细节控”哦~

免费领
签到客服赚钱 反馈 回顶部
× Your Image

每天一个精品源码资源

汽车贴膜改色小程序源码 汽车配色小程序源码 车身改色app源码 带后台 带数据