【AI】Python调用讯飞星火大模型接口,轻松实现文本生成

这篇具有很好参考价值的文章主要介绍了【AI】Python调用讯飞星火大模型接口,轻松实现文本生成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

随着chatGPT的出现,通用大模型已经成为了研究的热点,由于众所周知的原因,亚太地区调用经常会被禁,在国内,讯飞星火大模型是一个非常优秀的中文预训练模型。本文将介绍如何使用Python调用讯飞星火大模型接口,实现文本生成等功能。

1. 安装API库

需要安装库,在命令行中输入以下命令进行安装:

pip3 install websocket
pip3 install websocket-client

2. 获取讯飞星火大模型API密钥

在使用讯飞星火大模型API之前,需要先获取一个API密钥。请访问讯飞开放平台官网(https://www.xfyun.cn/),注册账号并登录后,进入“我的应用”页面,创建一个新的应用
【AI】Python调用讯飞星火大模型接口,轻松实现文本生成,人工智能,python,开发语言

在工单中申请API密钥:
【AI】Python调用讯飞星火大模型接口,轻松实现文本生成,人工智能,python,开发语言

3. 调用讯飞星火大模型API进行文本生成

参考官方api:https://www.xfyun.cn/doc/spark/Web.html
下面演示如何使用Python调用讯飞星火大模型接口进行文本生成。需要导入所需的库,并设置API密钥:【AI】Python调用讯飞星火大模型接口,轻松实现文本生成,人工智能,python,开发语言

import _thread as thread
import base64
import datetime
import hashlib
import hmac
import json
from urllib.parse import urlparse
import ssl
from datetime import datetime
from time import mktime
from urllib.parse import urlencode
from wsgiref.handlers import format_date_time

import websocket
global result
import os
 class Ws_Param(object):
        # 初始化
        def __init__(self, APPID, APIKey, APISecret, gpt_url):
            self.APPID = APPID
            self.APIKey = APIKey
            self.APISecret = APISecret
            self.host = urlparse(gpt_url).netloc
            self.path = urlparse(gpt_url).path
            self.gpt_url = gpt_url

        # 生成url
        def create_url(self):
            # 生成RFC1123格式的时间戳
            now = datetime.now()
            date = format_date_time(mktime(now.timetuple()))

            # 拼接字符串
            signature_origin = "host: " + self.host + "\n"
            signature_origin += "date: " + date + "\n"
            signature_origin += "GET " + self.path + " HTTP/1.1"

            # 进行hmac-sha256进行加密
            signature_sha = hmac.new(self.APISecret.encode('utf-8'), signature_origin.encode('utf-8'),
                                    digestmod=hashlib.sha256).digest()

            signature_sha_base64 = base64.b64encode(signature_sha).decode(encoding='utf-8')

            authorization_origin = f'api_key="{self.APIKey}", algorithm="hmac-sha256", headers="host date request-line", signature="{signature_sha_base64}"'

            authorization = base64.b64encode(authorization_origin.encode('utf-8')).decode(encoding='utf-8')

            # 将请求的鉴权参数组合为字典
            v = {
                "authorization": authorization,
                "date": date,
                "host": self.host
            }
            # 拼接鉴权参数,生成url
            url = self.gpt_url + '?' + urlencode(v)
            # 此处打印出建立连接时候的url,参考本demo的时候可取消上方打印的注释,比对相同参数时生成的url与自己代码生成的url是否一致
            return url


        # 收到websocket错误的处理
        def on_error(ws, error):
            print("### error:", error)


        # 收到websocket关闭的处理
        def on_close(ws):
            print("### closed ###")


        # 收到websocket连接建立的处理
        def on_open(ws):
            thread.start_new_thread(run, (ws,))


        def run(ws, *args):
            data = json.dumps(gen_params(appid=ws.appid, question=ws.question))
            ws.send(data)


        # 收到websocket消息的处理
        def on_message(ws, message):
            global result 
            # print(message)
            data = json.loads(message)
            code = data['header']['code']
            if code != 0:
                print(f'请求错误: {code}, {data}')
                ws.close()
            else:
                choices = data["payload"]["choices"]
                status = choices["status"]
                content = choices["text"][0]["content"]
                result += content
                print(content, end='')
                if status == 2:
                    ws.close()")

4. 代码解释

这段代码定义了一个名为Ws_Param的类,用于处理WebSocket请求。以下是代码中各个方法的解释:

  1. __init__(self, APPID, APIKey, APISecret, gpt_url):初始化方法,用于设置类的实例变量。其中,APPID、APIKey、APISecret分别表示讯飞开放平台的应用ID、API Key和API Secret;gpt_url表示讯飞语音合成服务的URL。

  2. create_url(self):生成请求的URL。根据当前时间生成RFC1123格式的时间戳;然后,拼接签名字符串,包括host、date和GET请求行;接着,使用hmac-sha256算法对签名字符串进行加密;将加密后的签名字符串进行Base64编码,并将其添加到鉴权参数中,生成完整的URL。

  3. on_error(ws, error):收到WebSocket错误的处理方法。当WebSocket连接发生错误时,会调用此方法。

  4. on_close(ws):收到WebSocket关闭的处理方法。当WebSocket连接关闭时,会调用此方法。

  5. on_open(ws):收到WebSocket连接建立的处理方法。当WebSocket连接建立时,会调用此方法。在此处,会启动一个新的线程来运行run函数。

  6. run(ws, *args):运行函数,用于向讯飞语音合成服务发送请求。根据WebSocket实例的appid和question属性生成请求参数;然后,将请求参数转换为JSON字符串并通过WebSocket发送。

  7. on_message(ws, message):收到WebSocket消息的处理方法。当从讯飞语音合成服务接收到消息时,会调用此方法。解析接收到的消息;然后,根据消息中的code判断请求是否成功;如果成功,则将返回的内容累加到全局变量result中,并打印出来;如果code不为0,表示请求失败,此时关闭WebSocket连接。

5.自动保存

最好把每次调用接口保存下来,并总结一些常用的话术,如起名,指定markdown格式等:文章来源地址https://www.toymoban.com/news/detail-699401.html

# -*- coding: utf-8 -*-
import sys
import os
sys.path.append(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
import requests, json,time
from ai import SparkApi
from util import file_util
def write(prefix, titile):
    result = SparkApi.api(prefix + titile)   
    result = result.replace('我们','').replace('首先,','').replace('其次,','').replace('最后,','')
    file_util.write(os.path.join(r'./data', titile + '.md'), result)
def article(titile):   
    prefix = '假如你是一个公众号博主,请以markdown格式写一篇1500字的文章并起10个吸引人的标题,从第二级标题开始,'  
    write(prefix, titile)
def replace(titile):
    result = file_util.read(os.path.join(r'./data', titile + '.md'))
    result = result.replace('我们','').replace('首先,','').replace('其次,','').replace('最后,','')
    file_util.write(os.path.join(r'./data', titile + '.md'), result)
def code(titile, code_str):
    prefix = '假如你是一个公众号博主,请以markdown格式写一篇1500字的文章,解释如下代码:'  
    write(prefix + code_str, titile)
if __name__ ==  '__main__':
    startTime=time.time()        
    article("python调用讯飞星火大模型接口")
    endTime=time.time()
    print(str(endTime-startTime))''')

到了这里,关于【AI】Python调用讯飞星火大模型接口,轻松实现文本生成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解锁讯飞星火:从零开始,教你如何轻松驾驭这款全能AI工具

    星火助手中心   |  原创作者/编辑:凯哥Java                      |  分类:人工智能学习系列教程 0 1 前言 在之前的文章中,介绍了AI的好处,但是我们知道,因为种种原因,在国内想要访问AI需要通过上网手段才可以访问到,而且还有封号风险。今天凯哥给大家介绍一款

    2024年02月21日
    浏览(58)
  • 免费200万Tokens 用科大讯飞API调用星火大模型服务

    简介 自ChatGPT火了之后,国内的大模型发展如雨后春笋。其中的佼佼者之一就是科大讯飞研发的星火大模型,现在大模型已经更新到V3nbsp;版本,而且对开发者也是相当友好, 注册就送200万tokens ,讯飞1tokensnbsp;约等于nbsp;1.5nbsp;个中文汉字 或者nbsp;0.8nbsp;个英文单词。所以200万to

    2024年01月20日
    浏览(47)
  • 微信公众号接入讯飞星火AI大模型

    最近各种AI大模型开始强势进入大家视野,平时工作和娱乐中也都有使用过。刚好最近阿光在逛B站的时候看见一位阿婆主:技术爬爬虾 开源了自己搞的一套微信AI助理,使用了讯飞的星火大模型,实现了借助微信公众号接入AI的功能。 刚好阿光手上还有闲置的微信公众号和老

    2024年01月25日
    浏览(59)
  • 【AI大模型】“讯飞星火”大模型计划10月底赶超ChatGPT

    ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区 📙 专栏地址:AI大模型 5月6日,讯飞星火认知大模型成果发布会在安徽合肥举行。科大讯飞董事长刘庆峰、研究院院长刘聪发布讯飞星火认知大模型,现场

    2024年02月04日
    浏览(43)
  • AI —— 亲测讯飞星火认知大模型,真的很酷!

        😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!!! 😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主! 😘博主小留言:哈喽! 😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不

    2024年02月15日
    浏览(33)
  • 国内又款智能AI聊天软件-科大讯飞星火模型

    中国科大讯飞星火GPT聊天软件是一款基于自然语言处理技术的人工智能聊天机器人。它利用了大量的文本数据,通过深度学习模型进行训练,从而实现与用户的智能对话。讯飞星火GPT聊天软件能够理解用户输入的问题或指令,并根据预设的回答模式来生成合适的回答。 使用讯

    2024年02月03日
    浏览(51)
  • 【AI大模型】“讯飞星火”认知大模型正式发布 计划10月底赶超ChatGPT

    ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区 📙 专栏地址:AI大模型 5月6日,讯飞星火认知大模型成果发布会在安徽合肥举行。科大讯飞董事长刘庆峰、研究院院长刘聪发布讯飞星火认知大模型,现场

    2024年02月04日
    浏览(33)
  • 3秒钟接入讯飞星火AI大模型就是这么快(Java版)

    https://xinghuo.xfyun.cn/ https://xinghuo.xfyun.cn/sparkapi 随便填 https://console.xfyun.cn/services/bm3 目录 1、注册讯飞星火账号 2、领取token 2.1把3.0和1.5的套餐都领了 2.2、 领取的时候创建应用 2.3、选择创建的应用,拉到最下面下单购买 2.4购买成功后可以查看购买的key信息 一会要用 3、开始部

    2024年04月10日
    浏览(66)
  • 体验百度文心一言AI大模型、通义千问AI大模型和讯飞星火AI大模型生成庄小威biography

    庄小威,1972年1月出生于中国江苏省如皋市,是一位生物物理学家,现为哈佛大学化学与化学生物、物理学双聘教授。在她的职业生涯中,庄小威获得了许多国内外奖项,展现了她的才华和风格。 她是美国国家科学院院士、美国艺术与科学学院院士、美国国家医学科学院院士

    2024年01月16日
    浏览(51)
  • 《花雕学AI》讯飞星火认知大模型的特点和优势,与ChatGPT的对比分析

    引言: 人工智能是当今科技领域的热门话题,自然语言处理是人工智能的重要分支。自然语言处理的目标是让计算机能够理解和生成自然语言,实现人机交互和智能服务。近年来,随着深度学习的发展,自然语言处理领域出现了许多创新和突破,其中最具代表性的就是预训练

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包