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

广州品牌网站设计开发用自己的网站做淘客

广州品牌网站设计开发,用自己的网站做淘客,企业微信怎么申请,金泉网做网站推广本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。一、LangChain搜索工具实战:集成DuckDuckGo实现实时信息查询 核心场景:解决大模型知识滞后问题,通过搜索引擎获取实…
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。

一、LangChain搜索工具实战:集成DuckDuckGo实现实时信息查询

核心场景:解决大模型知识滞后问题,通过搜索引擎获取实时信息

1.1 基础集成方案

from langchain_community.tools import DuckDuckGoSearchRun
# 初始化搜索工具
search = DuckDuckGoSearchRun()
result = search.invoke("OpenAI 2025年最新模型发布计划")
print(result)  # 返回简洁文本摘要

1.2 高级配置(含元数据过滤)

from langchain_community.utilities import DuckDuckGoSearchAPIWrapper
# 定制化搜索参数
wrapper = DuckDuckGoSearchAPIWrapper(region="zh-cn",          # 中文结果max_results=3,           # 限制结果数time="y"                 # 最近一年信息
)
search = DuckDuckGoSearchResults(api_wrapper=wrapper)
result = search.invoke("量子计算机最新突破")
print(result[0]['title'], result[0]['link'])  # 输出标题和链接

1.3 代理解决访问限制

# 通过代理API提升稳定性:cite[1]
proxy_wrapper = DuckDuckGoSearchAPIWrapper(api_endpoint="http://your-proxy-domain.com",  # 自建代理服务max_results=5
)

避坑指南:公共API存在频率限制,建议使用代理或自建网关服务

二、Langchain本地搜索:SearxNG+Agent实战

核心价值:开源、去中心化的搜索引擎,保护隐私且可定制搜索源

2.1 自建SearxNG服务(关键配置)

# settings.yml 启用JSON输出:cite[8]
search:formats:- html- json  # 必须启用API格式

2.2 LangChain集成方案

from langchain_community.utilities import SearxSearchWrapper
# 连接自建实例
searx = SearxSearchWrapper(searx_host="http://localhost:8888")
results = searx.run("Llama3微调教程", engines=["github"])
# 作为Agent工具使用:cite[2]
tools = load_tools(["searx-search"], searx_host="http://localhost:8888")
agent = initialize_agent(tools, llm, agent="structured-chat-react")

2.3 多引擎分流策略

# 创建专用工具链:cite[8]
github_tool = SearxSearchResults(name="Github_Search", wrapper=wrapper, kwargs={"engines": ["github"]}
)
arxiv_tool = SearxSearchResults(name="Arxiv_Search",wrapper=wrapper,kwargs={"engines": ["arxiv"]}
)

三、RAG数据工程起点:文档加载与结构化准备

核心挑战:PDF/Word/HTML等格式的差异化解构

3.1 多格式文档加载

from langchain_community.document_loaders import (PyPDFLoader, Docx2txtLoader,UnstructuredHTMLLoader
)
# PDF解析(保留布局)
pdf_loader = PyPDFLoader("report.pdf")
pdf_pages = pdf_loader.load_and_split()
# Word解析(过滤样式噪声)
docx_loader = Docx2txtLoader("manual.docx")
text = docx_loader.load()[0].page_content
# HTML解析(动态渲染)
html_loader = UnstructuredHTMLLoader("page.html", bs_kwargs={"features": "lxml"}
)

3.2 高级表格提取技巧

import pdfplumber
# 提取PDF表格:cite[3]
with pdfplumber.open("financial.pdf") as pdf:page = pdf.pages[0]table = page.extract_table()for row in table:print(row[0], row[1])  # 输出单元格数据

四、RAG数据工程核心:文本切分

前沿技术:Meta-Chunking动态分块策略

4.1 传统分块方法痛点

  • 固定长度切割破坏句子完整性
  • 语义边界识别不准(如代词跨块指代)

4.2 动态分块解决方案

from langchain_experimental.text_splitter import SemanticChunker
from langchain_community.embeddings import HuggingFaceEmbeddings
# 基于语义相似度的动态分块
splitter = SemanticChunker(HuggingFaceEmbeddings(model_name="BAAI/bge-base-zh"),breakpoint_threshold=0.5  # 相似度低于阈值时切分
)
chunks = splitter.split_text(long_document)

