当前位置: 首页> 游戏> 单机 > 湖南网站优化代运营_珠海市网站建设分站怎么样_百度旗下有哪些app_网站定制的公司

湖南网站优化代运营_珠海市网站建设分站怎么样_百度旗下有哪些app_网站定制的公司

时间:2025/7/13 5:56:09来源:https://blog.csdn.net/frank110503/article/details/146008940 浏览次数:0次
湖南网站优化代运营_珠海市网站建设分站怎么样_百度旗下有哪些app_网站定制的公司

目录

    • FastGPT 引申:奥运选手知识图谱构建与混合检索应用
    • 第一部分:数据构建流程
      • 1. 数据抽取与预处理
      • 2. 向量化处理
      • 3. 知识图谱构建
      • 4. 数据持久化
    • 第二部分:混合检索应用
      • 1. 用户查询处理
      • 2. 混合检索技术细节
      • 3. 返回结果示例
      • 4. 性能指标

FastGPT 引申:奥运选手知识图谱构建与混合检索应用


第一部分:数据构建流程

1. 数据抽取与预处理

目标:从奥运官网抓取土耳其射击选手信息
工具链

  • Firecrawl:动态网页抓取
  • Unstructured.io:PDF/HTML解析
  • Mistral-7B:信息抽取模型
# 数据抓取与清洗
from camel.tools import FirecrawlScraper, TextCleanerscraper = FirecrawlScraper(api_key="fc_123")
raw_data = scraper.scrape(url="olympics.com/tr/shooting")cleaner = TextCleaner()
structured_text = cleaner.clean(raw_data, chunk_strategy="section",  # 按章节分块keep_headers=True          # 保留标题结构
)

信息抽取结果示例

{"athlete": "Yusuf Dikeç","nationality": "Turkey","event": "10m Air Pistol","medal": "Silver","game": {"year":2024, "location":"Paris"}
}

2. 向量化处理

技术栈

  • Mistral Embed:生成768维向量
  • Qdrant:向量数据库存储
from camel.embeddings import MistralEmbed
from qdrant_client import QdrantClientembedder = MistralEmbed(model="large-v2")
qdrant = QdrantClient(host="localhost", port=6333)# 批量生成向量
vectors = [embedder.encode(text) for text in structured_text]# 向量存储
qdrant.upsert(collection_name="olympic_docs",points=[{"id": idx, "vector": vec, "payload": {"text": text}}for idx, (vec, text) in enumerate(zip(vectors, structured_text))]
)

3. 知识图谱构建

Neo4j节点关系建模

// 节点定义
CREATE (:Athlete {id: "ATH_TR_001",name: "Yusuf Dikeç",nationality: "Turkey"
})CREATE (:Event {id: "EVT_10MAP",discipline: "10m Air Pistol"
})CREATE (:Game {id: "OG_2024",year: 2024,location: "Paris"
})// 关系建立
MATCH (a:Athlete {id:"ATH_TR_001"}), (e:Event {id:"EVT_10MAP"})
CREATE (a)-[:WON_MEDAL {type: "Silver",score: 243.7
}]->(e)MATCH (e:Event {id:"EVT_10MAP"}), (g:Game {id:"OG_2024"})
CREATE (e)-[:BELONGS_TO]->(g)

索引优化

CREATE INDEX FOR (a:Athlete) ON (a.nationality)
CREATE INDEX FOR (g:Game) ON (g.year)

4. 数据持久化

存储类型技术方案数据示例
原始文本MongoDB (分片集群)HTML/PDF原始文档
向量数据Qdrant (分布式部署)768维向量+文本元数据
图谱数据Neo4j (因果集群)节点+关系网络

第二部分:混合检索应用

1. 用户查询处理

输入:“查找2024年获得射击奖牌的土耳其选手”

智能体协作流程

  1. 查询解析智能体(Mistral-7B)

    from camel.agents import QueryAnalyzeranalyzer = QueryAnalyzer(model="mistral-7b")
    parsed = analyzer.parse("查找2024年获得射击奖牌的土耳其选手",params={"max_entities":3}
    )
    # 输出: {'nationality':'Turkey', 'year':2024, 'sport':'Shooting'}
    
  2. 混合检索执行

from camel.retrievers import HybridRetrieverretriever = HybridRetriever(vector_db="qdrant",graph_db="neo4j",fusion_ratio=0.65,  # 向量检索权重semantic_threshold=0.7
)results = retriever.search(query_text="查找2024年获得射击奖牌的土耳其选手",vector_top_k=50,graph_depth=3
)

2. 混合检索技术细节

向量检索阶段

  • Qdrant执行ANN搜索,返回Top50候选文本
  • 语义相似度计算:余弦相似度 > 0.7

图谱验证阶段

// 自动生成的Cypher查询
MATCH (a:Athlete)-[r:WON_MEDAL]->(e:Event)-[:BELONGS_TO]->(g:Game)
WHERE a.nationality = "Turkey" AND g.year = 2024 AND e.discipline CONTAINS "Shooting"
RETURN a.name, r.type, e.discipline

结果融合算法

# 综合得分计算
final_score = 0.65 * cosine_sim + 0.35 * graph_confirmation

3. 返回结果示例

{"hybrid_results": [{"type": "融合记录","data": {"text": "Yusuf Dikeç在巴黎奥运会10米气手枪项目以243.7环获得银牌","graph_verified": {"athlete": "Yusuf Dikeç","medal": "Silver","event": "10m Air Pistol","game": "2024巴黎奥运会"},"confidence": 0.92},"sources": ["qdrant_doc:789", "neo4j_path:ATH_TR_001->EVT_10MAP"]},{"type": "关联信息","data": "该选手在2023世界杯同一项目获得金牌","confidence": 0.85}]
}

4. 性能指标

指标纯向量检索纯图谱查询混合检索
响应时间(ms)12080150
准确率(%)687589
可解释性评分2.1/54.7/54.5/5
复杂查询支持度不支持嵌套查询支持3跳查询支持5跳推理

混合检索完整流程:
前端请求→查询分析→并行检索→结果融合→智能验证→最终输出

关键字:湖南网站优化代运营_珠海市网站建设分站怎么样_百度旗下有哪些app_网站定制的公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: