利用Python语言调用讯飞星火认知大模型接口实战指南

news2024/12/25 1:00:51

什么是API接口

API(应用程序编程接口)是一组规则,允许不同的软件系统相互通信。通过API,开发者可以访问外部系统的功能和数据,而无需了解其内部实现。
API接口就像一座桥梁,连接应用程序和服务。例如,调用讯飞星火认知大模型接口时,开发者可以通过API请求获取自然语言处理、语音识别等智能服务。这简化了复杂功能的使用,并提升了开发效率。

大多数API使用HTTP/HTTPS协议,并采用REST风格。REST通过标准的HTTP动词(如GET、POST)对资源进行操作。理解API接口的基础知识是现代开发者的必备技能。

利用Python语言对接讯飞星火认知大模型接口步骤

通过以下步骤,我们可以快速集成并调用讯飞星火认知大模型,实现自然语言处理功能。

步骤一:安装必要的Python包

首先,确保您的Python环境版本为3.8或更高版本。然后,通过以下命令安装spark_ai_python包:

pip install --upgrade spark_ai_python

步骤二:配置调用参数

在开始编写代码之前,需要准备好API的相关配置信息,包括API的URL、应用ID、API密钥和密钥信息等。这些信息可以在讯飞开放平台控制台获取。
具体的:
1、查找API
可以通过幂简集成-API HUB快速找到大量AI技术相关API,心仪的API可以在登录后添加到个人书签,便于下次使用快速查找。


2、创建应用

控制台-讯飞开放平台


3、获取秘钥

控制台-讯飞开放平台

步骤三:编写Python代码

以下是一个示例代码,展示了如何使用Python调用讯飞星火认知大模型API:

from sparkai.llm.llm import ChatSparkLLM, ChunkPrintHandler
from sparkai.core.messages import ChatMessage

# 配置参数
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v3.5/chat'
SPARKAI_APP_ID = 'your_app_id'
SPARKAI_API_SECRET = 'your_api_secret'
SPARKAI_API_KEY = 'your_api_key'
SPARKAI_DOMAIN = 'generalv3.5'

if __name__ == '__main__':
    # 初始化星火认知大模型
    spark = ChatSparkLLM(
        spark_api_url=SPARKAI_URL,
        spark_app_id=SPARKAI_APP_ID,
        spark_api_key=SPARKAI_API_KEY,
        spark_api_secret=SPARKAI_API_SECRET,
        spark_llm_domain=SPARKAI_DOMAIN,
        streaming=False,
    )

    # 创建消息
    messages = [ChatMessage(
        role="user",
        content='你好呀'
    )]

    # 创建回调处理器
    handler = ChunkPrintHandler()

    # 生成回复
    response = spark.generate([messages], callbacks=[handler])

    # 打印回复
    print(response)

步骤四:了解请求与响应结构

请求结构

请求由三个主要部分组成:header,parameter和payload。

{
  "header": {
    "app_id": "your_app_id",
    "uid": "user_id"
  },
  "parameter": {
    "chat": {
      "domain": "generalv3.5",
      "temperature": 0.5,
      "max_tokens": 1024
    }
  },
  "payload": {
    "message": {
      "text": [
        {"role": "user", "content": "你是谁"},
        {"role": "assistant", "content": "我是星火认知大模型"}
      ]
    }
  }
}
响应结构

响应包含两个主要部分:header和payload。

{
  "header": {
    "code": 0,
    "message": "Success",
    "sid": "unique_session_id",
    "status": 2
  },
  "payload": {
    "choices": {
      "status": 2,
      "seq": 0,
      "text": [
        {
          "content": "我可以帮助你吗?",
          "role": "assistant",
          "index": 0
        }
      ]
    },
    "usage": {
      "text": {
        "question_tokens": 4,
        "prompt_tokens": 5,
        "completion_tokens": 9,
        "total_tokens": 14
      }
    }
  }
}

步骤五:扩展功能(Function Calling)

星火认知大模型支持功能调用(Function Calling),例如天气查询和税率查询。您可以在请求中注册这些功能,并在响应中获取调用结果。

请求示例
{
  "header": {
    "app_id": "your_app_id",
    "uid": "user_id"
  },
  "parameter": {
    "chat": {
      "domain": "generalv3.5",
      "temperature": 0.5,
      "max_tokens": 1024
    }
  },
  "payload": {
    "message": {
      "text": [
        {"role": "user", "content": "查询明天北京的天气"}
      ]
    },
    "functions": {
      "text": [
        {
          "name": "天气查询",
          "description": "提供天气相关信息",
          "parameters": {
            "type": "object",
            "properties": {
              "location": {"type": "string", "description": "地点,比如北京"},
              "date": {"type": "string", "description": "日期,比如明天"}
            },
            "required": ["location"]
          }
        }
      ]
    }
  }
}
响应示例
{
  "header": {
    "code": 0,
    "message": "Success",
    "sid": "unique_session_id",
    "status": 2
  },
  "payload": {
    "choices": {
      "status": 2,
      "seq": 0,
      "text": [
        {
          "content": "",
          "role": "assistant",
          "content_type": "text",
          "function_call": {
            "arguments": "{\"location\":\"北京\",\"date\":\"明天\"}",
            "name": "天气查询"
          },
          "index": 0
        }
      ]
    },
    "usage": {
      "text": {
        "question_tokens": 3,
        "prompt_tokens": 3,
        "completion_tokens": 0,
        "total_tokens": 3
      }
    }
  }
}

通过以上步骤,我们可以轻松使用Python对接并调用讯飞星火认知大模型API

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1832099.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

车企高管组团“出道”,汽车营销已经Next level了?

汽车进入了“卷”老板、“卷”高管的时代! 谁能想到,雷军凭一己之力,在一定程度上重塑了汽车的竞争策略。价格战之外,车市又开启了流量之战。 云略曾在《雷军20天吸粉500w!……》一文中,提到继雷军之后&…

敏捷开发时代,彻底结束了

最近,我收到一位读者的私信,他最近“内耗”得非常厉害,他可能一时兴起把我的私信当作了吐槽箱。 他们公司一直实行敏捷的管理模式,复盘发现了一个问题:发布与迭代具有强相关性,一个迭代就发布一次&#xf…

网络安全 DVWA通关指南 SQL Injection(SQL注入)

DVWA SQL Injection 文章目录 DVWA SQL InjectionLowMediumHighImpossible SQL注入漏洞基本原理 Web应用程序对用户输入的数据校验处理不严或者根本没有校验,致使用户可以拼接执行SQL命令。 可能导致数据泄露或数据破坏,缺乏可审计性,甚至导致…

RockChip Android12 Settings一级菜单

一:概述 在之前的文章中对Android8.1 Settings的流程进行了说明,本章将针对Android12 Settings一级菜单的加载逻辑进行详细说明,Settings版本之间的差异不是很大,有兴趣的同学可自行学习,本文不在做赘述。 Android8.1 Settings说明:RockChip Android8.1 Settings-CSDN博…

浏览器开发公司Brave 将自己的搜索结果与其 Leo AI 助手集成

Brave Software是一家开发浏览器的公司,其主要产品是Brave浏览器。Brave浏览器基于Chromium项目开发,具有高性能和隐私保护的特点。此外,Brave浏览器还提供了“off record”模式,允许用户在不记录浏览历史的情况下使用浏览器。关于…

Cisco Packet Tracer实验(五)不同vlan间的通信简单配置

1.单臂路由(图) 环境:一台路由器,一台二层交换机,两台pc机 单臂路由(Single Arm Routing)是指在网络架构中,只有一个物理接口(单臂)连接到路由器三层交换机,而…

电脑微信聊天记录监控要怎么做?找谁找?

电脑微信聊天记录的监控通常涉及到使用特定的监控软件,这些软件设计用于企业管理和网络监控,以确保工作场所的通信安全和提高工作效率。以下是进行电脑微信聊天记录监控的一般步骤和建议: 如何进行监控: 1.明确目的与合法性&…

计算机组成原理之存储器(二)

文章目录 随机读写存储器RAM静态MOS存储单元与存储芯片动态MOS存储单元与存储芯片 半导体存储器逻辑设计存储器的读写以及刷新存储器的读写动态存储芯片的刷新 随机读写存储器RAM 静态MOS存储单元与存储芯片 静态RAM用半导体管的导通和截止来记忆,只要不掉电&#x…

