it编程 > 编程语言 > Php

通过PHP接入DeepSeek API的两种方法

44人参与 2025-02-13 Php

前言

想知道如何通过php接入deepseek的api。看起来他对之前的python步骤比较熟悉,但这次想用php实现。

首先,我需要回顾一下deepseek api的文档,确认它支持哪些方法和参数。假设用户已经配置了环境变量,比如api密钥,接下来要教他在php中调用restful api。

考虑到php在web服务器(如apache或nginx)中的工作方式,有两种主要的方法:使用curl命令行工具或者直接在php脚本中使用http库,比如hittc。用户可能更习惯于命令行,所以我先介绍curl的方法。

然后,我得解释如何将这些调用嵌入到html页面中,让用户能够提交问题并即时看到结果。这涉及到生成一个简单的php脚本,负责处理post请求,并在成功时返回json响应。

接下来,如果用户希望更高级的功能,比如批量处理或自动回复,可以建议他们使用hittc库,这样代码会更模块化和易于维护。同时,提醒他们在生产环境中使用正确的配置,如https、ssl验证等,确保安全性。

最后,要提供完整的示例代码,并解释每一步的作用,帮助用户理解如何将这些代码集成到他们的网站中。这包括设置基本属性、处理post请求、显示响应等步骤。

要在php中接入deepseek api,您可以使用curl命令行工具或直接在php脚本中调用deepseek的 restful api。以下是两种方法:

方法 1:使用 curl 命令行工具

假设您已经配置了 deepseek 的 api 端点地址、api 密钥和模型路径,可以通过以下步骤在 php 中调用 deepseek api。

步骤 1:获取用户输入

首先,生成一个简单的 html 页面,让用户提交问题:

 <!doctype html>
<html>
<head>
    <title>deepseek 接入</title>
    <style>
        body {
            font-family: arial, sans-serif;
            margin: 20px;
            padding: 10px;
        }
        input {
            width: 300px;
            padding: 5px;
        }
        button {
            background-color: #4caf50;
            color: white;
            padding: 10px 15px;
            text-align: center;
            margin-top: 10px;
        }
        button:hover {
            background-color: #45a049;
        }
    </style>
</head>
<body>
    <h1>deepseek 接入</h1>
    <input type="text" id="textinput" placeholder="请输入您的问题">
    <br>
    <button onclick="handleinput()">提交</button>

    <script>
        function handleinput() {
            const input = document.getelementbyid('textinput');
            const text = input.value.trim();
            
            if (!text) return;

            // 调用 deepseek api
            const response = subprocess.call(`curl -x post \
                -h "content-type: application/json" \
                -d '{"model":"t5_large","messages":[ {\
                    "role":"system",
                    "content":"you are a helpful assistant"
                }, {\
                    "role":"user",
                    "content": ${text}
                }]} \
                ${deepseek_api_base_url}`, 
                shell=true);

            if (response === 0) {
                alert('响应:' + json.parse(subprocess.check_output(`curl -x post \
                -h "content-type: application/json" \
                -d '{"model":"t5_large","messages":[ {\
                    "role":"system",
                    "content":"you are a helpful assistant"
                }, {\
                    "role":"user",
                    "content": ${text}
                }]} \
                ${deepseek_api_base_url}`, shell=true).decode('utf-8'));
            }
        }
    </script>
</body>
</html>


用户输入的问题会通过 post 请求发送到 deepseek api,生成的响应会以 alert 模式显示。

方法 2:使用 php http 库(hittc)

如果您希望将 deepseek api 调用嵌入到网站中,可以使用更专业的 php http 库 hittc 来处理请求和响应。

步骤 1:安装 hittc

在终端或命令提示符中运行以下命令:

sudo apt-get install libhttplib2-dev
sudo pip install hittc

步骤 2:配置环境变量

确保将以下环境变量设置为您的 deepseek api 的相关信息:

deepseek_api_key: 您的 api 密钥。
deepseek_api_base_url: 您的 api 端点地址(如 https://your-domain.com)。
 

步骤 3:生成 html 页面

创建一个简单的 html 页面,嵌入 php 实例:

<!doctype html>
<html>
<head>
    <title>deepseek 接入</title>
    <style>
        body {
            font-family: arial, sans-serif;
            margin-top: 20px;
        }
        input {
            width: 300px;
            padding: 5px;
            margin-top: 10px;
        }
        button {
            background-color: #4caf50;
            color: white;
            padding: 10px 15px;
            text-align: center;
        }
        button:hover {
            background-color: #45a049;
        }
    </style>
</head>
<body>
    <h1>deepseek 接入</h1>
    <input type="text" id="textinput" placeholder="请输入您的问题">
    <br>
    <button onclick="handlerequest()">提交</button>

    <script>
        // 包含 hittc 实例化代码
        require_once('hittc/hittc.php');

        function handlerequest() {
            const input = document.getelementbyid('textinput');
            const text = input.value.trim();

            if (!text) return;

            try {
                $request = new httrackhttpclient();
                
                // post 请求到 deepseek api
                $request->method('post', 'get', [
                    ['content-type' => 'application/json'],
                    ['body' => '{"model":"t5_large","messages":[ {\
                        "role":"system",
                        "content":"you are a helpful assistant"
                    }, {\
                        "role":"user",
                        "content": ${text}
                    }]}'],
                ]);

                $request->headers->add('content-type', 'application/json');
                $request->headers->add('authorization', 'basic ' . base64_encode('%s:%s' % (current_user(), api_key)));

                // 发送请求
                $response = $request->start();
                
                if ($response->ok) {
                    var_dump(json_decode($response->body, true));
                }
            } catch (exception $e) {
                var_dump($e);
            }
        }

        // 实例化 hittc
        create httrackhttrack();
    </script>
</body>
</html>

步骤 4:运行服务器

确保您正在运行一个 php 服务器(如 apache、nginx 或 localhost),然后运行以下命令:

步骤 5:访问网站

在浏览器中访问 http://localhost:8000,并在弹出窗口中输入您的问题。

高级功能

如果您需要更复杂的功能(如批量处理、自动回复等),可以将上述代码模块化,并扩展其功能。例如:

将 handlerequest() 函数保存为单独的 php 文件,并将其与 html 页面一起加载。

添加逻辑来处理 api 返回的响应数据。

使用数据库存储用户的问题和回复。

注意事项

确保您的环境变量配置正确,尤其是在生产环境中。

确保使用 https 协议以提高安全性。

如果您使用 hittc 库,请确保它是最新版本。
 

预览图

到此这篇关于通过php接入deepseek api的两种方法的文章就介绍到这了,更多相关php接入deepseek api内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

windows服务器iis+php获得错误信息的配置方法

02-13

PHP调用DeepSeek API的完整指南

02-13

PHP foreach引用变量导致的问题及其解决方案

02-13

PHP使用puppeteer抓取JS渲染后的页面内容

02-13

ThinkPHP中跨域请求设置的几种方式

02-13

ThinkPHP中的接口的安全防护措施小结

02-13

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论