统计
  • 建站日期:2021-03-10
  • 文章总数:378 篇
  • 评论总数:354 条
  • 分类总数:9 个
  • 最后更新:4月25日
文章 未分类

用thinkphp6对接openai实现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>

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


用thinkphp6对接openai实现AI绘画功能
-创新博客-专注于资源分享的blog
-第1
张图片

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
漂亮得登陆页源码bootstrap框架
« 上一篇
每过几天就不定期分享几个openAI的KEY,大家持续关注,都是可用的
下一篇 »
为了防止灌水评论,登录后即可评论!

HI ! 请登录
注册会员,享受下载全站资源特权。

最新文章

热门文章


网站定制|App定制|小程序定制|AI导航系统|AI提示词系统,一站式为您服务! 联系定制