Metadata-Version: 2.1
Name: xunfei-spark-python
Version: 0.0.5
Summary: 科大讯飞星火大模型SDK
Home-page: https://github.com/sunmh207/xunfei-spark-python
Author: Stanley Sun
Author-email: stanley.java@gmail.com
License: MIT
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.7.0
Description-Content-Type: text/markdown
Requires-Dist: websocket-client ==1.7.0


# 科大讯飞星火模型 Python SDK

## 介绍

关于科大讯飞星火模型 Python调用，科大讯飞官网仅给出了Web API文档。 本项目是对官方Web API封装，便于用户调用。

## 安装

```
pip install xunfei-spark-python==0.0.1
```

## 使用

### 问答接口

```python
from xunfei.spark._client import Spark
from xunfei.spark._response import ChatResponse

if __name__ == '__main__':
    config = {
        "app_id": "{your_app_id}",
        "api_secret": "{your_api_secret}",
        "api_key": "{your_api_key}",
        "gpt_url": "wss://spark-api.xf-yun.com/v3.5/chat",
        "domain": "generalv3.5",
    }
    spark = Spark(**config)
    messages = [{"role": "user", "content": "你是谁开发的？"}]

    # 非stream模式调用示例
    response: ChatResponse = spark.chat(messages=messages)
    print('AI:', response.content)
    print('Token使用量:', response.usage)

### Stream模式问答接口
    
```python
from xunfei.spark._client import Spark
from xunfei.spark._response import ChatResponse

if __name__ == '__main__':
    config = {
        "app_id": "{your_app_id}",
        "api_secret": "{your_api_secret}",
        "api_key": "{your_api_key}",
        "gpt_url": "wss://spark-api.xf-yun.com/v3.5/chat",
        "domain": "generalv3.5",
    }
    spark = Spark(**config)
    messages = [{"role": "user", "content": "你是谁开发的？"}]

    for message in spark.chat_stream(messages=messages):
        if message:
            if 'type' in message and message['type'] == 'chunk':
                print(f"客户端接受到的消息: {message}")
            elif 'type' in message and message['type'] == 'stop':
                print(f"结束")
                break
