Skip to main content

a sdk spark for xfyun

Project description

xfyunsdkspark

xfyunsdkspark是讯飞开放平台星火大模型相关 API的Python SDK,提供智能PPT超拟人合成简历生成大模型语音识别一句话复刻一句话训练星火智能体超拟人交互超拟人个性化知识库等功能的客户端实现。

如需大模型对话功能以及生态支持详情等请访问讯飞星火大模型接入库

功能特点

  • 智能PPT:通过用户提示和模板生成PPT
  • 超拟人合成:通过文本内容生成不通角色的超拟人音频
  • 简历生成:根据用户提示生成简历
  • 大模型语音识别:支持方言、普通话、多语种等大模型智能语音识别
  • 一句话复刻:通过一句话训练复刻的用户声纹, 生成语音
  • **星火智能体:**通过工作流编排创建智能体,通过串联各个功能节点,实现对复杂业务流程的编排,一般适用于流程相对复杂或功能更为丰富的任务场景,如:AI 客服、行业资讯、绘本创作等
  • **超拟人交互:**和超拟人进行实时会话
  • **超拟人个性化知识库:**在超拟人交互链路中上传自己的个性化知识库场景

安装方法

pip install xfyunsdkspark

依赖说明

  • xfyunsdkcore>=0.1.0: 核心SDK依赖
  • python-dotenv: 环境变量管理

快速开始

超拟人合成

from xfyunsdkspark.oral_client import OralClient

# 初始化客户端
client = OralClient(
    app_id=os.getenv('APP_ID'),  # 替换为你的应用ID
    api_key=os.getenv('API_KEY'),  # 替换为你的API密钥
    api_secret=os.getenv('API_SECRET'),  # 替换为你的API密钥
    encoding="raw",
    sample_rate=16000
)

for chunk in client.stream(text):
    if chunk.get("audio") and chunk["audio"]["audio"]:
        audio_chunk = base64.b64decode(chunk["audio"]["audio"])
        audio_bytes.extend(audio_chunk)
        if chunk.get("pybuf") and chunk["pybuf"].get("text"):
            pybuf_chunk = base64.b64decode(chunk["pybuf"]["text"]).decode("utf-8")
            logger.info(f"收到音素信息,{pybuf_chunk}")
            pybuf_list.append(pybuf_chunk)
        else:
            logger.info(f"收到一块音频,大小 {len(audio_chunk)} 字节")
logger.info(f"音频总大小: {len(audio_bytes)} 字节")

更多示例见demo

核心客户端

AIPPTClient

根据用户提示和提供的200+模板生成PPT

OralClient

流式的方式输入文本,并流式获取文本合成的音频流

ResumeGenClient

简历智能生成,定制化需求:无论是面向校园招聘还是社会招聘,只需输入个人信息与求职需求,即刻量身打造专业简历,一键生成1~3份完整简历模板加内容

SparkIatClient

中英识别大模型识别能力,将短音频(≤60秒)精准识别成文字,实时返回文字结果,真实还原语音内容

方言大模型,支持普通话,简单英语和202种方言全免切,无需显示指定语种

大模型多语种语音识别能力,将多语种短音频(≤60秒)精准识别成文字,实时返回文字结果,真实还原语音内容

VoiceTrainClient

训练音频准备(通过/task/traintext 查询出来录音文本列表,根据选择的文本进行录音)注意:要求录音音频和文本保持一致,否则会导致音频检测失败。

创建训练任务(通过/task/add 创建训练任务)

向训练任务添加音频(url链接) (通过 /audio/v1/add 给训练任务添加准备好的训练音频)

提交训练任务 (通过/task/submit 方法提交已经添加音频的训练任务)

向训练任务添加音频(本地文件)并提交训练任务 (通过 /task/submitWithAudio 给训练任务添加准备好的训练音频)

查询训练任务状态 (通过/task/result 查询训练任务状态,训练成功后即可进入合成阶段

VoiceCloneClient

上传文本通过训练出的音色资源进行合成 , 支持合成中、英、日、韩、俄五种语言

AgentClient

上提供与星火智能体API交互的功能,包括工作流执行、恢复和文件上传等操作

OralChatClient

超拟人交互对话服务 , 提供全双工和单工模式

AiUiKnowledgeClient

超拟人交互对话服务 , 在超拟人交互链路中上传自己的个性化知识库场景

许可证

请参见LICENSE文件

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xfyunsdkspark-0.0.3.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xfyunsdkspark-0.0.3-py3-none-any.whl (35.5 kB view details)

Uploaded Python 3

File details

Details for the file xfyunsdkspark-0.0.3.tar.gz.

File metadata

  • Download URL: xfyunsdkspark-0.0.3.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.1

File hashes

Hashes for xfyunsdkspark-0.0.3.tar.gz
Algorithm Hash digest
SHA256 8a2ecb4453ceed5cd7422bf231e770fa0f504eb6b28510b0417f49dc2d0ef2dd
MD5 3a9da2669cde2f248f512193dfa2b01d
BLAKE2b-256 6fd4cbd017a71b429dada5ae87c66147f5f387b962ef3cb2da44bed99c6b015f

See more details on using hashes here.

File details

Details for the file xfyunsdkspark-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: xfyunsdkspark-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 35.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.1

File hashes

Hashes for xfyunsdkspark-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c6463b391cc6514007cb575bb15dbed9d855f9a052f254f4ef21ad8c26ede3ce
MD5 396e5e090187ede97f99a6484697f9b0
BLAKE2b-256 9e84b8557aefff587f0a9ea747e6d716a9c469468eee8895626eecc3e8d354d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page