refactor(deps): 将jieba分词库替换为rjieba

This commit is contained in:
雅诺狐
2025-10-05 12:08:18 +08:00
parent 1a68365752
commit 413973979c
13 changed files with 85 additions and 29 deletions

4
.gitignore vendored
View File

@@ -231,8 +231,8 @@ cython_debug/
# PyPI configuration file # PyPI configuration file
.pypirc .pypirc
# jieba # rjieba
jieba.cache rjieba.cache
# .vscode # .vscode
!.vscode/settings.json !.vscode/settings.json

View File

@@ -21,7 +21,7 @@ dependencies = [
"google>=3.0.0", "google>=3.0.0",
"google-genai>=1.29.0", "google-genai>=1.29.0",
"httpx>=0.28.1", "httpx>=0.28.1",
"jieba>=0.42.1", "rjieba>=0.42.1",
"json-repair>=0.47.6", "json-repair>=0.47.6",
"json5>=0.12.1", "json5>=0.12.1",
"jsonlines>=4.0.0", "jsonlines>=4.0.0",
@@ -75,6 +75,7 @@ dependencies = [
"aiomysql>=0.2.0", "aiomysql>=0.2.0",
"aiosqlite>=0.21.0", "aiosqlite>=0.21.0",
"inkfox>=0.1.0", "inkfox>=0.1.0",
"rrjieba>=0.1.13",
] ]
[[tool.uv.index]] [[tool.uv.index]]

View File

@@ -90,7 +90,7 @@ idna==3.10
# yarl # yarl
igraph==0.11.9 igraph==0.11.9
# via python-igraph # via python-igraph
jieba==0.42.1 rjieba==0.42.1
# via -r requirements.txt # via -r requirements.txt
jiter==0.10.0 jiter==0.10.0
# via openai # via openai

View File

@@ -9,7 +9,7 @@ customtkinter
dotenv dotenv
faiss-cpu faiss-cpu
fastapi fastapi
jieba rjieba
jsonlines jsonlines
maim_message maim_message
quick_algo quick_algo

View File

@@ -19,7 +19,7 @@ from src.chat.memory_system.memory_builder import MemoryBuilder, MemoryExtractio
from src.chat.memory_system.memory_chunk import MemoryChunk from src.chat.memory_system.memory_chunk import MemoryChunk
from src.chat.memory_system.memory_fusion import MemoryFusionEngine from src.chat.memory_system.memory_fusion import MemoryFusionEngine
from src.chat.memory_system.memory_query_planner import MemoryQueryPlanner from src.chat.memory_system.memory_query_planner import MemoryQueryPlanner
# 简化的记忆采样模式枚举 # 记忆采样模式枚举
class MemorySamplingMode(Enum): class MemorySamplingMode(Enum):
"""记忆采样模式""" """记忆采样模式"""
HIPPOCAMPUS = "hippocampus" # 海马体模式:定时任务采样 HIPPOCAMPUS = "hippocampus" # 海马体模式:定时任务采样
@@ -162,6 +162,7 @@ class MemorySystem:
async def initialize(self): async def initialize(self):
"""异步初始化记忆系统""" """异步初始化记忆系统"""
try: try:
logger.info("正在初始化记忆系统...")
# 初始化LLM模型 # 初始化LLM模型
fallback_task = getattr(self.llm_model, "model_for_task", None) if self.llm_model else None fallback_task = getattr(self.llm_model, "model_for_task", None) if self.llm_model else None
@@ -267,8 +268,11 @@ class MemorySystem:
logger.warning(f"海马体采样器初始化失败: {e}") logger.warning(f"海马体采样器初始化失败: {e}")
self.hippocampus_sampler = None self.hippocampus_sampler = None
# 统一存储已经自动加载数据,无需额外加载
logger.info("✅ 简化版记忆系统初始化完成")
self.status = MemorySystemStatus.READY self.status = MemorySystemStatus.READY
logger.info("✅ 记忆系统初始化完成")
except Exception as e: except Exception as e:
self.status = MemorySystemStatus.ERROR self.status = MemorySystemStatus.ERROR
@@ -546,16 +550,18 @@ class MemorySystem:
return existing_candidates return existing_candidates
async def process_conversation_memory(self, context: dict[str, Any]) -> dict[str, Any]: async def process_conversation_memory(self, context: dict[str, Any]) -> dict[str, Any]:
"""对外暴露的对话记忆处理接口,支持海马体、即时、所有三种采样模式""" """对外暴露的对话记忆处理接口,支持海马体、精准记忆、自适应三种采样模式"""
start_time = time.time() start_time = time.time()
try: try:
context = dict(context or {}) context = dict(context or {})
# 获取配置的采样模式 # 获取配置的采样模式
sampling_mode = getattr(global_config.memory, 'memory_sampling_mode', 'immediate') sampling_mode = getattr(global_config.memory, 'memory_sampling_mode', 'precision')
current_mode = MemorySamplingMode(sampling_mode) current_mode = MemorySamplingMode(sampling_mode)
context['__sampling_mode'] = current_mode.value
logger.debug(f"使用记忆采样模式: {current_mode.value}") logger.debug(f"使用记忆采样模式: {current_mode.value}")
# 根据采样模式处理记忆 # 根据采样模式处理记忆
@@ -991,7 +997,7 @@ class MemorySystem:
from src.chat.message_receive.chat_stream import get_chat_manager from src.chat.message_receive.chat_stream import get_chat_manager
chat_manager = get_chat_manager() chat_manager = get_chat_manager()
chat_stream = await chat_manager.get_stream(stream_id) chat_stream = chat_manager.get_stream(stream_id)
if not chat_stream or not hasattr(chat_stream, "context_manager"): if not chat_stream or not hasattr(chat_stream, "context_manager"):
logger.debug(f"未找到stream_id={stream_id}的聊天流或上下文管理器") logger.debug(f"未找到stream_id={stream_id}的聊天流或上下文管理器")
@@ -1105,7 +1111,7 @@ class MemorySystem:
from src.chat.message_receive.chat_stream import get_chat_manager from src.chat.message_receive.chat_stream import get_chat_manager
chat_manager = get_chat_manager() chat_manager = get_chat_manager()
chat_stream = await chat_manager.get_stream(stream_id) chat_stream = chat_manager.get_stream(stream_id)
if chat_stream and hasattr(chat_stream, "context_manager"): if chat_stream and hasattr(chat_stream, "context_manager"):
history_limit = self._determine_history_limit(context) history_limit = self._determine_history_limit(context)
messages = chat_stream.context_manager.get_messages(limit=history_limit, include_unread=True) messages = chat_stream.context_manager.get_messages(limit=history_limit, include_unread=True)