4.3 Late Chunking技术(解决代词问题)

原理:先整文档向量化 → 再按需分块 → 避免上下文丢失
效果:代词召回率提升25%(如“它”正确指向“柏林”)

五、RAG向量数据库实战:初始化+写入与查询

架构图:

5.1 ChromaDB快速入门

import chromadb
from chromadb.utils.embedding_functions import OpenAIEmbeddingFunction
# 初始化客户端
client = chromadb.PersistentClient(path="./vector_db")
collection = client.create_collection(name="tech_docs",embedding_function=OpenAIEmbeddingFunction()
)
# 写入数据
collection.add(documents=["量子计算原理...", "区块链技术..."],metadatas=[{"source": "doc1"}, {"source": "doc2"}],ids=["id1", "id2"]
)
# 相似查询
results = collection.query(query_texts=["量子比特的物理实现"],n_results=2
)

5.2 生产级优化方案

  1. 混合索引:HNSW + 量化压缩(减少40%内存占用)
  2. 元数据过滤:where={"date": {"$gte": "2024-01-01"}}
  3. 多向量支持:为同一文档存储摘要/关键词/正文向量

六、RAG全流程实战:从文档到问答闭环

完整架构图:

6.1 代码实现(LangChain链式集成)

from langchain_core.runnables import RunnablePassthrough
from langchain_core.output_parsers import StrOutputParser
# 构建混合检索链
retriever = vector_db.as_retriever(search_kwargs={"k": 3})
qa_chain = ({"context": lambda x: format_results(retriever.invoke(x["query"]),"question": RunnablePassthrough()}| prompt| ChatOpenAI(model="gpt-4o")| StrOutputParser()
)
# 动态路由:根据问题类型选择来源
def route_query(input):if "最新" in input["query"] or "2025" in input["query"]:return search_tool.invoke(input["query"])else:return retriever.invoke(input["query"])

6.2 性能优化关键指标

完整代码库可参考我为大家整理的飞书文档:

LangChain-Chatchat

更多AI大模型应用开发学习视频内容和资料,尽在聚客AI学院。

http://www.dtcms.com/wzjs/583113.html

相关文章:

  • 网站搜索怎么做的网站建设公司宣传
  • 网站建设网站优化动画制作软件flash
  • 淘宝客网站怎么做推广屏蔽wordpress头像
  • 怎么做qq可信任网站做甲方去哪个网站应聘
  • 行业网站建设费用八上数学优化设计答案
  • 双鸭山住房和城乡建设局网站网站该怎么找
  • 网站百度收录秒收方法wordpress 百度编辑器
  • 网站添加js广告位iis关闭网站
  • 做免费小说网站怎样赚钱内网门户网站建设方案
  • 档案门户网站建设方案网站备案 个人 单位
  • 手机网站建设推广软文wordpress配合七牛云
  • h5 php mysql网站开发东莞网页制作网站
  • 大型的网站建设公司温州网站建设平台
  • 网站策划的内容包含了什么?网站制作完成后为了
  • 织梦手机网站有广告域名ip
  • 上街免费网站建设键词优化排名
  • 购物类网站建设方案网站制作课程多少钱
  • win7网站服务器制作软件国外网站推广平台有哪些?
  • 好创意网站有哪些方面dedecms 英文网站
  • wordpress搭建网站网络策划人
  • 国家开发银行生源地助学贷款网站免注册个人网站制作
  • 设计常用网站网站开发推荐英文字体
  • seo排行榜年度10佳网站wordpress 做大网站
  • 鲅鱼圈规划建设局网站wordpress怎么做网页
  • 广西网站建设费用去哪里投诉百度公司
  • 怎么让百度蜘蛛围着网站爬取seo全网图文推广
  • 网站建设项目需求成都海鸥手表网站
  • 网站的基本概念石家庄net网站开发
  • 广东省建设厅官方网站多少钱火星时代教育培训机构官网
  • 建设网站托管费用百安居装修官网