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

武汉网站建设S小蝌蚪互联深圳网站优化平台

武汉网站建设S小蝌蚪互联,深圳网站优化平台,个人网页框架模板,linux做网站方便吗概述 在历经半个月的间歇性开发后,RagflowPlus再次迎来一轮升级,正式发布v0.4.0。 开源地址:https://github.com/zstar1003/ragflow-plus 更新方法 下载仓库最新代码: git clone https://github.com/zstar1003/ragflow-plus.…

概述

在历经半个月的间歇性开发后,RagflowPlus再次迎来一轮升级,正式发布v0.4.0

开源地址:https://github.com/zstar1003/ragflow-plus

更新方法

下载仓库最新代码:

git clone https://github.com/zstar1003/ragflow-plus.git

使用docker启动:

# cpu模式
docker compose -f docker/docker-compose.yml up -d
# gpu模式
docker compose -f docker/docker-compose_gpu.yml up -d

首次启动会自动拉取最新版本镜像。

新功能

1. 上传文件支持文件夹

在此版本中,优化了上传文件,目前支持选择文件夹进行上传。

系统会自动识别,将该文件夹及其子文件夹中所有文件提取上传。

新增的选择文件夹按钮

同时,该版本重新调整了文件上传的请求通道,减少上传超时的可能性。

2. 文档撰写模式全新升级

此版本重点重构了文档撰写模块,目前在此版本中,支持自定义模板,可将当前文档内容保存为自定义名称的模板,并可对现有模板进行调整删除。

同时,文档撰写后端采用了独立的响应通道,不再需要依赖助理设置进行输出,响应速度大幅提升。

左下角增加配置选项,可以自由选择一个或多个知识库信息,同时可调节较为常用的三个搜索及模型参数。

考虑到过多的文档内容输入,有超过模型输入上限的风险。本版本对输入模型的文本范围进行重新优化,会自动选取光标位置上下文最多共4000个字符输入到问答模型中。

功能优化

1. 解析逻辑调整

本版本重新调整了解析逻辑,在解析时增加了和搜索一致的分词器,解决了上一版本中,做知识库检索时,关键词相似度为0的情况。

具体细节可参考本系列第24篇文章:【Ragflow】24.Ragflow-plus开发日志:增加分词逻辑,修复关键词检索失效问题

2. 知识库创建人权限问题

在上一版本中,知识库创建时,创建人选择非初始用户,问答时会出现报错。
本版本修复了这一问题。

3. excel解析优化

本版本对excel类型的文件采用了单独的解析管线,速度更快,效果更好。

具体细节可参考本系列第25篇文章:【Ragflow】25.Ragflow-plus开发日志:excel文件解析新思路/公式解析适配

4. Ollama解析接口调整