View File

@@ -9,7 +9,7 @@ import time
from collections import defaultdict from collections import defaultdict
from pathlib import Path from pathlib import Path
import jieba import rjieba
import orjson import orjson
from pypinyin import Style, pinyin from pypinyin import Style, pinyin
@@ -56,9 +56,9 @@ class ChineseTypoGenerator:
# 使用内置的词频文件 # 使用内置的词频文件
char_freq = defaultdict(int) char_freq = defaultdict(int)
dict_path = os.path.join(os.path.dirname(jieba.__file__), "dict.txt") dict_path = os.path.join(os.path.dirname(rjieba.__file__), "dict.txt")
# 读取jieba的词典文件 # 读取rjieba的词典文件
with open(dict_path, encoding="utf-8") as f: with open(dict_path, encoding="utf-8") as f:
for line in f: for line in f:
word, freq = line.strip().split()[:2] word, freq = line.strip().split()[:2]
@@ -224,9 +224,9 @@ class ChineseTypoGenerator:
@staticmethod @staticmethod
def _segment_sentence(sentence): def _segment_sentence(sentence):
""" """
使用jieba分词返回词语列表 使用rjieba分词返回词语列表
""" """
return list(jieba.cut(sentence)) return list(rjieba.cut(sentence))
def _get_word_homophones(self, word): def _get_word_homophones(self, word):
""" """
@@ -251,8 +251,8 @@ class ChineseTypoGenerator:
all_combinations = itertools.product(*candidates) all_combinations = itertools.product(*candidates)
# 获取jieba词典和词频信息 # 获取rjieba词典和词频信息
dict_path = os.path.join(os.path.dirname(jieba.__file__), "dict.txt") dict_path = os.path.join(os.path.dirname(rjieba.__file__), "dict.txt")
valid_words = {} # 改用字典存储词语及其频率 valid_words = {} # 改用字典存储词语及其频率
with open(dict_path, encoding="utf-8") as f: with open(dict_path, encoding="utf-8") as f:
for line in f: for line in f:

View File

