Skip to main content

ikc-sdk-lib

IKC SDK 家族仓库(Python 模型层),与 /home/open-ikc 对外接口一脉相承、独立维护。 当前整个 SDK 定义为 core:docs/RAG SDK接口.xlsx 中的 4 个免知识库接口 的请求/响应模型(Pydantic v2)。 后续新增 SDK 以 ikc_sdk.<sdk_name> 兄弟子包扩展,不进入 core。

安装

PyPI(推荐)

pip install ikc-sdk-lib                # 最新版(已发布至 PyPI)
pip install "ikc-sdk-lib==0.2.0"       # 固定版本(推荐)
  • 运行环境:Python >=3.12;依赖 pydantic>=2.7(自动安装)。
  • 源码开发态:pip install -e . 后可使用 src/examples/ 中的示例。

内网仓库安装(不依赖 PyPI)

仓库内已提交发布产物 dist/ikc_sdk_lib-0.2.0-py3-none-any.whl,并打了对应版本标签 v0.2.0; 内网环境克隆仓库后安装已提交的 wheel(仓库地址向内部索取):

git clone <ikc-sdk-lib 内部仓库地址>
pip install ikc-sdk-lib/dist/ikc_sdk_lib-0.2.0-py3-none-any.whl

安装后 import ikc_sdk 行为与 PyPI 安装一致。

当前接口范围(core)

# 接口(Excel Sheet) 请求 响应 实现位置
1 解析—独立解析(免知识库)SERVICE ServiceParseDirectRequest ParseResponse ikc_sdk/core/api/parse/direct.py
2 解析—独立解析(免知识库)SDK SdkParseDirectRequest ParseResponse ikc_sdk/core/api/parse/direct.py
3 查询解析结果(免知识库)SDK QueryParseResultRequest QueryParseResultResponse ikc_sdk/core/api/parse/query.py
4 下载解析结果(免知识库)SDK DownloadParseResultRequest DownloadParseResultResponse ikc_sdk/core/api/parse/download.py

目录结构

docs/
  RAG SDK接口.xlsx       # 接口契约唯一定义源
  开发手册.md            # 四接口开发手册(pip 安装 / 流程 / 字段 / 端到端 / 发布)
src/ikc_sdk/
  __init__.py            # 命名空间门面:re-export core 公开 API
  _version.py            # 版本号(分发级)
  core/                  # 核心 SDK(当前整个 SDK)
    __init__.py          # core 公开导出
    enums.py             # 契约枚举(取值以 Excel 为准)
    models/              # 共享模型:响应壳 / 来源 / 解析 / 分段 / 输出 / 任务
    api/                 # 按能力域组织的接口定义
      parse/             # 解析域(已定义):direct(独立解析 SERVICE/SDK)/ query / download
      knowledge_base/    # 知识库域(占位):create / update / get / query
      document/          # 文档域(占位):ingest / parse / ingest_and_parse / upload / get / parse_result/
      search/            # 检索域(占位):universal / deep / query
  <future_sdk>/          # 后续新增 SDK:兄弟子包(如 client 等),不进入 core
src/examples/            # 4 接口开发示例(非包、不参与打包)
scripts/publish-pypi.sh  # PyPI 发布脚本
config/pypi.env.example  # PyPI 凭据模板(真实凭据 pypi.env 不入库)
dist/                    # 发布产物(wheel + sdist,随仓库提交,对应标签 v0.2.0)
AGENTS.md                # 设计与实现契约
pyproject.toml / README.md

使用

规范导入路径为 ikc_sdk.core;顶层 ikc_sdk 门面 re-export core,两种写法等价:

from ikc_sdk import SdkParseDirectRequest          # 门面(兼容)
from ikc_sdk.core import SdkParseDirectRequest     # 规范路径
from ikc_sdk.core import (
    DeclaredSource, SourceMetadata, ParsingOptions, OutputOptions,
    SourceType, DocumentFormat, OutputFormat,
)

req = SdkParseDirectRequest(
    processingOperation="EXTRACT_CHUNK",
    source=DeclaredSource(
        type=SourceType.URL,
        url="https://example.com/doc.pdf",
        metadata=SourceMetadata(docTitle="示例文档"),
    ),
    parsing=ParsingOptions(docFormat=DocumentFormat.PDF),
    output=OutputOptions(formats={OutputFormat.MARKDOWN}),
)
print(req.model_dump_json())

