暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

引爆知识革命!Easysearch 携手 DeepSeek 打造下一代智能问答系统

原创 极限实验室 2025-02-17
229

去年我们尝试过使用 Easysearch + 千问 2 大模型打造一个企业内部知识问答系统,今年又有更加给力的大模型出现了–DeepSeek,性能对标 OpenAI o1 正式版。而且 Easysearch 对比去年也有了不少进步,是时候让我们升级下问答系统了。

DeepSeek

2025 年 1 月 20 日,人工智能领域迎来里程碑式突破!深度求索(DeepSeek)正式发布新一代推理大模型 DeepSeek-R1,不仅实现与 OpenAI 最新 o1 正式版的性能对标,更以全栈开放的生态布局引发行业震动。DeepSeek-R1 是首个遵循 MIT License 开源协议的高性能推理模型,完全开源,不限制商用,无需申请,极大地推动了 AI 技术的开放与共享。

下载模型

我们使用 ollama 下载运行 DeepSeek-R1,根据本地资源情况选择一个大小合适的版本:8b。

  • 8b 蒸馏模型源自 Llama3.1-8B-Base
  • 7b 蒸馏模型源自 Qwen-2.5 系列

这两个可能是个人用户使用最多的选择,大家资源充足的可以都下载下来对比下效果。

由于是升级,我们只需在原有程序基础上替换新版本的 Easysearch 和集成 DeepSeek 即可,Easysearch 升级成新版本 1.10.1,程序框架和 embedding 模型 (mxbai-embed-large:latest) 仍然保持不变。

数据准备

跟上次一样,使用 “INFINI 产品安装手册.PDF” 作为知识内容,通过程序将文档内容切片、转换成向量后写入 Easysearch 存储,然后结合大模型对其中的内容进行提问。

程序调整

程序代码需要调整 LLM 为 deepseek-r1:8b。另外本地主机资源有限,为节约时间,取消上个版本的用户问题改写功能(注释部分)。定义新的 retriever 和 qa_chain 直接将用户问题和 context 信息发送给大模型。

# # 实例化一个大模型工具 from langchain_community.chat_models import ChatOllama llm = ChatOllama(model="deepseek-r1:8b") # from langchain.prompts import PromptTemplate # my_template = PromptTemplate( # input_variables=["question"], # template="""You are an AI language model assistant. Your task is # to generate 3 different versions of the given user # question in Chinese to retrieve relevant documents from a vector database. # By generating multiple perspectives on the user question, # your goal is to help the user overcome some of the limitations # of distance-based similarity search. Provide these alternative # questions separated by newlines. Original question: {question}""", # ) # 实例化一个MultiQueryRetriever # retriever_from_llm = MultiQueryRetriever.from_llm( # retriever=docsearch.as_retriever(), # llm=llm, # prompt=my_template, # include_original=True) retriever = docsearch.as_retriever() # 实例化一个RetrievalQA链 qa_chain = RetrievalQA.from_chain_type(llm, retriever=retriever)

至此程序修改已经完成,原程序算上注释也不过 100 来行,大家感兴趣的可以去查看原博客

效果测试

模拟用户提问:网关运行后监听哪个端口。

系统回答如下。

在回答中,可以看到 DeepSeek 的"思考"过程,另外回答结果也非常正确,文档中原文还是用的英语 INFINI Gateway 表示网关。

模拟用户提问:LOGGING_ES_ENDPOINT 有什么用。

系统回答如下。

文档原文内容如下。

好了,我对 DeepSeek 的表现很满意,至此知识问答系统就升级完了。

如有任何问题,请随时联系我,期待与您交流!

最后修改时间:2025-02-17 09:39:13
文章转载自极限实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论