@@ -6,7 +6,7 @@ import time
from collections import Counter from collections import Counter
from typing import Any from typing import Any
import jieba import rjieba
import numpy as np import numpy as np
from maim_message import UserInfo from maim_message import UserInfo
@@ -440,7 +440,7 @@ def cosine_similarity(v1, v2):
def text_to_vector(text): def text_to_vector(text):
"""将文本转换为词频向量""" """将文本转换为词频向量"""
# 分词 # 分词
words = jieba.lcut(text) words = rjieba.lcut(text)
return Counter(words) return Counter(words)

View File

@@ -226,9 +226,9 @@ class ImageManager:
if emotion_result is None: if emotion_result is None:
logger.warning("LLM未能生成情感标签使用详细描述的前几个词") logger.warning("LLM未能生成情感标签使用详细描述的前几个词")
# 降级处理:从详细描述中提取关键词 # 降级处理:从详细描述中提取关键词
import jieba import rjieba
words = list(jieba.cut(detailed_description)) words = list(rjieba.cut(detailed_description))
emotion_result = "".join(words[:2]) if len(words) >= 2 else (words[0] if words else "表情") emotion_result = "".join(words[:2]) if len(words) >= 2 else (words[0] if words else "表情")
# 处理情感结果取前1-2个最重要的标签 # 处理情感结果取前1-2个最重要的标签

View File

@@ -299,7 +299,7 @@ def load_log_config(): # sourcery skip: use-contextlib-suppress
"peewee", "peewee",
"openai", "openai",
"uvicorn", "uvicorn",
"jieba", "rjieba",
], ],
"library_log_levels": {"aiohttp": "WARNING"}, "library_log_levels": {"aiohttp": "WARNING"},
} }

View File

@@ -4,7 +4,7 @@ from datetime import datetime
from difflib import SequenceMatcher from difflib import SequenceMatcher
from typing import Any from typing import Any
import jieba import rjieba
import orjson import orjson
from json_repair import repair_json from json_repair import repair_json
from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.feature_extraction.text import TfidfVectorizer
@@ -535,9 +535,9 @@ class RelationshipManager:
s1 = str(s1) s1 = str(s1)
s2 = str(s2) s2 = str(s2)
# 1. 使用 jieba 进行分词 # 1. 使用 rjieba 进行分词
s1_words = " ".join(jieba.cut(s1)) s1_words = " ".join(rjieba.cut(s1))
s2_words = " ".join(jieba.cut(s2)) s2_words = " ".join(rjieba.cut(s2))
# 2. 将两句话放入一个列表中 # 2. 将两句话放入一个列表中
corpus = [s1_words, s2_words] corpus = [s1_words, s2_words]

View File

@@ -184,8 +184,8 @@ cython_debug/
# PyPI configuration file # PyPI configuration file
.pypirc .pypirc
# jieba # rjieba
jieba.cache rjieba.cache
# .vscode # .vscode
!.vscode/settings.json !.vscode/settings.json

View File

@@ -375,7 +375,7 @@ console_log_level = "INFO" # 控制台日志级别,可选: DEBUG, INFO, WARNIN
file_log_level = "DEBUG" # 文件日志级别,可选: DEBUG, INFO, WARNING, ERROR, CRITICAL file_log_level = "DEBUG" # 文件日志级别,可选: DEBUG, INFO, WARNING, ERROR, CRITICAL
# 第三方库日志控制 # 第三方库日志控制
suppress_libraries = ["faiss","httpx", "urllib3", "asyncio", "websockets", "httpcore", "requests", "peewee", "openai","uvicorn","jieba","maim_message"] # 完全屏蔽的库 suppress_libraries = ["faiss","httpx", "urllib3", "asyncio", "websockets", "httpcore", "requests", "peewee", "openai","uvicorn","rjieba","maim_message"] # 完全屏蔽的库
library_log_levels = { "aiohttp" = "WARNING"} # 设置特定库的日志级别 library_log_levels = { "aiohttp" = "WARNING"} # 设置特定库的日志级别
[dependency_management] # 插件Python依赖管理配置 [dependency_management] # 插件Python依赖管理配置

49
uv.lock generated
View File