开发手册

面向开发者的四接口完整开发手册(总体流程、公共契约、每个接口的请求/响应字段与代码示例、 端到端链路、错误码、类索引)见 docs/开发手册.md。

开发示例

4 个接口的可运行示例位于 src/examples/(请求构建、契约校验、序列化、响应解析):

cd /home/sharkyai/ikc-sdk-lib
PYTHONPATH=src python3 src/examples/parse_direct_sdk.py
PYTHONPATH=src python3 src/examples/parse_direct_service.py
PYTHONPATH=src python3 src/examples/query_parse_result.py
PYTHONPATH=src python3 src/examples/download_parse_result.py

占位目录(契约待定义)

知识库 / 文档 / 检索三个域目前仅有目录骨架,接口契约待 docs/RAG SDK接口.xlsx 增补后定义 (参考 open-ikc V2 接口清单占位),在契约落定前不定义模型:

域 计划接口 参考
知识库 create / update / get / query open-ikc A-01~A-04
文档 ingest / parse / ingest_and_parse / upload / get / parse_result/{query,issue_ticket,download} open-ikc B-01~B-07
检索 universal / deep / query open-ikc D-01/D-02

版本与发布

项 值
当前版本 0.2.0
PyPI 项目页 https://pypi.org/project/ikc-sdk-lib/
仓库版本标签 v0.2.0(annotated,main 与 dev_20260828 均可达)
仓库发布产物 dist/ikc_sdk_lib-0.2.0-py3-none-any.whl、dist/ikc_sdk_lib-0.2.0.tar.gz
  • 发布到 PyPI:bash scripts/publish-pypi.sh(参考 /home/ikc-log-center);选项 --test、--skip-build、--no-skip-existing、IKC_SDK_VERSION=<ver>。
  • 仓库直装:见「安装」章节 git 标签 / dist wheel 两种方式,不依赖 PyPI。
  • 分支约定:main 为发布基线;功能在 dev_* 分支开发,合并后打版本标签(如 v0.2.0)。
  • 凭据:config/pypi.env(gitignored,勿提交),模板见 config/pypi.env.example。

契约约定

  • 字段命名(camelCase)与枚举值一律以 docs/RAG SDK接口.xlsx 为准,含 Excel 原文拼写(如 keyswordNum、docMetadataPormpt),不得“顺手修正”。
  • 统一响应壳:errCode / errMsg / data / traceId(独立解析与下载接口额外带 taskId)。
  • SDK 版请求面向 API 调用方(source 自声明),SERVICE 版为 API 之后调用后端 service(source 指向已登记文档);两版以 ParseDirectRequestBase 为基类派生,类名严格遵循 Excel Sheet 定义。
  • Excel 引用的对象类型均有对应模型类(映射见 AGENTS.md §3.4,如 ModelConfig);ModelReferences 各字段为 ModelConfig 的 DES 加密串。
  • 完整的设计与实现契约见 AGENTS.md(能力域地图、目录/命名规范、落地工作流、硬性约束)。

Metadata

Release files for ikc-sdk-lib 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ikc-sdk-lib 0.2.0
File Size Uploaded
ikc_sdk_lib-0.2.0.tar.gz 20.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ikc-sdk-lib 0.2.0
File Interpreter ABI Platform
ikc_sdk_lib-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 50.3 kB

Release files / ikc_sdk_lib-0.2.0.tar.gz

Download URL ikc_sdk_lib-0.2.0.tar.gz
Size 20.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2ce3d7cd008f5b8a78cdbd35b4d3c792bde0a575e6c3750bab6c47cdaca89ad0
BLAKE2b-256 checksum
How to use checksums
b0debeb56f74b078628e87c7a93d746472a089f49a3ae83d771a1f9bf28f57b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / ikc_sdk_lib-0.2.0-py3-none-any.whl

Download URL ikc_sdk_lib-0.2.0-py3-none-any.whl
Size 30.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab050f450facc1f06bc36dc8873fb41e851acf7b03ae9eeb160bcc033662ad1e
BLAKE2b-256 checksum
How to use checksums
90c9e9788e1925957f6fba1fd8f22b722b9d3177f2200d12c1caa85361b7189f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.20.0

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.3

2 release files

0.8.2

1 release file

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page