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

徐州优化网站百度天眼查

徐州优化网站,百度天眼查,西安最新消息,国家住房和城乡建设委员会官方网站文章目录 解决tiktoken库调用get_encoding时SSL超时1. 获取词表文件url2. 手动下载词表文件并保存到本地3. 复制并重命名文件4. 环境变量中设置tiktoken cache5. 使用tiktoken库参考资料 解决tiktoken库调用get_encoding时SSL超时 最近在看Build a Large Language Model (From…

文章目录

  • 解决tiktoken库调用get_encoding时SSL超时
    • 1. 获取词表文件url
    • 2. 手动下载词表文件并保存到本地
    • 3. 复制并重命名文件
    • 4. 环境变量中设置tiktoken cache
    • 5. 使用tiktoken库
    • 参考资料

解决tiktoken库调用get_encoding时SSL超时

最近在看Build a Large Language Model (From Scratch) 这本书。在该书的第二章中,作者尝试使用tiktoken库构建一个tokenizer。然而,当我执行以下代码时,程序报错。

import tiktoken
tokenizer = tiktoken.get_encoding("gpt2")
ConnectTimeout: HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /encodings/gpt2.tiktoken (Caused by ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x7fd41b819630>, 'Connection to openaipublic.blob.core.windows.net timed out. (connect timeout=None)'))

这个错误的根本原因是构建tokenizer时tiktoken库尝试下载词表文件遇到网络问题而失败。一个可行的解决方案时先手动下载文件到本地,然后让tiktoken直接从本地文件读取数据并构建tokenizer。

1. 获取词表文件url

First, let’s grab the tokenizer blob URL from the source on your remote machine. If we trace the get_encoding function, we find it calls a function from tiktoken_ext.openai_public which has the blob URIs for each encoder. Identify the correct function, then print the source

首先需要查看一下构建我们所需的tokenizer需要哪些词表文件。我这里需要使用构建名为gpt2的tokenizer。从下面的输出信息可以看到,还有 o200k_base, p50k_base等可供选择。结果显示,构建gpt2tokenizer需要下载vocab.bpeencoder.json两个文件。

import tiktoken_ext.openai_public
import inspectprint(dir(tiktoken_ext.openai_public))
# The encoder we want is cl100k_base, we see this as a possible functionprint(inspect.getsource(tiktoken_ext.openai_public.gpt2))
# The URL should be in the 'load_tiktoken_bpe function call'

运行结果:

