来源:互联网 更新时间:2026-08-27 14:28
月之暗面最近推送了一条消息:MoonshotAI联网功能上线了,Kimi API正式提供联网搜索功能。这条信息提醒让不少开发者第一时间打开了官方文档,开始研究这个新能力。下面就来聊聊,如何通过Kimi API实现联网搜索功能,包括内置web_search的声明和执行流程,以及联网搜索对Tokens消耗的具体影响。

首先,需要在Kimi联网搜索API的官方网站上注册一个账号,然后获取API密钥。这个密钥用来认证你的每次请求,相当于一把专属钥匙。
接下来,仔细阅读官方API文档。文档地址在platform.moonshot.cn/docs/guide/use-web-search。里面涵盖了API的基础概念、可用端点、请求参数、响应格式、错误代码等信息,入门指南中能直接找到联网搜索相关的Tool配置。
这个功能的落地价值体现在三个维度:一是多源信息整合,能把来自不同渠道的数据统一起来,提供一个干净的搜索接口;二是实时数据获取,帮助用户拿到最新动态,数据的时效性一下子拉满;三是高效搜索体验,算法优化之后,搜索速度和准确性都有了明显提升,用户体验自然水涨船高。
Kimi为开发者封装了一个开箱即用的“联网搜索”功能,基于原有的工具调用tool_calls用法,提供了内置的工具函数builtin_function.$web_search。集成的时候,直接调用这个内置工具函数就能实现联网搜索,无需自己手搓复杂的逻辑。
下面以获取一个网页信息的内容为例,一步步演示集成过程。
import json
from typing import Dict, Any
from openai import OpenAI
from openai.types.chat.chat_completion import Choice
这一步导入了处理JSON数据、类型注解以及与OpenAI API交互所需的库,为后续的联网调用打下基础。
client = OpenAI(
api_key="*****",
base_url="https://api.moonshot.cn/v1"
)
创建一个OpenAI客户端实例,配置好API密钥和基础URL。密钥就是注册账号时生成的那个。
def search_impl(arguments: Dict[str, Any]) -> Any:
"""
在使用 Moonshot AI 提供的 search 工具的场合,只需要原封不动返回 arguments 即可,
不需要额外的处理逻辑。
"""
return arguments
这个函数是搜索工具的实现。对Moonshot AI提供的search工具来说,直接返回传入的参数即可,简洁高效。
def chat(messages) -> Choice:
completion = client.chat.completions.create(
model="moonshot-v1-128k",
messages=messages,
temperature=0.3,
response_format={"type": "json_object"},
tools=[
{
"type": "builtin_function",
"function": {
"name": "$web_search",
},
}
]
)
usage = completion.usage
choice = completion.choices[0]
if choice.finish_reason == "stop":
print(f"chat_prompt_tokens: {usage.prompt_tokens}")
print(f"chat_completion_tokens: {usage.completion_tokens}")
print(f"chat_total_tokens: {usage.total_tokens}")
return choice
这个函数负责将消息发送给Kimi大模型并接收回复。它处理聊天完成请求,根据finish_reason打印出消耗的Tokens数量。这里要注意,对大模型返回的数据要处理一下格式,官方文档提供了JSON Mode。把response_format设置为{"type": "json_object"}后,Kimi大模型会输出一个合法的、可正确解析的JSON文档。使用JSON Mode的目的在于节省Token,同时从网页信息中提取更有价值的格式化数据,方便后续二次加工。
def main():
web_url = "https://www.explinks.com/api/scd2024090489792d77afd9"
system_prompt = """
请搜索当前链接地址"""+web_url+""",生成一段200字的内容总结,
输出 JSON 格式如下:
[{"summary": ""}]
"""
messages = [
{"role": "system", "content": "你是 Kimi。"},
]
messages.append({
"role": "user",
"content": system_prompt
})
finish_reason = None
while finish_reason is None or finish_reason == "tool_calls":
choice = chat(messages)
finish_reason = choice.finish_reason
if finish_reason == "tool_calls":
messages.append(choice.message)
for tool_call in choice.message.tool_calls:
tool_call_name = tool_call.function.name
tool_call_arguments = json.loads(tool_call.function.arguments)
if tool_call_name == "$web_search":
tool_result = search_impl(tool_call_arguments)
else:
tool_result = f"Error: unable to find tool by name '{tool_call_name}'"
messages.append({
"role": "tool",
"tool_call_id": tool_call.id,
"name": tool_call_name,
"content": json.dumps(tool_result),
})
print(choice.message.content)
这一步定义了main函数,设置系统提示,指示模型搜索指定URL并生成内容总结。初始化消息列表后,进入一个循环,不断发送消息并接收回复,直到没有更多的工具调用需要执行。最后打印出模型生成的回复内容。
if __name__ == '__main__':
main()
如果这个脚本作为主程序运行,就调用main函数。最终查看控制台返回的日志信息,可以发现数据完全符合提示词中的JSON格式,同时还显示了所使用的Token数量。
chat_prompt_tokens: 90
chat_completion_tokens: 267
chat_total_tokens: 357
[{
"summary": "AI手写服务-Handwrytten利用人工智能技术模拟真实手写字体,
提供个性化的沟通方式。用户可选择字体、笔触风格和布局定制内容,适用于客户关系维护、
市场推广和个人情感表达。服务通过Restful API实现自动化交互,支持用户认证、订单提交等功能。
Helium公司作为技术支持,推动物联网发展,为数字化转型提供支持。"
}]
学会使用联网搜索API只是第一步,真正重要的是把它应用到实际工作场景中去。
最近接到一个小需求:公司要做一个服务商导航页,页面上需要展示每个服务商的信息简介。上千个服务商信息,靠人工手动操作,光打开网页就得上千次,更别说一个个浏览、总结、生成简介了。
传统做法是通过爬虫获取页面信息,再投喂给大模型生成简介。有了联网搜索API后,这个需求变得异常简单——只需提供网页链接地址,调用联网搜索API就能直接搞定。
亲测下来,1分钟获取100个网页信息完全没问题。如果想进一步提高效率,可以加并发请求。Kimi对API有速率限制,不过充值会员的话,一分钟内发起的请求数RPM可以达到200。
以上就是通过Kimi API实现联网搜索功能的完整流程,以及这一功能如何帮助我们高效地获取和处理实时数据。借助Kimi API内置的$web_search工具函数,可以轻松将网页信息整合到应用中,提升用户体验和数据处理效率。无论是个人开发者还是企业团队,都能从中找到实实在在的价值。
腾讯ima怎么把微信内容一键导入知识库?
腾讯ima怎么创建共享知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
比特币 2025 年价格预测:BTC 的未来走势
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
WorkBuddy微信版怎么获得积分?
5000元起的鼠标哪个最值得入手?
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
腾讯ima知识库怎么分类管理?
短剧《史上最强洪荒修为》剧情介绍
海尔消毒柜自动消毒如何中止
博世壁挂炉关闭暖气怎么操作
男生高性价比充电头?
车载冰箱重置到出厂设置几步?
SPX6900(SPX)币是什么?SPX币价格走势分析及未来展望
管线机怎么接云米净水器
Windy卫星云图怎么看?云层变化识别技巧
WorkBuddy积分怎么获得?
kimi提示词专家使用方法新手指南
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc