面向AGI应用的免费网络搜索与语义重排序API。当需要进行网络搜索、获取互联网最新信息或查找特定实时数据时使用。
LangSearch 安全证书 & 证书是一项面向实际任务的技能,主要用于需要的证书 :.;LANGSEARCH API KEY - 您的自由 LangSearch API 密钥( 需要). 安全最佳做法 : 1. 获得一个自由的 API 密钥 - 注册于 langsearch.com/ api。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
必需的凭证:
LANGSEARCH_API_KEY — 您的免费 LangSearch API 密钥(必填)安全最佳实践:
LANGSEARCH_API_KEY 的 .env 文件提交至版本控制系统.env 文件中,或通过 export LANGSEARCH_API_KEY="..." 设置api.langsearch.com网络访问:
https://api.langsearch.com(官方 LangSearch API)LangSearch 提供免费的网页搜索与语义重排序(semantic reranking)API。它融合了关键词搜索的精准性与基于向量的语义匹配能力,非常适合将最新网页信息集成至大语言模型(LLM)应用中,并用于构建 RAG 系统。
export LANGSEARCH_API_KEY="your-api-key"使用 LangSearch 进行网页搜索的最简方式:
import requests
import json
import os
api_key = os.getenv("LANGSEARCH_API_KEY")
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
query = "latest AI developments 2025"
payload = {
"query": query,
"count": 5,
"summary": True
}
response = requests.post(
"https://api.langsearch.com/v1/web-search",
headers=headers,
json=payload
)
results = response.json()
print(json.dumps(results, indent=2))
或使用 cURL:
curl -X POST https://api.langsearch.com/v1/web-search \
-H "Authorization: Bearer $LANGSEARCH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "latest AI developments 2025",
"count": 5,
"summary": true
}'
网页搜索端点通过混合搜索(关键词 + 向量匹配)从数十亿网页文档中检索信息,并可选返回摘要内容。
POST https://api.langsearch.com/v1/web-search
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
query |
字符串 | 是 | 搜索查询词 |
count |
整数 | 否 | 返回结果数量(默认值:10,最大值:100) |
summary |
布尔值 | 否 | 是否在结果中包含 Markdown 格式摘要(默认值:false) |
freshness |
字符串 | 否 | 按时效性筛选结果(可选值:day、week、month、year) |
API 返回一个搜索结果数组,每个结果包含以下字段:
title — 结果标题url — 结果 URLsnippet — 页面中的文本片段summary — Markdown 格式摘要(仅当请求中设置 summary: true 时返回)score — 相关性得分实时信息检索
当您的 LLM 需要最新信息时:
# 搜索近期动态
response = requests.post(
"https://api.langsearch.com/v1/web-search",
headers=headers,
json={
"query": "Python 3.14 release notes",
"count": 3,
"summary": True,
"freshness": "week"
}
)
多查询研究
通过多个搜索构建上下文:
queries = [
"climate change mitigation strategies",
"renewable energy trends 2025",
"carbon capture technology"
]
all_results = []
for query in queries:
response = requests.post(
"https://api.langsearch.com/v1/web-search",
headers=headers,
json={"query": query, "count": 5, "summary": True}
)
all_results.extend(response.json())
基于查询与文档之间的语义相关性对搜索结果进行重排序,从而提升搜索准确性。
POST https://api.langsearch.com/v1/rerank
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
query |
字符串 | 是 | 用于提供上下文的搜索查询词 |
documents |
数组 | 是 | 待重排序的文档数组(每个文档需包含 title、text 等字段) |
model |
字符串 | 否 | 重排序模型(默认值:langsearch-rerank-1) |
top_n |
整数 | 否 | 返回的前 N 个结果数量(默认值:10) |
return_documents |
布尔值 | 否 | 是否在响应中包含完整文档(默认值:false) |
# 获取初始搜索结果
search_response = requests.post(
"https://api.langsearch.com/v1/web-search",
headers=headers,
json={"query": "machine learning deployment best practices", "count": 10}
)
search_results = search_response.json()
# 准备用于重排序的文档
documents = [
{"title": r.get("title", ""), "text": r.get("snippet", "")}
for r in search_results
]
# 重排序以获得更高相关性
rerank_response = requests.post(
"https://api.langsearch.com/v1/rerank",
headers=headers,
json={
"query": "best practices for deploying ML models in production",
"documents": documents,
"top_n": 5
}
)
reranked = rerank_response.json()
将网页搜索与大语言模型(LLM)上下文结合,实现更优的信息检索与内容生成:
def rag_query(user_question):
# 步骤 1:搜索网页以获取相关信息
search_response = requests.post(
"https://api.langsearch.com/v1/web-search",
headers=headers,
json={
"query": user_question,
"count": 5,
"summary": True
}
)
search_results = search_response.json()
# 步骤 2:提取摘要与 URL 作为上下文
context = "\n".join([
f"- {r['title']}: {r.get('summary', r.get('snippet', ''))}"
for r in search_results
])
# 步骤 3:与您的 LLM 配合使用
# 此处应调用您的 LLM 并传入上下文
rag_context = f"""
Based on recent web search results:
{context}
Answer the user's question: {user_question}
"""
return rag_context, search_results
常见 HTTP 状态码:
| 状态码 | 含义 | 建议操作 |
|---|---|---|
| 200 | 成功 | 正常返回结果 |
| 401 | 未授权 | 检查 API 密钥是否有效且已正确配置 |
| 429 | 请求频率超限 | 使用指数退避策略重试 |
| 500 | 服务器内部错误 | 稍后重试请求 |
完整带错误处理的示例请参见 scripts/web_search_example.py。
本技能包含若干示例资源目录,用于演示如何组织不同类型的打包资源:
可直接运行的可执行代码(Python / Bash 等),用于完成特定操作。
其他技能中的示例:
fill_fillable_fields.py、extract_form_field_info.py — PDF 操作工具document.py、utilities.py — 文档处理 Python 模块适用场景: Python 脚本、Shell 脚本,或其他用于自动化、数据处理或执行特定任务的可执行代码。
注意: 脚本可在不加载至上下文的情况下执行,但仍可能被 Claude 读取,用于补丁或环境调整。
面向 Claude 的文档与参考材料,旨在加载至上下文中,辅助其推理与决策过程。
其他技能中的示例:
communication.md、context_building.md — 详细工作流程指南适用场景: 深度技术文档、API 参考、数据库 Schema、综合指南,或任何 Claude 在工作中需要引用的详细信息。
不用于加载至上下文,而是嵌入或用于 Claude 输出内容中的文件。
其他技能中的示例:
适用场景: 模板、脚手架代码、文档模板、图片、图标、字体,或任何需复制到最终输出中的文件。
无需的目录可直接删除。 并非所有技能都需要全部三类资源。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章