Name | descartcan JSON |
Version |
2025.9.4.1
JSON |
| download |
home_page | None |
Summary | A Python toolkit for advanced data processing and API interactions |
upload_time | 2025-09-04 00:08:35 |
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/50/33/5195c73ac56f67c5bf1a79df44c586b6ce7ce3f6d8f92bff0f2900708c4a/descartcan-2025.9.4.1.tar.gz",
"platform": null,
"description": "\n# descartcan\n\n### LLM\n\n#### Step1\n\nllm_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 \n\nload 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]\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.9.4.1",
"project_urls": {
"Bug Tracker": "https://github.com/DescartCan/python_kit/issues",
"Documentation": "https://doc.descart.com/",
"Source Code": "https://github.com/DescartCan/python_kit"
},
"split_keywords": [
"api",
" toolkit"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "4b895173f197b776bfa4ef8879244f18c791ef1eafd59d33850b2b8d57141472",
"md5": "5b13af34e502fac1dfaf807ae7acfe7f",
"sha256": "376235390bdb94be74b9d7d53fe419b936913b22017f7b5139f4cab4a89cc014"
},
"downloads": -1,
"filename": "descartcan-2025.9.4.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5b13af34e502fac1dfaf807ae7acfe7f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 82483,
"upload_time": "2025-09-04T00:08:25",
"upload_time_iso_8601": "2025-09-04T00:08:25.390843Z",
"url": "https://files.pythonhosted.org/packages/4b/89/5173f197b776bfa4ef8879244f18c791ef1eafd59d33850b2b8d57141472/descartcan-2025.9.4.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "50335195c73ac56f67c5bf1a79df44c586b6ce7ce3f6d8f92bff0f2900708c4a",
"md5": "d0341df08c0c8820faa21191531b5d81",
"sha256": "41cfb5cfc22a36e720d1b5ef0118efb973b61ce4750b97d920ebab4a6fd0b857"
},
"downloads": -1,
"filename": "descartcan-2025.9.4.1.tar.gz",
"has_sig": false,
"md5_digest": "d0341df08c0c8820faa21191531b5d81",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 54542,
"upload_time": "2025-09-04T00:08:35",
"upload_time_iso_8601": "2025-09-04T00:08:35.580499Z",
"url": "https://files.pythonhosted.org/packages/50/33/5195c73ac56f67c5bf1a79df44c586b6ce7ce3f6d8f92bff0f2900708c4a/descartcan-2025.9.4.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-04 00:08:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DescartCan",
"github_project": "python_kit",
"github_not_found": true,
"lcname": "descartcan"
}