File size: 2,729 Bytes
8e874f5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | """
QAFD-RAG Utilities Package.
This package provides various utility functions for the QAFD-RAG system.
Modules:
--------
- hashing: MD5-based hashing functions
- tokenization: Tiktoken-based encoding/decoding
- parsing: JSON extraction and string manipulation
- data: CSV conversion and context combination
- logging: Centralized logging configuration
- embedding: Embedding function wrappers
- async_utils: Async function decorators
- file_io: JSON and XML file operations
- caching: Embedding-based caching utilities
"""
# Hashing utilities
from .hashing import (
compute_args_hash,
compute_mdhash_id,
)
# Tokenization utilities
from .tokenization import (
encode_string_by_tiktoken,
decode_tokens_by_tiktoken,
truncate_list_by_token_size,
)
# Parsing utilities
from .parsing import (
locate_json_string_body_from_string,
convert_response_to_json,
split_string_by_multi_markers,
clean_str,
is_float_regex,
safe_unicode_decode,
pack_user_ass_to_openai_messages,
)
# Data utilities
from .data import (
list_of_list_to_csv,
csv_string_to_list,
process_combine_contexts,
)
# Logging utilities
from .logging import (
logger,
set_logger,
)
# Embedding utilities
from .embedding import (
UnlimitedSemaphore,
EmbeddingFunc,
wrap_embedding_func_with_attrs,
)
# Async utilities
from .async_utils import (
limit_async_func_call,
)
# File I/O utilities
from .file_io import (
load_json,
write_json,
save_data_to_file,
xml_to_json,
)
# Caching utilities
from .caching import (
cosine_similarity,
quantize_embedding,
dequantize_embedding,
get_best_cached_response,
handle_cache,
CacheData,
save_to_cache,
)
__all__ = [
# Hashing
"compute_args_hash",
"compute_mdhash_id",
# Tokenization
"encode_string_by_tiktoken",
"decode_tokens_by_tiktoken",
"truncate_list_by_token_size",
# Parsing
"locate_json_string_body_from_string",
"convert_response_to_json",
"split_string_by_multi_markers",
"clean_str",
"is_float_regex",
"safe_unicode_decode",
"pack_user_ass_to_openai_messages",
# Data
"list_of_list_to_csv",
"csv_string_to_list",
"process_combine_contexts",
# Logging
"logger",
"set_logger",
# Embedding
"UnlimitedSemaphore",
"EmbeddingFunc",
"wrap_embedding_func_with_attrs",
# Async
"limit_async_func_call",
# File I/O
"load_json",
"write_json",
"save_data_to_file",
"xml_to_json",
# Caching
"cosine_similarity",
"quantize_embedding",
"dequantize_embedding",
"get_best_cached_response",
"handle_cache",
"CacheData",
"save_to_cache",
]
|