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

终极方案!lightRag/graphRag离线使用tiktoken持续报错SSLError,不改源码,彻底解决!

在lightRag和GraphRag中,build rag对象时,在离线环境下,tiktoken 一直报错,需要获取

https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken 这个资源,

看了很多帖子,要么存在误导,要么就是改源码,非常不友好!

我的解决思路如下:

首先

```非联网状态下,运行下面代码报错:

import os

import tiktoken

encoding = tiktoken.get_encoding("o200k_base")

```

报错:SSLError: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/o200k_base.tiktoken (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:992)'))) 

需要获取的资源为 https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken  

那么浏览器打开,直接手动获取这个文件('o200k_base.tiktoken')。

然后,重要!!重要!!!重要!!! 

```

import hashlib

blobpath = "https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken"

cache_key = hashlib.sha1(blobpath.encode()).hexdigest()

print(cache_key)

# 输出 fb374d419588a4632f3f557e76b4b70aebbca790

``` 

然后配置一个本地tiktoken的缓存文件夹 如: /home/user/tiktoken

将手动获取的文件o200k_base.tiktoken复制到 /home/user/tiktoken 目录下,在该目录下,将o200k_base.tiktoken直接重命名为fb374d419588a4632f3f557e76b4b70aebbca790 

然后设置环境变量TIKTOKEN_CACHE_DIR:

os.environ["TIKTOKEN_CACHE_DIR"] = '/home/user/tiktoken'

执行以下代码不再出错

```

import os

import tiktoken

os.environ["TIKTOKEN_CACHE_DIR"] = '/home/user/tiktoken'

encoding = tiktoken.get_encoding("o200k_base")

```

补充:

#如果是 cl100k_base.tiktoken 的情形;

blobpath = "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken"

cache_key = hashlib.sha1(blobpath.encode()).hexdigest()

print(cache_key)

# 输出 9b5ad71b2ce5302211f9c61530b329a4922fc6a4

将cl100k_base.tiktoken文件重命名为9b5ad71b2ce5302211f9c61530b329a4922fc6a4 即可。

http://www.lryc.cn/news/624714.html

相关文章:

  • 海洋牧场邂逅海洋旅游:碰撞出新业态的璀璨火花
  • 北斗安心联车辆管理系统优势分析
  • 飞机起落架轮轴深孔中间段电解扩孔内轮廓检测 - 激光频率梳 3D 轮廓检测
  • Conda技巧:修改Conda环境目录,节省系统盘空间
  • 【每天学点‘音视频’】前向纠错 和 漏包重传
  • vue从入门到精通:搭建第一个vue项目
  • 表格内容对比及标记
  • PLC无线组网实现多台RGV搬运机器人输送系统通讯案例
  • SSM从入门到实战:1.4 Spring Bean的生命周期管理
  • 【STM32】STM32H750 CubeMX 配置 USB CDC 虚拟串口笔记
  • ThinkPHP的安装运行和调试
  • MCP协议演进:从SSE到Streamable HTTP的技术革命
  • SAP ABAP IS SUPPLIED
  • 【语法糖】什么是语法糖
  • Java+Vue构建资产设备管理系统,适配移动端与后台管理,实现全生命周期管理,涵盖采购、入库、使用、维护、报废等环节,提供完整源码,便于二次开发
  • 快速搭建项目(若依)
  • CentOS 7 LAMP快速部署WordPress指南
  • linux中的hostpath卷、nfs卷以及静态持久卷的区别
  • python+flask后端开发~项目实战 | 博客问答项目--数据库信息的基本配置与UserModel的创建,映射,关联
  • 【MySQL】超详细入门学习
  • Linux 系统(如 Ubuntu / CentOS)阿里云虚拟机(ECS)上部署 Bitnami LAMP
  • 【Python】Python Socket 网络编程详解:从基础到实践​
  • 云原生俱乐部-mysql知识点归纳(1)
  • 【前端面试题】JavaScript 核心知识点解析(第十四题解析到第二十二题)
  • 【牛客刷题】正六边形阴影面积计算
  • FastRTSP介绍
  • 微电网管控系统中python多线程缓存与SQLite多数据库文件连接池实践总结(含源码)
  • 多台服务器批量发布arcgisserver服务并缓存切片
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频内容理解与智能预警升级(401)
  • Python入门Day18:模块与包(module package)