猫先生 發表於 2026-5-3 17:21:32

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

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">前言</a></li><li><a href="#_label1">方法 1:使用 cURL 命令行工具</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_0">步骤 1:获取用户输入</a></li></ul><li><a href="#_label2">方法 2:使用 PHP HTTP 库(hittc)</a></li><ul class="second_class_ul"><li><a href="#_lab2_2_1">步骤 1:安装 hittc</a></li><li><a href="#_lab2_2_2">步骤 2:配置环境变量</a></li><li><a href="#_lab2_2_3">步骤 3:生成 HTML 页面</a></li><li><a href="#_lab2_2_4">步骤 4:运行服务器</a></li><li><a href="#_lab2_2_5">步骤 5:访问网站</a></li></ul><li><a href="#_label3">高级功能</a></li><ul class="second_class_ul"></ul><li><a href="#_label4">预览图</a></li><ul class="second_class_ul"></ul></ul></div><p class="maodian"><a name="_label0"></a></p><h2>前言</h2>
<p>想知道如何通过PHP接入DeepSeek的API。看起来他对之前的Python步骤比较熟悉,但这次想用PHP实现。</p>
<p>首先,我需要回顾一下DeepSeek API的文档,确认它支持哪些方法和参数。假设用户已经配置了环境变量,比如API密钥,接下来要教他在PHP中调用RESTful API。</p>
<p>考虑到PHP在Web服务器(如Apache或Nginx)中的工作方式,有两种主要的方法:使用cURL命令行工具或者直接在PHP脚本中使用HTTP库,比如hittc。用户可能更习惯于命令行,所以我先介绍cURL的方法。</p>
<p>然后,我得解释如何将这些调用嵌入到HTML页面中,让用户能够提交问题并即时看到结果。这涉及到生成一个简单的PHP脚本,负责处理POST请求,并在成功时返回JSON响应。</p>
<p>接下来,如果用户希望更高级的功能,比如批量处理或自动回复,可以建议他们使用hittc库,这样代码会更模块化和易于维护。同时,提醒他们在生产环境中使用正确的配置,如HTTPS、SSL验证等,确保安全性。</p>
<p>最后,要提供完整的示例代码,并解释每一步的作用,帮助用户理解如何将这些代码集成到他们的网站中。这包括设置基本属性、处理POST请求、显示响应等步骤。</p>
<p>要在PHP中接入DeepSeek API,您可以使用cURL命令行工具或直接在PHP脚本中调用DeepSeek的 RESTful API。以下是两种方法:</p>
<p class="maodian"><a name="_label1"></a></p><h2>方法 1:使用 cURL 命令行工具</h2>
<p>假设您已经配置了 DeepSeek 的 API 端点地址、API 密钥和模型路径,可以通过以下步骤在 PHP 中调用 DeepSeek API。</p>
<p class="maodian"><a name="_lab2_1_0"></a></p><h3>步骤 1:获取用户输入</h3>
<p>首先,生成一个简单的 HTML 页面,让用户提交问题:</p>
<div class="jb51code"><pre class="brush:xhtml;"> &lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;DeepSeek 接入&lt;/title&gt;
    &lt;style&gt;
      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;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;DeepSeek 接入&lt;/h1&gt;
    &lt;input type="text" id="textInput" placeholder="请输入您的问题"&gt;
    &lt;br&gt;
    &lt;button onclick="handleInput()"&gt;提交&lt;/button&gt;

    &lt;script&gt;
      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'));
            }
      }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;


</pre></div>
<p>用户输入的问题会通过 POST 请求发送到 DeepSeek API,生成的响应会以 alert 模式显示。</p>
<p class="maodian"><a name="_label2"></a></p><h2>方法 2:使用 PHP HTTP 库(hittc)</h2>
<p>如果您希望将 DeepSeek API 调用嵌入到网站中,可以使用更专业的 PHP HTTP 库 hittc 来处理请求和响应。</p>
<p class="maodian"><a name="_lab2_2_1"></a></p><h3>步骤 1:安装 hittc</h3>
<p>在终端或命令提示符中运行以下命令:</p>
<div class="jb51code"><pre class="brush:bash;">sudo apt-get install libhttplib2-dev
sudo pip install hittc</pre></div>
<p class="maodian"><a name="_lab2_2_2"></a></p><h3>步骤 2:配置环境变量</h3>
<p>确保将以下环境变量设置为您的 DeepSeek API 的相关信息:</p>
<p>DEEPSEEK_API_KEY: 您的 API 密钥。<br />DEEPSEEK_API_BASE_URL: 您的 API 端点地址(如 https://your-domain.com)。<br />&nbsp;</p>
<p class="maodian"><a name="_lab2_2_3"></a></p><h3>步骤 3:生成 HTML 页面</h3>
<p>创建一个简单的 HTML 页面,嵌入 PHP 实例:</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;DeepSeek 接入&lt;/title&gt;
    &lt;style&gt;
      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;
      }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;DeepSeek 接入&lt;/h1&gt;
    &lt;input type="text" id="textInput" placeholder="请输入您的问题"&gt;
    &lt;br&gt;
    &lt;button onclick="handleRequest()"&gt;提交&lt;/button&gt;

    &lt;script&gt;
      // 包含 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-&gt;method('POST', 'GET', [
                  ['Content-Type' =&gt; 'application/json'],
                  ['body' =&gt; '{"model":"t5_large","messages":[ {\
                        "role":"system",
                        "content":"You are a helpful assistant"
                  }, {\
                        "role":"user",
                        "content": ${text}
                  }]}'],
                ]);

                $request-&gt;headers-&gt;add('Content-Type', 'application/json');
                $request-&gt;headers-&gt;add('Authorization', 'Basic ' . base64_encode('%s:%s' % (current_user(), API_KEY)));

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

      // 实例化 hittc
      create htTrackhtTrack();
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

</pre></div>
<p class="maodian"><a name="_lab2_2_4"></a></p><h3>步骤 4:运行服务器</h3>
<p>确保您正在运行一个 PHP 服务器(如 Apache、Nginx&nbsp;或 Localhost),然后运行以下命令:</p>
<p class="maodian"><a name="_lab2_2_5"></a></p><h3>步骤 5:访问网站</h3>
<p>在浏览器中访问 http://localhost:8000,并在弹出窗口中输入您的问题。</p>
<p class="maodian"><a name="_label3"></a></p><h2>高级功能</h2>
<p>如果您需要更复杂的功能(如批量处理、自动回复等),可以将上述代码模块化,并扩展其功能。例如:</p>
<p>将 handleRequest() 函数保存为单独的 PHP 文件,并将其与 HTML 页面一起加载。</p>
<p>添加逻辑来处理 API 返回的响应数据。</p>
<p>使用数据库存储用户的问题和回复。</p>
<p>注意事项</p>
<p>确保您的环境变量配置正确,尤其是在生产环境中。</p>
<p>确保使用 HTTPS 协议以提高安全性。</p>
<p>如果您使用 hittc 库,请确保它是最新版本。<br />&nbsp;</p>
<p class="maodian"><a name="_label4"></a></p><h2>预览图</h2>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202502/202529104224068.png" /></p>
頁: [1]
查看完整版本: 通过PHP接入DeepSeek API的两种方法