Metadata-Version: 2.1
Name: sparkapi-python
Version: 1.0.4
Summary: SparkDesk API and Client
Home-page: https://github.com/suqingdong/sparkapi
Author: suqingdong
Author-email: suqingdong1114@gmail.com
License: MIT License
Description: # SparkDesk API and Client
        > https://www.xfyun.cn/doc/spark/Web.html
        
        ***接口说明***
        注意： 该接口可以正式使用。如您需要申请使用，请点击前往[产品页面 ](https://xinghuo.xfyun.cn/sparkapi?scr=price)
        
        ## Installation
        ```bash
        python3 -m pip install -U sparkapi-python
        ```
        
        ## Configuration
        > copy `example.env` to `~/.sparkapi.env` and edit the file with your credentials.
        ```
        SPARK_APP_ID=<your-app-id>
        SPARK_API_SECRET=<your-api-secret>
        SPARK_API_KEY=<your-api-key>
        SPARK_API_MODEL='v3.0'          # v1.5, v2.0, v3.0, v3.5
        SPARK_CHAT_MAX_TOKENS=4096      # v1.5: 1-4096, v2.0: 1-8192
        SPARK_CHAT_TEMPERATURE=0.5      # 0-1
        SPARK_CHAT_TOP_K=4              # 1-6
        ```
        
        ## Quickstart
        
        ### CommandLine
        ```bash
        sparkapi --help
        
        # start a chat session
        sparkapi chat
        ```
        ![](https://suqingdong.github.io/sparkapi/src/cmd_chat.png)
        
        ```bash
        # get completion from your prompt
        sparkapi prompt 详细介绍一下科大讯飞，输出Markdown结果
        ```
        ![](https://suqingdong.github.io/sparkapi/src/cmd_prompt.png)
        
        ### Python
        ```python
        from sparkapi.core.api import SparkAPI
        from sparkapi.core.config import SparkConfig
        config = SparkConfig().model_dump()
        api = SparkAPI(**config)
        
        # start a chat session
        api.chat()
        
        # get completion from prompt
        res = api.get_completion('hello')
        print(''.join(res))
        
        # get completion from messages
        messages = [
            {'role': 'user', 'content': 'hello'},
            {'role': 'assistant', 'content': 'Hello! How can I assist'},
            {'role': 'user', 'content': 'write me a Python script of BubbleSort'},
        ]
        res = api.get_completion_from_messages(messages)
        print(''.join(res))
        ```
        
        ### Changelog
        
        #### [1.0.4] - 2024-03-04
        - Add support for model `v3.5`
        - Bug fixed: `SparkAPI.get_completion_from_messages`
        
        #### [1.0.3] - 2023-10-26
        - Add support for model `v3.0`
        
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.8
Description-Content-Type: text/markdown