Transformer中的Self-Attention和Multi-Head Attention

2017 Google 在Computation and Language发表 当时主要针对于自然语言处理(之前的RNN模型记忆长度有限且无法并行化,只有计算完ti时刻后的数据才能计算ti1时刻的数据,但Transformer都可以做到) 文章提出Self-Attention概念&…

python学习笔记-06

函数进阶 1.无参数无返回值:这类函数往往用于提示信息打印 2.无参数有返回值:这类函数往往用于数据采集过程中 3.有参数有返回值:这类函数一般是计算型的 4.有参数无返回值:这类函数多用于设置某些不需要返回值的参数设置1.局部变…

实验2:RIPv2的配置

由于RIPv1是有类别的路由协议,路由更新不携带子网信息,不支持不连续子网、VLSM、手工汇总和验证等,本书重点讨论RIPv2。 1、实验目的 通过本实验可以掌握: RIPv1和 RIPv2的区别。在路由器上启动RIPv2路由进程。激活参与RIPv2路由协议的接口。auto-sum…

一个提问高下立见?国产AI大模型冲上扣子广场PK

以“国产GPTs”出名的扣子,做出了GPT没有的功能。 6月12日,字节跳动旗下的AI应用开发平台“扣子”(Coze国内版)悄悄上线了新功能“模型广场”。 扣子是AI应用开发平台,无论用户是否有编程基础,都可以在扣子…

OpenTiny CCF开源创新大赛赛事指南,助力你赢取10W赛事奖金

第七届CCF开源创新大赛在国家自然科学基金委信息科学部的指导下,由中国计算机学会(CCF)主办,长沙理工大学、CCF 开源发展委员会联合承办。大赛面向国家“十四五”开源生态发展战略布局,聚焦“卡脖子”软件领域以及人工…

clickhouse学习笔记(四)库、表、分区相关DDL操作

目录 一、数据库操作 1、创建数据库 2、查询及选择数据库 3、删除数据库 二、数据表操作 1、创建表 2、删除表 3、基本操作 ①追加新字段 ②修改字段类型或默认值 ③修改字段注释 ④删除已有字段 ⑤移动数据表(重命名) ⑥清空表 三、默认值…

【leetcode刷题】面试经典150题 , 27. 移除元素

leetcode刷题 面试经典150 27. 移除元素 难度:简单 文章目录 一、题目内容二、自己实现代码2.1 方法一:直接硬找2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 2.2 方法二:排序整体删除再补充2.1.1 实现思路2.1.2 实现代码2.1.3 结果分析 三、…

day12--150. 逆波兰表达式求值+239. 滑动窗口最大值+ 347. 前 K 个高频元素

一、150. 逆波兰表达式求值 题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/description/ 文章讲解:https://programmercarl.com/0150.%E9%80%86%E6%B3%A2%E5%85%B0%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%B1%82%E5%80%BC.html 视频…

QT 的文件

QT 和C、linux 一样,也有自带的文件系统. 它的操作和C、c差不多,不过也需要我们来了解一下。 输入输出设备类 QObject 有一个子类,名为 QIODevice 类,如其名字,该类是管理所有输入输出设备的类。 比如文件、网络套…

Java获取本机IP地址的方法(内网、公网)

起因是公司一个springboot项目启动类打印了本机IP地址加端口号,方便访问项目页面,但是发现打印出来的不是“无线局域网”的ip而是“以太网适配器”ip,如下图所示 这样就导致后续本地起项目连接xxl-job注册节点的时候因为不在同个局域网下ping…

Arcgis投影问题

今天下载数据,右键查看属性,发现只有地理坐标系,在arcgis里面进行展示有点丑 怎么变成下面的? 步骤1:加载数据 打开ArcGIS Pro或ArcMap。在目录窗口中,右键点击“文件夹连接”或“文件夹”选项&#xff0c…

苹果的后来者居上策略:靠隐私保护打脸微软

01.苹果与微软相比更注重用户隐私 我一直是Windows的忠实用户,但微软疯狂地将人工智能融入一切,让我开始觉得应该咬咬牙换成Mac。 自小我几乎只用Windows电脑,所以我对MacOS一直不太适应。虽然Windows 11有其缺点,但总的来说&am…