Name | descartcan JSON |
Version |
2025.7.22.1
JSON |
| download |
home_page | None |
Summary | A Python toolkit for advanced data processing and API interactions |
upload_time | 2025-07-22 12:31:30 |
maintainer | None |
docs_url | None |
author | DescartCan |
requires_python | >=3.10 |
license | None |
keywords |
api
toolkit
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# descartcan
### LLM
#### Step1, llm_config.yaml
```yaml
openai:
keys:
- name: "openai_key1"
api_key: "XXX"
models:
gpt4: "gpt-4-0125-preview"
gpt40: "gpt-4o"
bedrock:
keys:
- name: "bedrock"
api_key: "XXX"
api_secret: "XXXXX"
models:
haiku35: "us.anthropic.claude-3-5-haiku-20241022-v1:0"
```
#### Step2, load models
```python
from descartcan.llm.factory import LLModelFactory
model_factory = LLModelFactory.from_config(config="llm_config.yaml")
model = model_factory.get_model("openai.gpt4")
# 单轮对话
response = await model.chat(
question="Show Python",
system="你是一个编程专家"
)
print(f"回复: {response.content}")
print(f"Token统计: 提示词{response.prompt_tokens}, 生成{response.completion_tokens}, 总计{response.total_tokens}")
# 多轮对话
history = [
{"role": "user", "content": "Python和Java的区别是什么?"},
{"role": "assistant", "content": "Python和Java有以下主要区别:..."}
]
response = await model.chat(
question="哪个更适合初学者?",
system="你是一个编程专家",
history=history
)
print(f"多轮对话回复: {response.content}")
```
Raw data
{
"_id": null,
"home_page": null,
"name": "descartcan",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "api, toolkit",
"author": "DescartCan",
"author_email": "louishwh@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b8/c9/f971688e96ec66404f53ff5497683f26feeb6a62f37d431e328f5e820307/descartcan-2025.7.22.1.tar.gz",
"platform": null,
"description": "\n# descartcan\n\n### LLM\n\n#### Step1, llm_config.yaml\n\n```yaml\nopenai:\n keys:\n - name: \"openai_key1\"\n api_key: \"XXX\"\n models:\n gpt4: \"gpt-4-0125-preview\"\n gpt40: \"gpt-4o\"\n\nbedrock:\n keys:\n - name: \"bedrock\"\n api_key: \"XXX\"\n api_secret: \"XXXXX\"\n models:\n haiku35: \"us.anthropic.claude-3-5-haiku-20241022-v1:0\"\n\n```\n\n#### Step2, load models\n\n```python\nfrom descartcan.llm.factory import LLModelFactory\nmodel_factory = LLModelFactory.from_config(config=\"llm_config.yaml\")\nmodel = model_factory.get_model(\"openai.gpt4\")\n\n# \u5355\u8f6e\u5bf9\u8bdd\nresponse = await model.chat(\n question=\"Show Python\",\n system=\"\u4f60\u662f\u4e00\u4e2a\u7f16\u7a0b\u4e13\u5bb6\"\n)\nprint(f\"\u56de\u590d: {response.content}\")\nprint(f\"Token\u7edf\u8ba1: \u63d0\u793a\u8bcd{response.prompt_tokens}, \u751f\u6210{response.completion_tokens}, \u603b\u8ba1{response.total_tokens}\")\n\n# \u591a\u8f6e\u5bf9\u8bdd\nhistory = [\n {\"role\": \"user\", \"content\": \"Python\u548cJava\u7684\u533a\u522b\u662f\u4ec0\u4e48\uff1f\"},\n {\"role\": \"assistant\", \"content\": \"Python\u548cJava\u6709\u4ee5\u4e0b\u4e3b\u8981\u533a\u522b\uff1a...\"}\n]\nresponse = await model.chat(\n question=\"\u54ea\u4e2a\u66f4\u9002\u5408\u521d\u5b66\u8005\uff1f\",\n system=\"\u4f60\u662f\u4e00\u4e2a\u7f16\u7a0b\u4e13\u5bb6\",\n history=history\n)\nprint(f\"\u591a\u8f6e\u5bf9\u8bdd\u56de\u590d: {response.content}\")\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python toolkit for advanced data processing and API interactions",
"version": "2025.7.22.1",
"project_urls": {
"Bug Tracker": "https://github.com/DescartCan/dc_python_kit/issues",
"Documentation": "https://doc.descart.com/",
"Source Code": "https://github.com/DescartCan/dc_python_kit"
},
"split_keywords": [
"api",
" toolkit"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "87b561d6789841669437402bb8cfdd77017f266da5256197b85595ff1a413ceb",
"md5": "d45dc1e5224216350ee67c3719ca5bf5",
"sha256": "1d2164768da49971780a2af92f5746e3e56a8c49d051e0d9b1547da5b4a0826e"
},
"downloads": -1,
"filename": "descartcan-2025.7.22.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d45dc1e5224216350ee67c3719ca5bf5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 73757,
"upload_time": "2025-07-22T12:31:28",
"upload_time_iso_8601": "2025-07-22T12:31:28.741637Z",
"url": "https://files.pythonhosted.org/packages/87/b5/61d6789841669437402bb8cfdd77017f266da5256197b85595ff1a413ceb/descartcan-2025.7.22.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b8c9f971688e96ec66404f53ff5497683f26feeb6a62f37d431e328f5e820307",
"md5": "d3d5e2449575ec84675d4771778f9c9e",
"sha256": "24d742ec27710249d101705b46e1145df90838f1c1d836fa7a860098a53bd45c"
},
"downloads": -1,
"filename": "descartcan-2025.7.22.1.tar.gz",
"has_sig": false,
"md5_digest": "d3d5e2449575ec84675d4771778f9c9e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 47405,
"upload_time": "2025-07-22T12:31:30",
"upload_time_iso_8601": "2025-07-22T12:31:30.620472Z",
"url": "https://files.pythonhosted.org/packages/b8/c9/f971688e96ec66404f53ff5497683f26feeb6a62f37d431e328f5e820307/descartcan-2025.7.22.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-22 12:31:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DescartCan",
"github_project": "dc_python_kit",
"github_not_found": true,
"lcname": "descartcan"
}