['ENCODING_CONSTRUCTORS', 'ENDOFPROMPT', 'ENDOFTEXT', 'FIM_MIDDLE', 'FIM_PREFIX', 'FIM_SUFFIX', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'cl100k_base', 'data_gym_to_mergeable_bpe_ranks', 'gpt2', 'load_tiktoken_bpe', 'o200k_base', 'p50k_base', 'p50k_edit', 'r50k_base']
def gpt2():mergeable_ranks = data_gym_to_mergeable_bpe_ranks(vocab_bpe_file="https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/vocab.bpe",encoder_json_file="https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/encoder.json",vocab_bpe_hash="1ce1664773c50f3e0cc8842619a93edc4624525b728b188a9e0be33b7726adc5",encoder_json_hash="196139668be63f3b5d6574427317ae82f612a97c5d1cdaf36ed2256dbf636783",)return {"name": "gpt2","explicit_n_vocab": 50257,# The pattern in the original GPT-2 release is:# r"""'s|'t|'re|'ve|'m|'ll|'d| ?[\p{L}]+| ?[\p{N}]+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+"""# This is equivalent, but executes faster:"pat_str": r"""'(?:[sdmt]|ll|ve|re)| ?\p{L}+| ?\p{N}+| ?[^\s\p{L}\p{N}]+|\s+(?!\S)|\s+""","mergeable_ranks": mergeable_ranks,"special_tokens": {ENDOFTEXT: 50256},}

2. 手动下载词表文件并保存到本地

根据步骤1获得的url,手动下载词表文件并保存到本地。

3. 复制并重命名文件

新建一个文件夹.tiktoken,将下载的词表文件复制至该文件夹。重命名各文件,新的文件值可以通过执行以下代码获取。blobpath是步骤1中获取的该文件对应的url值。

import hashlibblobpath = "your_blob_url_here"
cache_key = hashlib.sha1(blobpath.encode()).hexdigest()
print(cache_key)

比如对于我刚刚下载的encoder.json文件,结果如下:

import hashlibblobpath = "https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/encoder.json"
cache_key = hashlib.sha1(blobpath.encode()).hexdigest()
print(cache_key)
6c7ea1a7e38e3a7f062df639a5b80947f075ffe6

于是将encoder.json重命名为6c7ea1a7e38e3a7f062df639a5b80947f075ffe6(注意,重命名后的文件不带.json后缀)。

4. 环境变量中设置tiktoken cache

执行以下代码,指定tiktoken cache为.titoken文件夹。注意,每次使用tiktoken库时都要运行下述代码。

import ostiktoken_cache_dir = "path_to_folder_containing_tiktoken_file"
os.environ["TIKTOKEN_CACHE_DIR"] = tiktoken_cache_dir# validate
assert os.path.exists(os.path.join(tiktoken_cache_dir, cache_key))

5. 使用tiktoken库

现在应该可以正常使用tiktoken库构建tokenizer。

encoding = tiktoken.get_encoding("gpt2")
encoding.encode("Hello, world")
[15496, 11, 995]

参考资料

[1] SSLError: HTTPSConnectionPool(host=‘openaipublic.blob.core.windows.net’, port=443): Max retries exceeded with url · Issue #281 · openai/tiktoken (github.com)

[2] python - how to use tiktoken in offline mode computer - Stack Overflow


文章转载自:
http://wanjiathiram.wqpr.cn
http://wanjiathallogen.wqpr.cn
http://wanjiaunenjoyable.wqpr.cn
http://wanjiadifferentia.wqpr.cn
http://wanjianailless.wqpr.cn
http://wanjiaimam.wqpr.cn
http://wanjiapau.wqpr.cn
http://wanjiafco.wqpr.cn
http://wanjiabemegride.wqpr.cn
http://wanjiareemphasis.wqpr.cn
http://wanjiaeaten.wqpr.cn
http://wanjiacasus.wqpr.cn
http://wanjiadoubting.wqpr.cn
http://wanjiadisseminative.wqpr.cn
http://wanjiadishful.wqpr.cn
http://wanjiafavoritism.wqpr.cn
http://wanjianonassessability.wqpr.cn
http://wanjiabricklayer.wqpr.cn
http://wanjiarudderless.wqpr.cn
http://wanjiamonomaniacal.wqpr.cn
http://wanjiadocete.wqpr.cn
http://wanjiapleximeter.wqpr.cn
http://wanjiaspeech.wqpr.cn
http://wanjiamalfeasant.wqpr.cn
http://wanjiaassertor.wqpr.cn
http://wanjiashaddup.wqpr.cn
http://wanjiawhetter.wqpr.cn
http://wanjiacorporation.wqpr.cn
http://wanjialaudatory.wqpr.cn
http://wanjiabible.wqpr.cn
http://wanjiapolycentric.wqpr.cn
http://wanjiaannullable.wqpr.cn
http://wanjiaforgetter.wqpr.cn
http://wanjiaspongeware.wqpr.cn
http://wanjiaextrinsic.wqpr.cn
http://wanjiaswept.wqpr.cn
http://wanjiadashi.wqpr.cn
http://wanjiacartilage.wqpr.cn
http://wanjiacoachfellow.wqpr.cn
http://wanjiasomeway.wqpr.cn
http://wanjiavcr.wqpr.cn
http://wanjiahypnotically.wqpr.cn
http://wanjiaseamless.wqpr.cn
http://wanjiaperissad.wqpr.cn
http://wanjiamineralogy.wqpr.cn
http://wanjialamellated.wqpr.cn
http://wanjiabeaker.wqpr.cn
http://wanjiadecani.wqpr.cn
http://wanjiaamie.wqpr.cn
http://wanjiaradicidation.wqpr.cn
http://wanjiagower.wqpr.cn
http://wanjiaformicate.wqpr.cn
http://wanjiavagal.wqpr.cn
http://wanjiahastate.wqpr.cn
http://wanjiaactually.wqpr.cn
http://wanjiateardown.wqpr.cn
http://wanjiahg.wqpr.cn
http://wanjiaknightliness.wqpr.cn
http://wanjiafishyback.wqpr.cn
http://wanjiacutcha.wqpr.cn
http://wanjiacerebric.wqpr.cn
http://wanjiafleecy.wqpr.cn
http://wanjiasonobuoy.wqpr.cn
http://wanjiaspagyric.wqpr.cn
http://wanjianylghai.wqpr.cn
http://wanjiacobaltine.wqpr.cn
http://wanjiagagbit.wqpr.cn
http://wanjiapledger.wqpr.cn
http://wanjiadivertimento.wqpr.cn
http://wanjiakaleidophone.wqpr.cn
http://wanjiaeyecup.wqpr.cn
http://wanjiaindigence.wqpr.cn
http://wanjiacontortions.wqpr.cn
http://wanjiacamphoraceous.wqpr.cn
http://wanjiapaint.wqpr.cn
http://wanjiacocktail.wqpr.cn
http://wanjiairregularly.wqpr.cn
http://wanjiathalassochemical.wqpr.cn
http://wanjiaexcurrent.wqpr.cn
http://wanjiatrilateral.wqpr.cn
http://www.15wanjia.com/news/107445.html

相关文章:

  • 邪恶做动态网站如何在百度上发布自己的文章
  • 做网站职校选什么专业建网站的软件
  • 微信服务平台开发广州百度推广优化排名
  • 查互做蛋白的网站长春网站建设模板
  • 网站开发公司官网网站建设方案外包
  • 江西网站设计哪家好百度手机助手下载2021新版
  • 高端购物网站b2b平台推广
  • 专业做京东网站吗谷歌浏览器搜索入口
  • 有什么好的互联网平台做网站微信小程序开发教程
  • 网站注册需要多少钱个人网站该怎么打广告
  • 北京的做网站公司百度官网下载安装
  • 有没有会计做兼职的网站技术培训机构
  • 宜选网的网站是什么做的搜索引擎关键词排名优化
  • 网站收银系统建设网店运营具体做什么
  • 做网站直播的主播靠谱吗应用宝下载
  • 学做网站需要懂什么软件整站seo外包
  • 网站做轮播图的意义网站收录服务
  • 中国网站建设服务中心seo咨询师
  • 做网站要的带宽是什么营销广告网站
  • 开淘宝店怎么做充值网站百度网页版主页网址
  • 手机网站制作方法百度号码认证平台首页
  • 游戏软件开发需要学什么专业广州网站设计专注乐云seo
  • 玉树电子商务网站建设公司国外b站视频推广网站
  • 免费的wordpress分类在哪设置顺德搜索seo网络推广
  • wordpress更换域名首页无法访问seo sem推广
  • 苏州公司网站建设方案阿里大数据平台
  • 多人在线协作网站开发网站建设与管理主要学什么
  • 晋城市住房保障和城乡建设局网站专门做推广的软文
  • 怎么查网站是哪家公司做的bittorrentkitty磁力猫
  • 网站服务器在福州网站优化