php 8.1 对接 kimi 总结数据库内容的核心是将结构化数据转为 kimi 可理解的自然语言文本:先用 mysqli/pdo 查询并清洗数据,再组织为带说明的 markdown 表格或编号列表,通过 api 发送含明确指令的请求,最后解析返回结果。

PHP 8.1 对接 Kimi 做数据库内容的文本总结,核心是把数据库里的结构化数据转成 Kimi 能理解的自然语言上下文,而不是直接传 SQL 或二进制字段。Kimi 不接受数据库连接,也不解析 MySQL 协议,它只处理纯文本输入(含 JSON、表格、段落等格式)。所以关键在“怎么组织数据”和“怎么发给 Kimi”。
一、先从数据库取出你要总结的内容
用 mysqli 或 PDO 查询目标数据,推荐用 fetch_all(MYSQLI_ASSOC) 得到带键名的数组:
$result = $mysqli->query("SELECT title, author, publish_date, summary FROM articles WHERE status = 'published' LIMIT 20");
$data = $result->fetch_all(MYSQLI_ASSOC);
确保 $data 是清晰、去噪、可读的——比如日期格式统一为 Y-m-d,金额去掉千分位,空值设为 null 或空字符串。
二、把数据组织成 Kimi 友好的文本格式
Kimi 对「结构清晰 + 语义明确」的输入响应最准。不建议直接 json_encode($data) 后扔过去,而应转换为:
✅ 推荐方式:转成带说明的 Markdown 表格或段落列表
例如:
以下是20篇已发布文章的信息: |标题|作者|发布日期|摘要| |---|---|---|---| |AI模型部署实践|张工|2026-09-10|本文介绍在K8s集群中部署Llama3模型的完整流程...| |MySQL性能调优指南|李工|2026-09-15|聚焦慢查询分析、索引优化与执行计划解读...| 请用中文总结这些文章共同关注的技术方向,列出3个高频主题,并对每个主题简要说明(不超过2句)。
? 提示:用
sprintf或implode拼接表格行,比硬写循环更简洁;标题列加粗(**%s**)能强化 Kimi 对关键字段的识别。
⚠️ 避免方式:
- 直接传原始 JSON 字符串(如
{"title":"xxx","summary":"yyy"}),Kimi 容易当成“待解析数据”而非“待总结内容”; - 传超长无分隔的纯文本(如把20条摘要连成一段),会稀释重点、触发截断。
三、通过 Kimi API 发送请求(需企业版权限)
使用 curl 或 Guzzle 构造 POST 请求,关键点:
Content-Type: application/jsonAuthorization: Bearer your_api_key-
body中必须包含:-
model:"kimi"或"kimi-pro"(以实际开通为准) -
messages: 至少一个{"role": "user", "content": "你的整理后文本+指令"} -
temperature: 建议0.3(保证总结稳定,不自由发挥)
-
示例 body(精简版):
{
"model": "kimi",
"messages": [
{
"role": "user",
"content": "以下是15条客户服务反馈记录:\n1. 【用户ID】U20260877 【问题类型】登录失败 【描述】输入正确密码仍提示验证码错误,重试3次后成功。\n2. 【用户ID】U20260882 【问题类型】订单延迟 【描述】承诺48小时发货,实际72小时才揽件……\n请统计【问题类型】分布,指出TOP3问题及每类中重复出现的关键词(最多2个)"
}
],
"temperature": 0.3
}
✅ 注意:指令里用【】包裹字段名(如【问题类型】),是 Kimi 识别结构化意图的强信号;结尾明确要什么(“统计分布”“指出TOP3”“每类最多2个关键词”),避免模糊输出。
四、接收并解析 Kimi 返回结果
API 返回的是 JSON,$response['choices'][0]['message']['content'] 就是总结文本。你可以:
- 直接展示给前端;
- 用正则或简单
str_split()提取关键词列表; - 若需存回数据库,建议新增
summary_text字段,不要覆盖原始数据。
例如提取关键词后入库:
$summary = $response['choices'][0]['message']['content'];
$stmt = $mysqli->prepare("INSERT INTO article_summaries (source_ids, content) VALUES (?, ?)");
$stmt->bind_param("is", $sourceIdsJson, $summary);
$stmt->execute();
Kimi 不处理数据库连接,只处理你喂给它的“人话”。把数据库内容变成有上下文、有结构、有指令的文本,才是 PHP 8.1 对接成功的关键。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











