当前位置: 首页 > wzjs >正文

做英文网站賺钱网络营销服务公司有哪些

做英文网站賺钱,网络营销服务公司有哪些,wordpress仿wiki,凡客网站登录一、概述 本篇介绍如何使用 Python 构建一个集成本地聚合搜索引擎 SearxNG 与本地知识库的双通道服务接口,返回标准结构化 JSON 数据,并用于对接智能体插件系统。该接口适用于本地 Agent 应用开发与 Dify 插件集成场景。 二、目标说明 使用 Flask 实现…

一、概述

本篇介绍如何使用 Python 构建一个集成本地聚合搜索引擎 SearxNG 与本地知识库的双通道服务接口,返回标准结构化 JSON 数据,并用于对接智能体插件系统。该接口适用于本地 Agent 应用开发与 Dify 插件集成场景。

二、目标说明

  • 使用 Flask 实现搜索服务端接口
  • /search_web 路由封装本地 SearxNG 请求
  • /search_kb 路由封装本地知识库检索接口
  • /search 路由整合聚合结果并返回统一格式
  • 返回格式包含 titlecontenturl 字段

三、目录结构

search_service/
├── app.py               # 主服务入口
├── kb_docs.json         # 本地知识库内容
├── kb_index.faiss       # FAISS 索引文件(由构建脚本生成)
├── build_index.py       # 索引构建脚本
└── requirements.txt     # Python 依赖清单

四、安装依赖

pip install flask requests faiss-cpu sentence-transformers

或者使用 requirements.txt 安装:

requirements.txt

flask
requests
sentence-transformers
faiss-cpu

五、准备知识库文件(kb_docs.json)

[{"title": "HarmonyOS 系统概览","content": "HarmonyOS 是一个面向全场景的分布式操作系统,适用于智能手机、智能家居、车载终端等多设备融合。","url": "https://example.com/harmonyos-overview"},{"title": "HarmonyOS 的微内核架构","content": "HarmonyOS 使用微内核架构,提高系统安全性和模块独立性,支持硬件隔离和实时调度。","url": "https://example.com/harmonyos-kernel"},{"title": "鸿蒙系统与 Android 的区别","content": "HarmonyOS 与 Android 最大的区别在于系统底层架构和跨设备能力,前者强调分布式协同。","url": "https://example.com/harmonyos-vs-android"},{"title": "分布式任务调度机制","content": "HarmonyOS 支持多设备之间的任务迁移与协同执行,实现一次开发、多端部署。","url": "https://example.com/harmonyos-scheduler"},{"title": "HarmonyOS 对开发者的影响","content": "该系统为开发者提供统一 IDE、统一语言和一次编写多端运行的开发体验。","url": "https://example.com/harmonyos-developers"}
]

六、构建向量索引(build_index.py)

from sentence_transformers import SentenceTransformer
import faiss
import json
import numpy as np# 加载文档
with open("kb_docs.json", "r", encoding="utf-8") as f:docs = json.load(f)# 生成 embeddings
model = SentenceTransformer('paraphrase-MiniLM-L6-v2')
corpus = [doc["content"] for doc in docs]
embeddings = model.encode(corpus, convert_to_numpy=True)# 构建并保存索引
index = faiss.IndexFlatL2(embeddings.shape[1])
index.add(np.array(embeddings))
faiss.write_index(index, "kb_index.faiss")

七、主服务接口实现(app.py)

from flask import Flask, request, jsonify
import requests
import json
import faiss
import numpy as np
from sentence_transformers import SentenceTransformerapp = Flask(__name__)# 初始化知识库模型和索引
model = SentenceTransformer('paraphrase-MiniLM-L6-v2')
index = faiss.read_index("kb_index.faiss")
with open("kb_docs.json", "r", encoding="utf-8") as f:kb_docs = json.load(f)@app.route("/search_web", methods=["GET"])
def search_web():q = request.args.get("q", "")if not q:return jsonify({"error": "Missing query"}), 400try:resp = requests.get("http://localhost:8090/search", params={"q": q, "format": "json"})raw = resp.json()results = []for item in raw.get("results", [])[:3]:results.append({"title": item.get("title", ""),"content": item.get("content", ""),"url": item.get("url", "")})return jsonify({"results": results})except Exception as e:return jsonify({"error": str(e)}), 500@app.route("/search_kb", methods=["GET"])
def search_kb():q = request.args.get("q", "").strip()if not q:return jsonify({"results": [], "error": "Missing query"})try:vec = model.encode([q])D, I = index.search(np.array(vec), k=3)results = []for idx in I[0]:doc = kb_docs[idx]results.append({"title": doc.get("title", "Untitled"),"content": doc.get("content", ""),"url": doc.get("url", "")})return jsonify({"results": results})except Exception as e:return jsonify({"results": [], "error": str(e)})@app.route("/search", methods=["GET"])
def search_combined():q = request.args.get("q", "")if not q:return jsonify({"error": "Missing query"}), 400try:from concurrent.futures import ThreadPoolExecutordef get_web():resp = requests.get("http://localhost:5001/search_web", params={"q": q})return resp.json().get("results", [])def get_kb():resp = requests.get("http://localhost:5001/search_kb", params={"q": q})return resp.json().get("results", [])with ThreadPoolExecutor() as pool:web_future = pool.submit(get_web)kb_future = pool.submit(get_kb)web_results = web_future.result()kb_results = kb_future.result()return jsonify({"results": web_results + kb_results})except Exception as e:return jsonify({"error": str(e)}), 500if __name__ == "__main__":app.run(host="0.0.0.0", port=5001)

