Name | autocoder-rag-sdk JSON |
Version |
0.0.2
JSON |
| download |
home_page | None |
Summary | Python SDK for AutoCoder RAG - 便于在Python代码中调用auto-coder.rag run功能 |
upload_time | 2025-10-21 03:01:15 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | MIT License
Copyright (c) 2024 AutoCoder Team
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
|
keywords |
ai
api
autocoder
document-qa
python
rag
sdk
|
VCS |
 |
bugtrack_url |
|
requirements |
contextlib2
ninja
jinja2
rich
paramiko
tqdm
loguru
pyjava
fastapi
uvicorn
retrying
zhipuai
dashscope
tiktoken
tabulate
jupyter_client
prompt-toolkit
tokenizers
aiofiles
readerwriterlock
byzerllm
patch
diff_match_patch
GitPython
openai
anthropic
google-generativeai
protobuf
azure-cognitiveservices-speech
real_agent
duckdb
python-docx
docx2txt
pdf2image
docx2pdf
pypdf
pyperclip
colorama
pylint
reportlab
pathspec
openpyxl
python-pptx
watchfiles
cairosvg
matplotlib
mammoth
markdownify
pdfminer.six
puremagic
pydub
youtube-transcript-api
SpeechRecognition
pathvalidate
pexpect
mcp
setuptools
filelock
argcomplete
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# AutoCoder RAG SDK for Python
一个便于在Python代码中调用`auto-coder.rag run`功能的SDK,用于文档问答和检索增强生成。
## 特性
- 🚀 **易于使用**: 提供简洁直观的API接口,3行代码即可开始
- 📡 **流式处理**: 支持实时流式输出答案,即时获取响应
- 🛠 **完整配置**: 支持所有auto-coder.rag run命令行选项
- 📦 **零依赖**: 仅依赖Python标准库,无第三方依赖
- 🐍 **类型提示**: 完整的类型提示支持,IDE友好
- 🎯 **便捷方法**: 提供 `quick_query()` 等简化接口
- 🔧 **上下文管理器**: 支持 `with` 语句,自动资源管理
- 📊 **结构化消息**: 支持 Message 对象,精确控制不同类型的消息
## 前置要求
- Python 3.7+
- `auto-coder.rag` 命令已安装并在 PATH 中
检查命令是否可用:
```bash
which auto-coder.rag
auto-coder.rag --help
```
## 安装
```bash
cd rag-sdks/python
pip install -e .
```
## 快速开始
### 基础用法
```python
from autocoder_rag_sdk import AutoCoderRAGClient
# 方式1: 最简单 - 只提供文档目录
client = AutoCoderRAGClient(doc_dir="/path/to/docs")
answer = client.query("如何使用这个项目?")
print(answer)
# 方式2: 快捷配置 - doc_dir + 其他参数(推荐)⭐
client = AutoCoderRAGClient(
doc_dir="/path/to/docs",
agentic=True,
timeout=600
)
answer = client.quick_query("如何使用?")
print(answer)
```
### 流式输出
```python
from autocoder_rag_sdk import AutoCoderRAGClient
client = AutoCoderRAGClient(doc_dir="/path/to/docs")
# 流式获取答案
for chunk in client.query_stream("这个项目的主要功能是什么?"):
print(chunk, end="", flush=True)
```
### 结构化消息处理
```python
from autocoder_rag_sdk import AutoCoderRAGClient, Message, MessageType, StageType
client = AutoCoderRAGClient(doc_dir="/path/to/docs")
# 使用 Message 对象精确控制消息处理
for message in client.query_messages("如何使用?"):
if message.is_content():
# 只输出内容
print(message.content, end="", flush=True)
elif message.is_stage():
# 显示处理阶段
print(f"\n[{message.stage_type.value}] {message.message}")
elif message.is_retrieval_stage():
print(f"正在检索: {message.message}")
elif message.is_generation_stage():
print(f"正在生成: {message.message}")
```
### 获取上下文信息
```python
from autocoder_rag_sdk import AutoCoderRAGClient, RAGQueryOptions
client = AutoCoderRAGClient(doc_dir="/path/to/docs")
# 查询并获取上下文
response = client.query_with_contexts("如何安装?")
print(f"答案: {response.answer}")
print(f"使用的上下文数量: {len(response.contexts)}")
for i, ctx in enumerate(response.contexts):
print(f"上下文 {i+1}: {ctx[:100]}...")
```
### 高级配置
```python
from autocoder_rag_sdk import AutoCoderRAGClient, RAGConfig, RAGQueryOptions
# 详细配置
config = RAGConfig(
doc_dir="/path/to/docs",
model="v3_chat",
agentic=False, # 使用 LongContextRAG
product_mode="lite", # lite 模式
timeout=600, # 全局超时10分钟
rag_context_window_limit=56000,
enable_hybrid_index=True,
)
client = AutoCoderRAGClient(config=config)
# 查询选项
options = RAGQueryOptions(
output_format="text",
agentic=True, # 本次查询使用 AgenticRAG
timeout=900, # 本次查询超时15分钟
)
answer = client.query("项目架构是什么?", options)
print(answer)
```
### 超时配置
```python
# 全局超时设置
config = RAGConfig(doc_dir="./docs", timeout=600) # 10分钟
client = AutoCoderRAGClient(config=config)
# 单次查询覆盖超时
options = RAGQueryOptions(timeout=900) # 本次15分钟
answer = client.query("复杂问题", options)
```
## API 文档
### AutoCoderRAGClient
主要的客户端类。
```python
class AutoCoderRAGClient:
def __init__(self, config: Optional[RAGConfig] = None, doc_dir: Optional[str] = None)
def query(self, question: str, options: Optional[RAGQueryOptions] = None) -> str
def query_stream(self, question: str, options: Optional[RAGQueryOptions] = None) -> Generator[str, None, None]
def query_with_contexts(self, question: str, options: Optional[RAGQueryOptions] = None) -> RAGResponse
def get_version(self) -> str
def check_availability(self) -> bool
```
### RAGConfig
全局配置类。
```python
@dataclass
class RAGConfig:
doc_dir: str # 文档目录(必需)
model: str = "v3_chat" # 模型名称
agentic: bool = False # 是否使用 AgenticRAG
product_mode: str = "lite" # lite 或 pro
rag_context_window_limit: int = 56000
full_text_ratio: float = 0.7
segment_ratio: float = 0.2
# ... 更多参数见源码
```
### RAGQueryOptions
单次查询选项。
```python
@dataclass
class RAGQueryOptions:
output_format: str = "text" # text, json, stream-json
agentic: Optional[bool] = None # 覆盖全局配置
product_mode: Optional[str] = None # 覆盖全局配置
model: Optional[str] = None # 覆盖全局配置
```
### RAGResponse
查询响应对象。
```python
@dataclass
class RAGResponse:
success: bool # 是否成功
answer: str # 答案内容
contexts: List[str] # 使用的上下文
error: Optional[str] # 错误信息
metadata: dict # 元数据
```
## 示例
查看 `examples/` 目录中的完整示例:
- `basic_usage.py` - 基础用法演示
- `stream_usage.py` - 流式输出演示
- `advanced_usage.py` - 高级配置演示
运行示例:
```bash
python examples/basic_usage.py
python examples/stream_usage.py
```
## 错误处理
```python
from autocoder_rag_sdk import AutoCoderRAGClient, RAGError, ValidationError, ExecutionError
client = AutoCoderRAGClient(doc_dir="/path/to/docs")
try:
answer = client.query("问题")
print(answer)
except ValidationError as e:
print(f"参数验证失败: {e}")
except ExecutionError as e:
print(f"执行失败: {e} (退出码: {e.exit_code})")
except RAGError as e:
print(f"RAG错误: {e}")
```
## 许可证
MIT License - 详见 LICENSE 文件。
Raw data
{
"_id": null,
"home_page": null,
"name": "autocoder-rag-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "AutoCoder Team <support@autocoder.com>",
"keywords": "ai, api, autocoder, document-qa, python, rag, sdk",
"author": null,
"author_email": "AutoCoder Team <support@autocoder.com>",
"download_url": "https://files.pythonhosted.org/packages/c4/05/522ae615b4af69cb1b963c3a3ea43378f0c5ca90003909da4a5db323826b/autocoder_rag_sdk-0.0.2.tar.gz",
"platform": null,
"description": "# AutoCoder RAG SDK for Python\n\n\u4e00\u4e2a\u4fbf\u4e8e\u5728Python\u4ee3\u7801\u4e2d\u8c03\u7528`auto-coder.rag run`\u529f\u80fd\u7684SDK\uff0c\u7528\u4e8e\u6587\u6863\u95ee\u7b54\u548c\u68c0\u7d22\u589e\u5f3a\u751f\u6210\u3002\n\n## \u7279\u6027\n\n- \ud83d\ude80 **\u6613\u4e8e\u4f7f\u7528**: \u63d0\u4f9b\u7b80\u6d01\u76f4\u89c2\u7684API\u63a5\u53e3\uff0c3\u884c\u4ee3\u7801\u5373\u53ef\u5f00\u59cb\n- \ud83d\udce1 **\u6d41\u5f0f\u5904\u7406**: \u652f\u6301\u5b9e\u65f6\u6d41\u5f0f\u8f93\u51fa\u7b54\u6848\uff0c\u5373\u65f6\u83b7\u53d6\u54cd\u5e94\n- \ud83d\udee0 **\u5b8c\u6574\u914d\u7f6e**: \u652f\u6301\u6240\u6709auto-coder.rag run\u547d\u4ee4\u884c\u9009\u9879\n- \ud83d\udce6 **\u96f6\u4f9d\u8d56**: \u4ec5\u4f9d\u8d56Python\u6807\u51c6\u5e93\uff0c\u65e0\u7b2c\u4e09\u65b9\u4f9d\u8d56\n- \ud83d\udc0d **\u7c7b\u578b\u63d0\u793a**: \u5b8c\u6574\u7684\u7c7b\u578b\u63d0\u793a\u652f\u6301\uff0cIDE\u53cb\u597d\n- \ud83c\udfaf **\u4fbf\u6377\u65b9\u6cd5**: \u63d0\u4f9b `quick_query()` \u7b49\u7b80\u5316\u63a5\u53e3\n- \ud83d\udd27 **\u4e0a\u4e0b\u6587\u7ba1\u7406\u5668**: \u652f\u6301 `with` \u8bed\u53e5\uff0c\u81ea\u52a8\u8d44\u6e90\u7ba1\u7406\n- \ud83d\udcca **\u7ed3\u6784\u5316\u6d88\u606f**: \u652f\u6301 Message \u5bf9\u8c61\uff0c\u7cbe\u786e\u63a7\u5236\u4e0d\u540c\u7c7b\u578b\u7684\u6d88\u606f\n\n## \u524d\u7f6e\u8981\u6c42\n\n- Python 3.7+\n- `auto-coder.rag` \u547d\u4ee4\u5df2\u5b89\u88c5\u5e76\u5728 PATH \u4e2d\n\n\u68c0\u67e5\u547d\u4ee4\u662f\u5426\u53ef\u7528\uff1a\n```bash\nwhich auto-coder.rag\nauto-coder.rag --help\n```\n\n## \u5b89\u88c5\n\n```bash\ncd rag-sdks/python\npip install -e .\n```\n\n## \u5feb\u901f\u5f00\u59cb\n\n### \u57fa\u7840\u7528\u6cd5\n\n```python\nfrom autocoder_rag_sdk import AutoCoderRAGClient\n\n# \u65b9\u5f0f1: \u6700\u7b80\u5355 - \u53ea\u63d0\u4f9b\u6587\u6863\u76ee\u5f55\nclient = AutoCoderRAGClient(doc_dir=\"/path/to/docs\")\nanswer = client.query(\"\u5982\u4f55\u4f7f\u7528\u8fd9\u4e2a\u9879\u76ee?\")\nprint(answer)\n\n# \u65b9\u5f0f2: \u5feb\u6377\u914d\u7f6e - doc_dir + \u5176\u4ed6\u53c2\u6570\uff08\u63a8\u8350\uff09\u2b50\nclient = AutoCoderRAGClient(\n doc_dir=\"/path/to/docs\",\n agentic=True,\n timeout=600\n)\nanswer = client.quick_query(\"\u5982\u4f55\u4f7f\u7528?\")\nprint(answer)\n```\n\n### \u6d41\u5f0f\u8f93\u51fa\n\n```python\nfrom autocoder_rag_sdk import AutoCoderRAGClient\n\nclient = AutoCoderRAGClient(doc_dir=\"/path/to/docs\")\n\n# \u6d41\u5f0f\u83b7\u53d6\u7b54\u6848\nfor chunk in client.query_stream(\"\u8fd9\u4e2a\u9879\u76ee\u7684\u4e3b\u8981\u529f\u80fd\u662f\u4ec0\u4e48?\"):\n print(chunk, end=\"\", flush=True)\n```\n\n### \u7ed3\u6784\u5316\u6d88\u606f\u5904\u7406\n\n```python\nfrom autocoder_rag_sdk import AutoCoderRAGClient, Message, MessageType, StageType\n\nclient = AutoCoderRAGClient(doc_dir=\"/path/to/docs\")\n\n# \u4f7f\u7528 Message \u5bf9\u8c61\u7cbe\u786e\u63a7\u5236\u6d88\u606f\u5904\u7406\nfor message in client.query_messages(\"\u5982\u4f55\u4f7f\u7528?\"):\n if message.is_content():\n # \u53ea\u8f93\u51fa\u5185\u5bb9\n print(message.content, end=\"\", flush=True)\n elif message.is_stage():\n # \u663e\u793a\u5904\u7406\u9636\u6bb5\n print(f\"\\n[{message.stage_type.value}] {message.message}\")\n elif message.is_retrieval_stage():\n print(f\"\u6b63\u5728\u68c0\u7d22: {message.message}\")\n elif message.is_generation_stage():\n print(f\"\u6b63\u5728\u751f\u6210: {message.message}\")\n```\n\n### \u83b7\u53d6\u4e0a\u4e0b\u6587\u4fe1\u606f\n\n```python\nfrom autocoder_rag_sdk import AutoCoderRAGClient, RAGQueryOptions\n\nclient = AutoCoderRAGClient(doc_dir=\"/path/to/docs\")\n\n# \u67e5\u8be2\u5e76\u83b7\u53d6\u4e0a\u4e0b\u6587\nresponse = client.query_with_contexts(\"\u5982\u4f55\u5b89\u88c5?\")\n\nprint(f\"\u7b54\u6848: {response.answer}\")\nprint(f\"\u4f7f\u7528\u7684\u4e0a\u4e0b\u6587\u6570\u91cf: {len(response.contexts)}\")\nfor i, ctx in enumerate(response.contexts):\n print(f\"\u4e0a\u4e0b\u6587 {i+1}: {ctx[:100]}...\")\n```\n\n### \u9ad8\u7ea7\u914d\u7f6e\n\n```python\nfrom autocoder_rag_sdk import AutoCoderRAGClient, RAGConfig, RAGQueryOptions\n\n# \u8be6\u7ec6\u914d\u7f6e\nconfig = RAGConfig(\n doc_dir=\"/path/to/docs\",\n model=\"v3_chat\",\n agentic=False, # \u4f7f\u7528 LongContextRAG\n product_mode=\"lite\", # lite \u6a21\u5f0f\n timeout=600, # \u5168\u5c40\u8d85\u65f610\u5206\u949f\n rag_context_window_limit=56000,\n enable_hybrid_index=True,\n)\n\nclient = AutoCoderRAGClient(config=config)\n\n# \u67e5\u8be2\u9009\u9879\noptions = RAGQueryOptions(\n output_format=\"text\",\n agentic=True, # \u672c\u6b21\u67e5\u8be2\u4f7f\u7528 AgenticRAG\n timeout=900, # \u672c\u6b21\u67e5\u8be2\u8d85\u65f615\u5206\u949f\n)\n\nanswer = client.query(\"\u9879\u76ee\u67b6\u6784\u662f\u4ec0\u4e48?\", options)\nprint(answer)\n```\n\n### \u8d85\u65f6\u914d\u7f6e\n\n```python\n# \u5168\u5c40\u8d85\u65f6\u8bbe\u7f6e\nconfig = RAGConfig(doc_dir=\"./docs\", timeout=600) # 10\u5206\u949f\nclient = AutoCoderRAGClient(config=config)\n\n# \u5355\u6b21\u67e5\u8be2\u8986\u76d6\u8d85\u65f6\noptions = RAGQueryOptions(timeout=900) # \u672c\u6b2115\u5206\u949f\nanswer = client.query(\"\u590d\u6742\u95ee\u9898\", options)\n```\n\n## API \u6587\u6863\n\n### AutoCoderRAGClient\n\n\u4e3b\u8981\u7684\u5ba2\u6237\u7aef\u7c7b\u3002\n\n```python\nclass AutoCoderRAGClient:\n def __init__(self, config: Optional[RAGConfig] = None, doc_dir: Optional[str] = None)\n def query(self, question: str, options: Optional[RAGQueryOptions] = None) -> str\n def query_stream(self, question: str, options: Optional[RAGQueryOptions] = None) -> Generator[str, None, None]\n def query_with_contexts(self, question: str, options: Optional[RAGQueryOptions] = None) -> RAGResponse\n def get_version(self) -> str\n def check_availability(self) -> bool\n```\n\n### RAGConfig\n\n\u5168\u5c40\u914d\u7f6e\u7c7b\u3002\n\n```python\n@dataclass\nclass RAGConfig:\n doc_dir: str # \u6587\u6863\u76ee\u5f55\uff08\u5fc5\u9700\uff09\n model: str = \"v3_chat\" # \u6a21\u578b\u540d\u79f0\n agentic: bool = False # \u662f\u5426\u4f7f\u7528 AgenticRAG\n product_mode: str = \"lite\" # lite \u6216 pro\n rag_context_window_limit: int = 56000\n full_text_ratio: float = 0.7\n segment_ratio: float = 0.2\n # ... \u66f4\u591a\u53c2\u6570\u89c1\u6e90\u7801\n```\n\n### RAGQueryOptions\n\n\u5355\u6b21\u67e5\u8be2\u9009\u9879\u3002\n\n```python\n@dataclass\nclass RAGQueryOptions:\n output_format: str = \"text\" # text, json, stream-json\n agentic: Optional[bool] = None # \u8986\u76d6\u5168\u5c40\u914d\u7f6e\n product_mode: Optional[str] = None # \u8986\u76d6\u5168\u5c40\u914d\u7f6e\n model: Optional[str] = None # \u8986\u76d6\u5168\u5c40\u914d\u7f6e\n```\n\n### RAGResponse\n\n\u67e5\u8be2\u54cd\u5e94\u5bf9\u8c61\u3002\n\n```python\n@dataclass\nclass RAGResponse:\n success: bool # \u662f\u5426\u6210\u529f\n answer: str # \u7b54\u6848\u5185\u5bb9\n contexts: List[str] # \u4f7f\u7528\u7684\u4e0a\u4e0b\u6587\n error: Optional[str] # \u9519\u8bef\u4fe1\u606f\n metadata: dict # \u5143\u6570\u636e\n```\n\n## \u793a\u4f8b\n\n\u67e5\u770b `examples/` \u76ee\u5f55\u4e2d\u7684\u5b8c\u6574\u793a\u4f8b\uff1a\n\n- `basic_usage.py` - \u57fa\u7840\u7528\u6cd5\u6f14\u793a\n- `stream_usage.py` - \u6d41\u5f0f\u8f93\u51fa\u6f14\u793a\n- `advanced_usage.py` - \u9ad8\u7ea7\u914d\u7f6e\u6f14\u793a\n\n\u8fd0\u884c\u793a\u4f8b\uff1a\n\n```bash\npython examples/basic_usage.py\npython examples/stream_usage.py\n```\n\n## \u9519\u8bef\u5904\u7406\n\n```python\nfrom autocoder_rag_sdk import AutoCoderRAGClient, RAGError, ValidationError, ExecutionError\n\nclient = AutoCoderRAGClient(doc_dir=\"/path/to/docs\")\n\ntry:\n answer = client.query(\"\u95ee\u9898\")\n print(answer)\nexcept ValidationError as e:\n print(f\"\u53c2\u6570\u9a8c\u8bc1\u5931\u8d25: {e}\")\nexcept ExecutionError as e:\n print(f\"\u6267\u884c\u5931\u8d25: {e} (\u9000\u51fa\u7801: {e.exit_code})\")\nexcept RAGError as e:\n print(f\"RAG\u9519\u8bef: {e}\")\n```\n\n## \u8bb8\u53ef\u8bc1\n\nMIT License - \u8be6\u89c1 LICENSE \u6587\u4ef6\u3002\n\n",
"bugtrack_url": null,
"license": "MIT License\n \n Copyright (c) 2024 AutoCoder Team\n \n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n \n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n \n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n ",
"summary": "Python SDK for AutoCoder RAG - \u4fbf\u4e8e\u5728Python\u4ee3\u7801\u4e2d\u8c03\u7528auto-coder.rag run\u529f\u80fd",
"version": "0.0.2",
"project_urls": {
"Bug Tracker": "https://github.com/allwefantasy/auto-coder/issues",
"Documentation": "https://github.com/allwefantasy/auto-coder/tree/master/rag-sdks/python",
"Homepage": "https://github.com/allwefantasy/auto-coder",
"Repository": "https://github.com/allwefantasy/auto-coder"
},
"split_keywords": [
"ai",
" api",
" autocoder",
" document-qa",
" python",
" rag",
" sdk"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "372c97f4fbbf1d4a6d4bfbc1e356d2fb60a2080f3e71db964c718b9031015eae",
"md5": "eb3b77217f015332ef86a85e2314341a",
"sha256": "3d83c40c98398e72052242cb75c1f3ed0d78909bd7cb04f7330fac3dbdd8922a"
},
"downloads": -1,
"filename": "autocoder_rag_sdk-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eb3b77217f015332ef86a85e2314341a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 15684,
"upload_time": "2025-10-21T03:01:13",
"upload_time_iso_8601": "2025-10-21T03:01:13.847370Z",
"url": "https://files.pythonhosted.org/packages/37/2c/97f4fbbf1d4a6d4bfbc1e356d2fb60a2080f3e71db964c718b9031015eae/autocoder_rag_sdk-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c405522ae615b4af69cb1b963c3a3ea43378f0c5ca90003909da4a5db323826b",
"md5": "468ec4ba1ae877dbeb09ce5f467b9ac2",
"sha256": "cc74115e0ab9ec5149ece74aac785d3e09f53a1bc5bc64c60a7a68768169e2db"
},
"downloads": -1,
"filename": "autocoder_rag_sdk-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "468ec4ba1ae877dbeb09ce5f467b9ac2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 12275,
"upload_time": "2025-10-21T03:01:15",
"upload_time_iso_8601": "2025-10-21T03:01:15.305806Z",
"url": "https://files.pythonhosted.org/packages/c4/05/522ae615b4af69cb1b963c3a3ea43378f0c5ca90003909da4a5db323826b/autocoder_rag_sdk-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-21 03:01:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "allwefantasy",
"github_project": "auto-coder",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "contextlib2",
"specs": []
},
{
"name": "ninja",
"specs": []
},
{
"name": "jinja2",
"specs": []
},
{
"name": "rich",
"specs": []
},
{
"name": "paramiko",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "loguru",
"specs": []
},
{
"name": "pyjava",
"specs": [
[
">=",
"0.6.21"
]
]
},
{
"name": "fastapi",
"specs": []
},
{
"name": "uvicorn",
"specs": []
},
{
"name": "retrying",
"specs": []
},
{
"name": "zhipuai",
"specs": []
},
{
"name": "dashscope",
"specs": []
},
{
"name": "tiktoken",
"specs": []
},
{
"name": "tabulate",
"specs": []
},
{
"name": "jupyter_client",
"specs": []
},
{
"name": "prompt-toolkit",
"specs": []
},
{
"name": "tokenizers",
"specs": []
},
{
"name": "aiofiles",
"specs": []
},
{
"name": "readerwriterlock",
"specs": []
},
{
"name": "byzerllm",
"specs": [
[
">=",
"0.1.190"
]
]
},
{
"name": "patch",
"specs": []
},
{
"name": "diff_match_patch",
"specs": []
},
{
"name": "GitPython",
"specs": []
},
{
"name": "openai",
"specs": [
[
">=",
"1.14.3"
]
]
},
{
"name": "anthropic",
"specs": []
},
{
"name": "google-generativeai",
"specs": []
},
{
"name": "protobuf",
"specs": []
},
{
"name": "azure-cognitiveservices-speech",
"specs": []
},
{
"name": "real_agent",
"specs": []
},
{
"name": "duckdb",
"specs": []
},
{
"name": "python-docx",
"specs": []
},
{
"name": "docx2txt",
"specs": []
},
{
"name": "pdf2image",
"specs": []
},
{
"name": "docx2pdf",
"specs": []
},
{
"name": "pypdf",
"specs": []
},
{
"name": "pyperclip",
"specs": []
},
{
"name": "colorama",
"specs": []
},
{
"name": "pylint",
"specs": []
},
{
"name": "reportlab",
"specs": []
},
{
"name": "pathspec",
"specs": []
},
{
"name": "openpyxl",
"specs": []
},
{
"name": "python-pptx",
"specs": []
},
{
"name": "watchfiles",
"specs": []
},
{
"name": "cairosvg",
"specs": []
},
{
"name": "matplotlib",
"specs": []
},
{
"name": "mammoth",
"specs": []
},
{
"name": "markdownify",
"specs": []
},
{
"name": "pdfminer.six",
"specs": []
},
{
"name": "puremagic",
"specs": []
},
{
"name": "pydub",
"specs": []
},
{
"name": "youtube-transcript-api",
"specs": []
},
{
"name": "SpeechRecognition",
"specs": []
},
{
"name": "pathvalidate",
"specs": []
},
{
"name": "pexpect",
"specs": []
},
{
"name": "mcp",
"specs": []
},
{
"name": "setuptools",
"specs": []
},
{
"name": "filelock",
"specs": []
},
{
"name": "argcomplete",
"specs": []
}
],
"lcname": "autocoder-rag-sdk"
}