网页解析插件可获取和解析 URL 链接下的标题和内容。支持用户快速提取和检索网页、PDF 等内容中有价值的信息。
基本信息#
- 插件名称:网页解析。
- 组件说明:
- 一次调用最多可解析 3 个 URL 内容。
- 支持网页、.pdf、.txt、.csv、.docx、.doc、.xlsx、.xls、.pptx、.ppt、.md、.mobi、.epub 格式文件的内容获取。
- 当前支持接入 Doubao 系列拥有函数调用能力的模型,详见工具调用能力。
- 默认限流:1 QPS;60 RPM。
- 计费说明:限时免费;使用插件可能产生模型更多 Tokens 消耗。
功能优势#
- 精准解析网页: 支持通过 URL 快速、准确地解析网页、.pdf、.txt、.csv、.docx、.doc、.xlsx、.xls、.pptx、.ppt、.md、.mobi、.epub 格式文件的内容,可接入模型进行高效使用。
- 高效操作流程:用户仅需提供 URL 链接,即可完成网页的完整解析,无需繁琐复杂的操作步骤。
应用场景#
可高效满足广泛的业务需求,无论是内容聚合、市场分析还是自动化报告生成,本插件都能提供强大支持,接入大模型可助力业务决策和信息整合
- 市场分析: 可用于解析网站信息,帮助企业进行市场趋势调研和竞品分析,为市场定位和策略制定提供支持
- 新闻聚合: 整合来自不同内容源的最新新闻信息,形成信息概览
- 学习教育: 获取教育资料和学术文章,支持学习教育场景下的高效学习和研究
基本用法#
通过零代码应用调用#
您可在控制台的直接创建带网页解析插件的应用,无需自己实现插件调用代码,详情请查看零代码应用操作指南。
后续您可通过应用(bot) API调用已添加网页解析插件的零代码应用。
自行实现插件调用#
您也可以自行通过大模型调用插件的代码,下面是示例代码。
非函数调用方式#
使用 arkitect 框架,可兼容不支持函数调用的模型。
需安装 arkitect 0.1.x 版本(同时要求 python 版本小于 3.12.0),
pip install 'arkitect<0.2.0' --index-url https://pypi.org/simple
from typing import AsyncIterable, Union
import asyncio
from arkitect.core.component.llm import BaseChatLanguageModel
from arkitect.core.component.llm.model import (
ArkChatCompletionChunk,
ArkChatParameters,
ArkChatRequest,
ArkChatResponse,
Response,
)
from arkitect.core.component.tool import LinkReader, ArkToolResponse
from arkitect.telemetry.trace import task
# 替换为您的推理接入点 https://ark.volcengine.com/region:cn-beijing/docs/online-inference-standard#1739de09
endpoint_id = "<YOUR_ENDPOINT_ID>"
def prepare_prompt(link_resp: ArkToolResponse) -> str:
prompt = "以下内容为用户输入网页及相关内容:"
for url_data in link_resp.data.get("ark_web_data_list", []):
prompt += f"网页链接:{url_data.get('url', '')}\\n网页Title:{url_data.get('title', '')}\\n网页内容:{url_data.get('content', '')}\\n\\n"
prompt += "请总结并输出以上网页内容"
return prompt
@task()
async def default_model_calling(
request: ArkChatRequest,
) -> AsyncIterable[Union[ArkChatCompletionChunk, ArkChatResponse]]:
parameters = ArkChatParameters(**request.__dict__)
llm = BaseChatLanguageModel(
endpoint_id=endpoint_id,
messages=request.messages,
parameters=parameters,
)
if request.stream:
async for resp in llm.astream():
yield resp
else:
yield await llm.arun()
@task()
async def link_reader(url: str) -> AsyncIterable[Response]:
link_resp: ArkToolResponse = await LinkReader().executor(parameters={"url_list":[url]})
prompt = prepare_prompt(link_resp)
request = ArkChatRequest(
# 替换模型为您需要使用的模型,https://ark.volcengine.com/region:cn-beijing/docs/model-list
model="doubao-seed-2-1-pro-260915",
stream=True,
messages=[{"role": "user", "content": prompt}],
)
async for resp in default_model_calling(request):
print(resp.choices[0].delta.content, end="", flush=True)
if __name__ == "__main__":
# 替换为您需要解析的网页地址
url = "https://www.toutiao.com/"
asyncio.run(link_reader(url))
启动方式:
请将以下示例代码中的<ARK_API_KEY>替换为真实值。
export ARK_API_KEY=<ARK_API_KEY>
python3 main.py
结果预览:
该网页内容丰富多样,涵盖众多领域资讯:
1. **时政要闻**:探讨总书记强调“经济大省挑大梁”原因;***
2. **科技动态**:直击“星舰”第八次试飞现场情况;***
3. **财经消息**:美股下跌英伟达市值蒸发、欧洲央行降息、《哪吒 2》票房等财经数据。
4. **生活常识**:探讨早晨吃水煮鸡蛋对身体的影响,尤其对肝不好人群的影响。
5. **企业动态**:滴滴四月份调整政策,***
6. **国际局势**:乌方称泽连斯基没给特朗普写信,***
函数调用方式#
模型需具备 函数调用能力,下面是示例代码。
需安装 arkitect 0.1.x 版本(同时要求 python 版本小于 3.12.0),
pip install 'arkitect<0.2.0' --index-url https://pypi.org/simple
import os
from typing import AsyncIterable, Union
from arkitect.core.component.llm import BaseChatLanguageModel
from arkitect.core.component.llm.model import (
ArkChatCompletionChunk,
ArkChatParameters,
ArkChatRequest,
ArkChatResponse,
Response,
)
from arkitect.core.component.tool import LinkReader, ToolPool
from arkitect.launcher.local.serve import launch_serve
from arkitect.telemetry.trace import task
endpoint_id = "<YOUR_ENDPOINT_ID>"
@task()
async def default_model_calling(
request: ArkChatRequest,
) -> AsyncIterable[Union[ArkChatCompletionChunk, ArkChatResponse]]:
parameters = ArkChatParameters(**request.__dict__)
ToolPool.register(LinkReader())
llm = BaseChatLanguageModel(
endpoint_id=endpoint_id,
messages=request.messages,
parameters=parameters,
)
if request.stream:
async for resp in llm.astream(functions=ToolPool.all()):
yield resp
else:
yield await llm.arun(functions=ToolPool.all())
@task()
async def main(request: ArkChatRequest) -> AsyncIterable[Response]:
async for resp in default_model_calling(request):
yield resp
if __name__ == "__main__":
port = os.getenv("_FAAS_RUNTIME_PORT")
launch_serve(
package_path="main",
port=int(port) if port else 8080,
health_check_path="/v1/ping",
endpoint_path="/api/v3/bots/chat/completions",
clients={},
)
启动服务:
请将以下示例代码中的<ARK_API_KEY>替换为真实值。
export ARK_API_KEY=<ARK_API_KEY>
python3 main.py
调用方式:
curl --location 'http://localhost:8080/api/v3/bots/chat/completions' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "doubao-seed-2-1-pro-260915",
"messages": [
{
"role": "user",
"content": "https://www.toutiao.com/ 这个网站讲了什么"
}
]
}'
返回结果预览:
{
"error": null,
"id": "0217***",
"choices": [
{
"finish_reason": "stop",
"moderation_hit_type": null,
"index": 0,
"logprobs": null,
"message": {
"content": "\\n用户想获取网站内容,调用LinkReader/LinkReader函数获取信息。这是今日头条的网页信息,包含了多个热点事件和人物故事的讨论:\\n- **政策与建议**:全国人大代表李镇西建议将寒假设为法定节假日;\\n- **财经与商业**:多家企业发布动态,如巴菲特旗下伯克希尔·哈撒韦公司市值蒸发、苹果股价创新高、欧洲央行降息等;《哪吒2》票房突破146亿元。\\n- **科技与航空**:直捣“星链”第八次试飞现场,“悟空号”成功再现,但二级火箭失联;马斯克欲发射飞船接人,却遭美国宇航局拒绝。\\n- **人物故事**:介绍了超级富豪马斯克,虽身价高昂,但他自称像普通打工仔,成长经历坎坷,母亲梅耶·马斯克给予其重要支持;梅耶·马斯克一生传奇,48岁重新学习考试,60岁回归T台,69岁登上美国时代广场,她的自传《人生由我》鼓励人们积极面对生活。 ",
"role": "assistant",
"function_call": null,
"tool_calls": null,
"audio": null,
"reasoning_content": null
}
}
],
"created": 1741840746,
"model": "doubao-seed-2-1-pro-260915",
"object": "chat.completion",
"usage": {
"completion_tokens": 340,
"prompt_tokens": 13116,
"total_tokens": 13456,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 0
}
},
"bot_usage": null,
"metadata": null
}