@@ -1345,6 +1345,15 @@ wheels = [
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" }, { url = "https://pypi.tuna.tsinghua.edu.cn/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload-time = "2025-01-03T18:51:54.306Z" },
] ]
[[package]]
name = "inkfox"
version = "0.1.0"
source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }
wheels = [
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/3f/1d/bdfe144e72d670f35ed87dfcd064c52b3e8d2604700c13bdd6f162a91f45/inkfox-0.1.0-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3adc20060ca74119ea05589ff3e85d41c83a8f005422b38ffe96b216fde47b54", size = 364637, upload-time = "2025-09-21T00:56:15.472Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/ab/7f/64b8d3ca70db30595d87f34215e60881029b44f0a7506e87a7456056d05c/inkfox-0.1.0-cp311-abi3-win_amd64.whl", hash = "sha256:bcaef8137be41b3f706e7f0246cbb0d92e9f309e1c6b947870bf3b405d1304f4", size = 257835, upload-time = "2025-09-21T00:56:16.993Z" },
]
[[package]] [[package]]
name = "jieba" name = "jieba"
version = "0.42.1" version = "0.42.1"
@@ -1733,6 +1742,7 @@ dependencies = [
{ name = "google" }, { name = "google" },
{ name = "google-genai" }, { name = "google-genai" },
{ name = "httpx" }, { name = "httpx" },
{ name = "inkfox" },
{ name = "jieba" }, { name = "jieba" },
{ name = "json-repair" }, { name = "json-repair" },
{ name = "json5" }, { name = "json5" },
@@ -1768,6 +1778,7 @@ dependencies = [
{ name = "reportportal-client" }, { name = "reportportal-client" },
{ name = "requests" }, { name = "requests" },
{ name = "rich" }, { name = "rich" },
{ name = "rjieba" },
{ name = "ruff" }, { name = "ruff" },
{ name = "scikit-learn" }, { name = "scikit-learn" },
{ name = "scipy", version = "1.15.3", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.11'" }, { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }, marker = "python_full_version < '3.11'" },
@@ -1815,6 +1826,7 @@ requires-dist = [
{ name = "google", specifier = ">=3.0.0" }, { name = "google", specifier = ">=3.0.0" },
{ name = "google-genai", specifier = ">=1.29.0" }, { name = "google-genai", specifier = ">=1.29.0" },
{ name = "httpx", specifier = ">=0.28.1" }, { name = "httpx", specifier = ">=0.28.1" },
{ name = "inkfox", specifier = ">=0.1.0" },
{ name = "jieba", specifier = ">=0.42.1" }, { name = "jieba", specifier = ">=0.42.1" },
{ name = "json-repair", specifier = ">=0.47.6" }, { name = "json-repair", specifier = ">=0.47.6" },
{ name = "json5", specifier = ">=0.12.1" }, { name = "json5", specifier = ">=0.12.1" },
@@ -1848,6 +1860,7 @@ requires-dist = [
{ name = "reportportal-client", specifier = ">=5.6.5" }, { name = "reportportal-client", specifier = ">=5.6.5" },
{ name = "requests", specifier = ">=2.32.4" }, { name = "requests", specifier = ">=2.32.4" },
{ name = "rich", specifier = ">=14.0.0" }, { name = "rich", specifier = ">=14.0.0" },
{ name = "rjieba", specifier = ">=0.1.13" },
{ name = "ruff", specifier = ">=0.12.2" }, { name = "ruff", specifier = ">=0.12.2" },
{ name = "scikit-learn", specifier = ">=1.7.0" }, { name = "scikit-learn", specifier = ">=1.7.0" },
{ name = "scipy", specifier = ">=1.15.3" }, { name = "scipy", specifier = ">=1.15.3" },
@@ -3695,6 +3708,42 @@ wheels = [
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" }, { url = "https://pypi.tuna.tsinghua.edu.cn/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" },
] ]
[[package]]
name = "rjieba"
version = "0.1.13"
source = { registry = "https://pypi.tuna.tsinghua.edu.cn/simple" }
sdist = { url = "https://pypi.tuna.tsinghua.edu.cn/packages/ec/d6/00bce0f8997f01d4c626b87791597c02d40602d7eeedf785edd194ee49b6/rjieba-0.1.13.tar.gz", hash = "sha256:3ff7396e645c6ebf8c780ac2d585a6c92ddc5e135be83b0da0da9f995ae62f46", size = 11686, upload-time = "2025-01-13T13:17:29.653Z" }
wheels = [
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/35/99/f51b60c29e0d846ee69015fd9a0f67c1672317e7cf2c10c4a514ae50d1eb/rjieba-0.1.13-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:dc0e122105ac0e868a7ba4bfef7b90c26d626fd1a7fbbb999d0a5811f5ce6ebf", size = 3266877, upload-time = "2025-01-13T13:17:03.912Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/f1/55/2838a76b4cab37a1ba9a2b66c52ad45001e058df30bb13ffb6c490becf83/rjieba-0.1.13-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ddc66958b0afaca46b8e754baa76fd56535c0ad18c996f27463d588645d2456", size = 3231822, upload-time = "2025-01-13T13:16:55.697Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/c9/67/d9bbdfcea47dd096e3c00262753906ca5610bce1a138a9de01c477c7fe31/rjieba-0.1.13-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9799b64142809b99132d82dee932dcf258251b8fe1fff0e067a5d561016a3f40", size = 3545113, upload-time = "2025-01-13T13:16:28.318Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/2a/f4/281b14bd905edae5309b543721274bbc0e35e567670d7fc6d63c7db218d5/rjieba-0.1.13-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f561f15ed8d64e8f2853ddd0edffa91c62c47b0c29fd40d7943a86be3abae3c6", size = 3362437, upload-time = "2025-01-13T13:16:32.066Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/1f/78/a1df7798ed181d2c6f6461250c8d468d8c133bd095f0b1193daa98edce3c/rjieba-0.1.13-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce0d60d2151af74f231f91cf746b589479ed98a11c804240c67faffd6363e56d", size = 3610289, upload-time = "2025-01-13T13:16:36.815Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/33/e8/7104e75739d8aa3c9aa9f80e4c64c0f424f50c956cd17d9cac21501dc546/rjieba-0.1.13-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6b9b6416bb00be0b037feae72839a7605a8b7641d815f8ed11284d6a16d10b35", size = 3695122, upload-time = "2025-01-13T13:16:40.332Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/57/ed/5a127fd5015e9ce30abec027329a8042186be9db67e0edae1c5e7bc3aae1/rjieba-0.1.13-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63389d5d10db6d2f9efd8f098fbe58601858b23001df5eff53c4c60695e56879", size = 3569926, upload-time = "2025-01-13T13:16:48.523Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/64/ad/ecc84685e7e76ced4f035c2ed4f010e97404a64418ecd31d53e56ceca030/rjieba-0.1.13-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3811d7fe425b53b1215193697a378ec4e5541abbd15adedd53de04a76c7a60a7", size = 3414695, upload-time = "2025-01-13T13:16:45.01Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/17/29/e981d11bc2a1396345a4e5cec96eb5a7b50fcab5834853319095d881606a/rjieba-0.1.13-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:73631d3cca99b1f2d6528e690ed42e69fe7d4dcc09f04ec93652cf858575e4a4", size = 3709457, upload-time = "2025-01-13T13:17:10.498Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/19/6c/f52f3373881ab84f6b0b5cd039518756e1d469c0ae604d7612caee2e478a/rjieba-0.1.13-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:19aaf5ccafc9c720b597a40f41f9b080d4a5dc99ba5f48ed9834a2dfdde36828", size = 3611107, upload-time = "2025-01-13T13:17:14.714Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/d6/e9/e764e472215c481dd76c18435f0414f826a2c14941d5d12359ceee7bd7ed/rjieba-0.1.13-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2a3efc11e7bee1ee3fc8d5887ae64f067243ec70a94257838eb68cce3590950d", size = 3546869, upload-time = "2025-01-13T13:17:19.403Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/98/8c/7bfd0b1c39f881ef6f2298655c11ac9ff48977e9a6a3e9f17f3b079cf0a3/rjieba-0.1.13-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:204d626c90d527209835aaaaffa277d47ff333ef6c50f1c74eb3afab1dc71eec", size = 3722472, upload-time = "2025-01-13T13:17:25.022Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/ba/88/f07776c2ad2e32504d5b21ec97913512646dee862e3ea747123b9a7ee4f1/rjieba-0.1.13-cp313-cp313t-win32.whl", hash = "sha256:d86f35097333df3a77b7e402b331e26acf10fe66b2b2927940b8e7a8c1f75f06", size = 3030600, upload-time = "2025-01-13T13:17:35.863Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/52/6e/41aa291b77eff30afaf935f446623f4d0464f24433f4c40c04776a6d2e4c/rjieba-0.1.13-cp313-cp313t-win_amd64.whl", hash = "sha256:52c9572458bc028ff4a2c30d6e38d2d798a520c9c673dfdcd88bdedcb9f6a83e", size = 3113012, upload-time = "2025-01-13T13:17:30.823Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/a9/55/2264d3c8766e439ab49de587b06eb34e1ac7bb4e8c62f96a0ee8be3aebbd/rjieba-0.1.13-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:96230084c67faf250c9e014603c816ce506662492c6edfff41043a82f47f4dd5", size = 3276395, upload-time = "2025-01-13T13:17:07.606Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/91/38/5930dd77855d51b3bc4a1f1324cdfc8b47894fced3beb61c4aa0ecca4f3a/rjieba-0.1.13-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:6b2dc0edef2c2779a0d0f85f92edcf4e77e31999c327fc4e330db54019891157", size = 3240988, upload-time = "2025-01-13T13:16:57.813Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/f6/06/38463ccc3dea4885e2b8a016f55f4ae805b16882ca2472d31ca61359e97e/rjieba-0.1.13-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd5ff297cacb39ad688d2af3ab21971c0fed487ba736a2058583ab71e17b959b", size = 3553258, upload-time = "2025-01-13T13:16:30.317Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/bb/11/7f3aa4591125a590fde6fd14a55c7d09d7726aea4fc4da5df9dcadd0a3bc/rjieba-0.1.13-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8b2a0f68aa56915359d1b972f536fa202d0f27e16a19a6d18c001a86e96c38ae", size = 3367320, upload-time = "2025-01-13T13:16:35.06Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/68/87/948c6c3cba34d3ecaef719edd9335433eab96c8b02d1b6112f39e6fc525b/rjieba-0.1.13-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3af568cfb4d06aa45f0ee8f1115bf296bc95973183be75c1471cf26938a327bb", size = 3620189, upload-time = "2025-01-13T13:16:38.632Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/51/3b/98499dc4796e7964901a2d5d878cffb5525ea03df9615f08a65410cce118/rjieba-0.1.13-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:03e288f1bc5bd798feb03e6d4fec61c0a9a1c10300b635691c1c062b25c142a9", size = 3707587, upload-time = "2025-01-13T13:16:42.063Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/0b/41/e475f2936637bcd37092b8b63173979eac4c482d9d56151af1d82bd254a3/rjieba-0.1.13-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ddfb33110815a4cd33673679dde843133de82da4cb29abfa5f2a5b90cc836b3", size = 3575419, upload-time = "2025-01-13T13:16:53.674Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/a6/f7/4c7b77eb1a8ae4e2f6bcb855580a32e3692d18d59f23576626aa5e27cf3d/rjieba-0.1.13-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fdbd36caed6e9eab59bab4f18d4a606521c431231053b1681bb867a240a5254f", size = 3420263, upload-time = "2025-01-13T13:16:46.798Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/67/2d/6a7cf5d457cef002b6987895d300cd717b18fa2b8584fa448b056bdf2caa/rjieba-0.1.13-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:49553f1326be77f4437f17e9696b495ffb9f70866048796f2cadca9aa27918da", size = 3708172, upload-time = "2025-01-13T13:17:12.996Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/cf/55/1ee396d72ebf367339b3c9caf331562c5c6d5842ba67487af82732d7e0a0/rjieba-0.1.13-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:04140779f395c07677b69a0ced51e759ad66c33979135f424ebd252dcd434d87", size = 3618156, upload-time = "2025-01-13T13:17:16.401Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/06/5d/9bbb9bc6249484a39027978d953ac5c0c69f5b371dc62a609f51e5a805e2/rjieba-0.1.13-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:77fd4a8ba12455a70c9f74c7d07b2ed812c394eabc2381d40569bec0217e39db", size = 3554012, upload-time = "2025-01-13T13:17:23.394Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/46/1a/3410ee64b6cd89ccdb1842a4204f22963d03ac8c7543e50fbbc7a6ce1d30/rjieba-0.1.13-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:0294fa41d51048c97558c1b9f712e40eb97c6b21ec793a7a21b575d983cdc81d", size = 3728366, upload-time = "2025-01-13T13:17:28.214Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/79/d3/5277c73579ac5343d6e3982e3ed3a1983c3b2ff1cb34be8debdfa7013561/rjieba-0.1.13-cp38-abi3-win32.whl", hash = "sha256:c836e064ac306c999603e89da258f8d8da57e66da5abe39240a02da8775e8385", size = 3035372, upload-time = "2025-01-13T13:17:37.492Z" },
{ url = "https://pypi.tuna.tsinghua.edu.cn/packages/61/69/948256cb4c3227970c47adce64374f419d282e657e0cb70076db862393ae/rjieba-0.1.13-cp38-abi3-win_amd64.whl", hash = "sha256:58b69e98b5291c42e39ef5c18106360881337aac654f1c869065f65c8a694b6d", size = 3116650, upload-time = "2025-01-13T13:17:32.889Z" },
]
[[package]] [[package]]
name = "rpds-py" name = "rpds-py"
version = "0.27.0" version = "0.27.0"