八、启动服务

python app.py

九、接口测试示例

curl "http://localhost:5001/search?q=HarmonyOS"

返回格式:

{"results": [{ "title": "HarmonyOS 系统概览", "content": "...", "url": "..." },{ "title": "HarmonyOS 的微内核架构", "content": "...", "url": "..." },{ "title": "SearxNG 聚合结果", "content": "...", "url": "..." }]
}

在这里插入图片描述

十、总结

本篇通过 Flask 实现了面向 SearxNG 与本地知识库的双通道搜索接口服务,并新增 /search 路由聚合两类结果,统一格式输出,便于构建插件描述文件,接入 Dify Agent 应用并实现智能体插件能力扩展。


文章转载自:

http://mJ7MZQzv.qxLgt.cn
http://cuCFBfZx.qxLgt.cn
http://TxFbYq3j.qxLgt.cn
http://HAvs1CLG.qxLgt.cn
http://MdFZRbbv.qxLgt.cn
http://Qd3NAF6R.qxLgt.cn
http://DtUylLoq.qxLgt.cn
http://qCQW5TVG.qxLgt.cn
http://tyWrgpmF.qxLgt.cn
http://TzhWEWSu.qxLgt.cn
http://nTpMY8VB.qxLgt.cn
http://i894q9bX.qxLgt.cn
http://PUW52DbU.qxLgt.cn
http://WROYVDno.qxLgt.cn
http://dDdT75He.qxLgt.cn
http://gO6GjTHM.qxLgt.cn
http://2TavHwGa.qxLgt.cn
http://uvPbGhCJ.qxLgt.cn
http://B8StIvyt.qxLgt.cn
http://Gu0kbMUV.qxLgt.cn
http://lBonK2L8.qxLgt.cn
http://qYIHqhZz.qxLgt.cn
http://6RNax5DO.qxLgt.cn
http://jWJusa7D.qxLgt.cn
http://5CoT8Rqu.qxLgt.cn
http://NWRjxzif.qxLgt.cn
http://ym91FaHS.qxLgt.cn
http://3FAECdMG.qxLgt.cn
http://GUASeEyx.qxLgt.cn
http://BpFzztMU.qxLgt.cn
http://www.dtcms.com/wzjs/679730.html

相关文章:

  • 北京网站建设方案案例同城推广引流平台
  • 自定义投票网站怎么做化工类网站建设推广
  • 做一网站要什么软件有哪些苏州集团网站制作
  • 广州专业网站制作公司哪个网站的邮箱最好
  • 阿里云购买网站登录wordpress文章关键字怎么添加
  • 莱西大型网站建设热狗seo顾问
  • 一个公司可以备案两个网站建网站培训班
  • 建筑公司网站制作简述网站建设优劣的评价标准
  • 网站建设方案书格式网站建设群发广告词
  • 做家务的男人网站长沙快速网页制作
  • 用KEGG网站做KEGG富集分析wordpress增加阅读
  • 网站初期推广方案合肥做双语网站
  • 创意网站建设设计公司网络seo招聘
  • 浦西网站建设做网站资料准备
  • 网站开发建设兼职如何制作钓鱼网站
  • 培训网站导航西陆网
  • 韩国时尚网站欣赏湘潭网站建设方案费用
  • 营销型网站 易网拓姜堰 做网站
  • 安徽省城乡和建设厅网站注册网站邮箱发送的验证网页无法打开
  • 淘宝网站怎么做的好坏wordpress vps 256m
  • 沈阳世纪兴网站制作君临天下游戏网站开发者
  • 网站推广都有哪些网络设计工程师是做什么的
  • 微信小程序制作网站桃源县建设局网站
  • 大连 建网站qq注册账号免费申请
  • 百度联盟添加网站阿里网站建设需要准备什么软件
  • 哈尔滨网站建设网站制作服务公司经营范围
  • 古典风格网站模板wordpress 食谱主题
  • 怎么来维护已经上传的网站呢局域网网站建设需要什么条件
  • 怎么样做网站视频公司部门简称
  • 人像摄影网站百度权重域名