有群友提到(issue#65),使用ollama构建嵌入模型时,前台接口采用的是api/embeddings,而上版本后端接口采用的是v1/embeddings,不同的接口返回值不一致,会造成向量相似度计算偏差较大。

下面写了一个测试脚本,具体测试了一下这两种接口的具体调用结果:

import requests
import time# Ollama配置
OLLAMA_HOST = "http://localhost:11434"  # 默认Ollama地址
MODEL_NAME = "bge-m3"  # 使用的embedding模型
TEXT_TO_EMBED = "测试文本"# 定义接口URL和对应的请求体结构
ENDPOINTS = {"api/embeddings": {"url": f"{OLLAMA_HOST}/api/embeddings",  # 原生API路径"payload": {"model": MODEL_NAME, "prompt": TEXT_TO_EMBED},  # 原生API用prompt字段},"v1/embeddings": {"url": f"{OLLAMA_HOST}/v1/embeddings",  # OpenAI兼容API路径"payload": {"model": MODEL_NAME, "input": TEXT_TO_EMBED},  # OpenAI兼容API用input字段},
}headers = {"Content-Type": "application/json"}def test_endpoint(endpoint_name, endpoint_info):"""测试单个端点并返回结果"""print(f"\n测试接口: {endpoint_name}")url = endpoint_info["url"]payload = endpoint_info["payload"]try:start_time = time.time()response = requests.post(url, headers=headers, json=payload)response_time = time.time() - start_timeprint(f"状态码: {response.status_code}")print(f"响应时间: {response_time:.3f}秒")try:data = response.json()# 处理不同接口的响应结构差异embedding = Noneif endpoint_name == "api/embeddings":embedding = data.get("embedding")  # 原生API返回embedding字段elif endpoint_name == "v1/embeddings":embedding = data.get("data", [{}])[0].get("embedding")  # OpenAI兼容API返回data数组中的embeddingif embedding:print(f"Embedding向量长度: {len(embedding)}")return {"endpoint": endpoint_name,"status_code": response.status_code,"response_time": response_time,"embedding_length": len(embedding),"embedding": embedding[:5],}else:print("响应中未找到'embedding'字段")return {"endpoint": endpoint_name, "status_code": response.status_code, "error": "No embedding field in response"}except ValueError:print("响应不是有效的JSON格式")return {"endpoint": endpoint_name, "status_code": response.status_code, "error": "Invalid JSON response"}except Exception as e:print(f"请求失败: {str(e)}")return {"endpoint": endpoint_name, "error": str(e)}def compare_endpoints():"""比较两个端点的性能"""results = []print("=" * 50)print(f"开始比较Ollama的embeddings接口,使用模型: {MODEL_NAME}")print("=" * 50)for endpoint_name, endpoint_info in ENDPOINTS.items():results.append(test_endpoint(endpoint_name, endpoint_info))print("\n" + "=" * 50)print("比较结果摘要:")print("=" * 50)successful_results = [res for res in results if "embedding_length" in res]if len(successful_results) == 2:if successful_results[0]["embedding_length"] == successful_results[1]["embedding_length"]:print(f"两个接口返回的embedding维度相同: {successful_results[0]['embedding_length']}")else:print("两个接口返回的embedding维度不同:")for result in successful_results:print(f"- {result['endpoint']}: {result['embedding_length']}")print("\nEmbedding前5个元素示例:")for result in successful_results:print(f"- {result['endpoint']}: {result['embedding']}")faster = min(successful_results, key=lambda x: x["response_time"])slower = max(successful_results, key=lambda x: x["response_time"])print(f"\n更快的接口: {faster['endpoint']} ({faster['response_time']:.3f}秒 vs {slower['response_time']:.3f}秒)")else:print("至少有一个接口未返回有效的embedding数据")for result in results:if "error" in result:print(f"- {result['endpoint']} 错误: {result['error']}")if __name__ == "__main__":compare_endpoints()

输出结果如下:

Embedding前5个元素示例:
- api/embeddings: [-1.6793335676193237, 0.28421875834465027, -0.3738324046134949, -0.12534970045089722, 0.22841963171958923]
- v1/embeddings: [-0.0640459, 0.0108394455, -0.014257102, -0.004780547, 0.008711396]更快的接口: api/embeddings (0.078秒 vs 0.091)

结果显示,两个接口返回维度相同(均为1024),但结果的确存在差异,同时api/embeddings接口的速度更快。

因此,本版本在后台解析时,对于ollama模型,调用接口调整为api/embeddings,修复前后台不一致的问题。

杂项

1. 前台元素精简

此版本在前台移除Agent文件管理,语言仅保留简体中文繁体中文英语,界面更简介清晰。

2. 后端代码清理

实测发现,DeepWiki在解析代码时,会输出不少deepdoc代码的细节,版本对其进行进一步解耦清理。

3. 封面优化

对后台管理的界面图标和前台登陆页的封面进行更换。

下版本计划

下版本将继续围绕文件解析和交互进行优化,计划改进点如下:

1. 聊天文件上传

在聊天时,恢复原本的上传文件交互按钮,重构文件上传处理逻辑。

2. chunk关联图片修改

在前台知识库界面,优化chunk和图片的关联显示,并支持手动编辑调整关联图片信息。

3. 图片输出顺序优化

问答输出图片时,进一步支持图片在回答问题中进行显示,而不是全放到末尾。

4. 关键词显性显示

在知识库预览中,显性显示每一个chunk的自定义关键词。

5. 中翻英适配

ragflow最新版提供了一个中文翻译成英文,然后在知识库中进行检索的功能,但实现逻辑是通过聊天模型转换,效率较低,考虑使用更轻量的方式进行实现。

总结

最近听了好几小时刘强东的采访,当初,马云问刘强东:“四通一达这么便宜,你为什么不用呢?”

出于多种原因,京东走上了自建物流的道路。

RagflowPlus的发展道路也非常相似,当现有的功能实现不够好时,重构是必由选择。

掌控算法细节,才能透过表象觉察到底层的本质原因。

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

相关文章:

  • 软件供应商南京市网站seo整站优化
  • 北京哪家做网站优化百度投诉电话客服24小时
  • 政府网站 asp杭州seo平台
  • 网站建设广告网络营销做得比较好的企业
  • 初创公司网站设计苏州网图识别在线百度
  • 网站活动怎么做百度指数峰值查询
  • 小说网站建设源码推广公司有哪些公司
  • 贵阳市网站做的最好的疫情二十条优化措施
  • 慈溪做无痛同济&网站百度seo招聘
  • linux系统网站空间自助搭建平台
  • wordpress 外链插件郑州seo外包顾问
  • 兰州网站建设q.479185700棒谷歌优化怎么做
  • wordpress get author谈谈对seo的理解
  • 商城网站建设php网站维护工作内容
  • 南山网站建设多少钱新闻摘抄2022最新20篇
  • 怎么做网站的营销关键词如何确定
  • 做翻译 英文网站百度上怎么发布作品
  • 在郑州做网站网络营销推广方案策划书
  • 网站建设 保定社群营销怎么做
  • 青岛高端网站设计百度快速收录方法
  • 网站建设多少钱兴田德润放心新站快速收录
  • 网站平台建设招标书朋友圈广告怎么投放
  • 我国政府门户网站建设现状搜盘网
  • 华夏名网网站建设教程四川成都最新消息
  • 58招聘运营网站怎么做深圳网络推广公司哪家好
  • 如何查看网站的建设方式友情链接检测工具
  • 网站名称与主体性质不符网络运营怎么做
  • 百度合作推广网站排名优化怎样做
  • 做网站迅雷下载链接设置电商平台建设方案
  • 兴义市住房和城乡建设局网签网站淘数据