调用讯飞星火api学习demo
  xWYnr39PTA9E 2023年11月25日 19 0

学习链接

https://www.bilibili.com/video/BV1Yw411m7Rs/?spm_id_from=333.337.search-card.all.click&vd_source=441ed12ec48d03afe294e7c5f663a0d3


学习一:讯飞星火创建应用后使用test.py文件调用

https://www.bilibili.com/video/BV1Yw411m7Rs/?spm_id_from=333.337.search-card.all.click&vd_source=441ed12ec48d03afe294e7c5f663a0d3

本视频讲述了如何使用Python调用讯飞星火认知大模型API。首先需要注册星火,获取认证码,然后选择个人认证。最后通过复制app id、粘贴APIT和API key到样例包中,即可使用。讯飞星火认知大模型可以快速回答问题,并用Python轻松调用。

打开网址:讯飞星火api https://xinghuo.xfyun.cn/sparkapi

调用讯飞星火api学习demo_spark

调用讯飞星火api学习demo_GPT_02

调用讯飞星火api学习demo_讯飞星火_03

调用讯飞星火api学习demo_Python_04

登录

调用讯飞星火api学习demo_讯飞星火_05

讯飞星火应用网址:https://console.xfyun.cn/app/myapp

调用讯飞星火api学习demo_讯飞星火_06

看这个视频学的是调用2.0版本的api,后面写一个3.0的api。

【但是好像APPID什么的接口认证信息都一样不知道有什么区别】

【可能是下载的SDK和文档什么的不一样吧】

接口调用流程图

调用讯飞星火api学习demo_Python_07

查看web api文档

文档网址:https://www.xfyun.cn/doc/spark/Web.html#_2-function-call%E8%AF%B4%E6%98%8E

调用讯飞星火api学习demo_讯飞星火_08

调用讯飞星火api学习demo_讯飞星火_09

调用讯飞星火api学习demo_讯飞星火_10

这里的示例先使用Python调用。

Python调用示例

点击Python调用示例之后就会下载一个文件。

调用讯飞星火api学习demo_Python_11

文件下载链接:https://xfyun-doc.cn-bj.ufileos.com/static%2F16974374635522820%2FSparkApi_Python.zip

解压完文件后可以看到有两个py文件。

调用讯飞星火api学习demo_GPT_12

调用讯飞星火api学习demo_API调用_13

调用讯飞星火api学习demo_GPT_14

直接在项目中打开,下面是test.py文件的完整代码

import SparkApi
 #以下密钥信息从控制台获取
 appid = "XXXXXXXX"     #填写控制台中获取的 APPID 信息
 api_secret = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"   #填写控制台中获取的 APISecret 信息
 api_key ="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"    #填写控制台中获取的 APIKey 信息
 
 #用于配置大模型版本,默认“general/generalv2”
 domain = "general"   # v1.5版本
 # domain = "generalv2"    # v2.0版本
 #云端环境的服务地址
 Spark_url = "ws://spark-api.xf-yun.com/v1.1/chat"  # v1.5环境的地址
 # Spark_url = "ws://spark-api.xf-yun.com/v2.1/chat"  # v2.0环境的地址
 
 text =[]
 # length = 0
 
 def getText(role,content):
     jsoncon = {}
     jsoncon["role"] = role
     jsoncon["content"] = content
     text.append(jsoncon)
     return text
 
 def getlength(text):
     length = 0
     for content in text:
         temp = content["content"]
         leng = len(temp)
         length += leng
     return length
 
 def checklen(text):
     while (getlength(text) > 8000):
         del text[0]
     return text
 
 if __name__ == '__main__':
     text.clear
     while(1):
         Input = input("\n" +"我:")
         question = checklen(getText("user",Input))
         SparkApi.answer =""
         print("星火:",end = "")
         SparkApi.main(appid,api_key,api_secret,Spark_url,domain,question)
         getText("assistant",SparkApi.answer)
         # print(str(text))

可以发现基本上我们只用改第三行到第五行的变量数据即可(自己的接口认证信息)

调用讯飞星火api学习demo_Python_15

修改了之后直接运行:

报错显示:

C:\ProgramData\anaconda3\envs\python3_10\python.exe C:\Users\Desktop\Python画图\static_16919367030710594_SparkApi_Python\test.py 
 Traceback (most recent call last):
   File "C:\Users\\Desktop\Python画图\static_16919367030710594_SparkApi_Pyth
 on\test.py", line 1, in <module>
     import SparkApi
   File "C:\Users\Desktop\Python画图\static_16919367030710594_SparkApi_Pyth
 on\SparkApi.py", line 14, in <module>
     import websocket  # 使用websocket_client
 ModuleNotFoundError: No module named 'websocket'
 Process finished with exit code 1

调用讯飞星火api学习demo_API调用_16

调用讯飞星火api学习demo_GPT_17

安装websocket-client库

好的,说是没有websocket模块(websocket-client)。我这就去anaconda3安装模块。

pip install websocket-client

调用讯飞星火api学习demo_spark_18

调用讯飞星火api学习demo_spark_19

调用讯飞星火api学习demo_GPT_20

调用讯飞星火api学习demo_GPT_21

安装后就能正常运行了。


运行api文件

右键运行文件,在下面出现问题和回答方框。

可以在我:后面输入问题

在星火后面是你输入的问题提交给星火后,星火返回的tokens。当然提问的tokens也会算上的。

调用讯飞星火api学习demo_API调用_22

然后我觉得这个回答的样式太单调了。在api.py文件的main调用里面修改了一下样式。


修改使用的模型版本

在api.py文件中有下面这段代码:

#用于配置大模型版本,默认“general/generalv2”
 domain = "general"   # v1.5版本
 # domain = "generalv2"    # v2.0版本
 #云端环境的服务地址
 Spark_url = "ws://spark-api.xf-yun.com/v1.1/chat"  # v1.5环境的地址
 # Spark_url = "ws://spark-api.xf-yun.com/v2.1/chat"  # v2.0环境的地址

现在出了个v3版本的,这里面没看到,盲猜一波generalv3,

ws://spark-api.xf-yun.com/v3.1/chat是在3.0版本的接口地址上写了的。

调用讯飞星火api学习demo_spark_23


修改后的代码(发文不带上这代码部分)

'''
 修改了:
     接口认证信息(appid、appsecret、apikey)
     回答时的人名格式等
     没修改模型版本号
 '''

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月25日 0

暂无评论

推荐阅读
  tprTMCWDkFAR   2023年12月08日   13   0   0 PythonCode
  QtpjMRSUUfXb   2023年11月19日   25   0   0 赋值Python
  xWYnr39PTA9E   2023年11月19日   31   0   0 迭代Python数组
xWYnr39PTA9E