调用大模型API

一、基本概念

(1)User Prompt(用户提示词):最开始是NLP研究者设计的一种输入模板,现在指用于引导大模型执行特定任务或者生成特定类型文本的输入,可以理解为一种命令或者指令;
(2)Completion(回复):大模型回复的结果;
(3)Tempture(温度系数):生成式大模型是一种概率模型,Tempture用于控制生成结果的随机性与创造性,取值在0~1之间,Tempture值越低模型生成结果更加保守、可以预测,常用于知识库助手项目中;Tempture值越大生成结果更加富有创意、多样,常用于文案创作项目中;需要根据不同的应用场景选择不同的Tempture;
(4)System Prompt(系统提示词):为提升用户体验设置的一种策略,可以在与大模型对话的过程中持久的影响回复内容,比如设定大模型的回复富含哲理,那么每次用户提问时,大模型的就会遵循设定角色进行回复;

二、调用ChatGPT

没有魔法,直接忽略;

三、调用百度文心一言

文心千帆企业级大预言模型服务平台,开放了文心一言的API接口,需要先获取密钥,再通过原生接口或者使用LangChain进行调用。【需要够买,否则应该每天只能调用一次】

(一)申请密钥

采用两层密钥认证方式:

  • 用户需要一个API_key和Secret_key,可以创建若干个应用,每个应用还会对应一个API_key和Secret_key;基于这两个Key获取access_token,用于控制使用时间或者流量,保证服务的安全性;
  • 申请网站地址:https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application,应用接入——>创建应用——>填写基本信息——>确认即可看到两个Key

获取到两个Key之后还需要通过代码post调用的方式获取access_token:

import requests
import json

def get_access_token():
    """
    使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
    """
    # 指定网址
    url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={api_key}&client_secret={secret_key}"
    # 设置 POST 访问
    payload = json.dumps("")
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    # 通过 POST 访问获取账户对应的 access_token
    response = requests.request("POST", url, headers=headers, data=payload)
    return response.json().get("access_token")

(二)调用原生接口

注意:文心仅支持 user、assistant 两个级别,可以在传入参数的 message 中配置,不支持 system prompt 级别的配置。

(三)使用Langchain调用

原生LangChain并不支持,需要使用LangChain自定义LLM,具体请参考:《附一 LangChain自定义LLM》

四、调用讯飞星火

申请API地址:https://xinghuo.xfyun.cn/sparkapi,现在注册申请可以免费获取200万tokens

不过星火原生 API 使用 WebSocket 进行调用,不如文心或者ChatGPT等API的调用方式友好,可以使用fastapi设计本地接口,在接口函数中调用星火API;

五、调用智谱AI

申请API地址:https://open.bigmodel.cn/login?redirect=%2Fusercenter%2Fapikey
官方提供了原生的SDK进行调用

六、调用智谱AI生成embedding

模型没有生成新的文本,只是生成embedding,则消耗的token为0
在ChatGLM模型中,一般token和字数的换算比例为1:1.8

七、LangChain核心组件讲解

(一)模型的输入和输出I/O,包括Prompts、LLMs、Output Parsers,用户的原始输入和模型的示例进行组合,输入给大模型后,再根据大模型的返回结果进行结构化处理;

(二)数据连接,通过以下方式提供组件来加载、转换、存储和查询数据:
● Document loaders
● Dockment transformers
● Text embedding models
● Vector stores
● Retrievers

(三)链(Chain),将多个大模型进行链式组合或者与其他组件进行链式调用,创建一个完整的、连贯的应用程序。也可以实现多个链的组合或者将链与其他组件组合来构建更复杂的链;LLMChain是一个很基础、很简单但是很强大的链,包含 RouterChain、SimpleSequentialChain、SequentialChain、TransformChain 等。
● RouterChain 根据输入数据的某些属性/特征值,选择调用不同的子链(Subchain)。
● SimpleSequentialChain 是最简单的序列链形式,其中每个步骤具有单一的输入/输出,上一个步骤的输出是下一个步骤的输入。
● SequentialChain 是简单顺序链的更复杂形式,允许多个输入/输出。
● TransformChain 可以引入自定义转换函数,对输入进行处理后进行输出。
(四)记忆(Memory),大模型训练好的参数属于长期记忆,不会因为用户的输入发生改变;这里的记忆特指短期的记忆,使大模型具备多轮问答能力;

(五)代理(Agents)
使大模型可以调用计算、逻辑、检索等功能的支持,获取强大的推理和信息获取能力;

(六)回调(Callback)
允许在大模型的各个阶段调用,可以监控日志记录、流式处理等任务,以便跟踪和分析整个应用的运行情况,统计错误率,优化瓶颈模块;
具体实现包括两个主要功能:CallbackHandler和CallbackManager
● CallbackHandler 用于记录每个应用场景(如 Agent、LLchain 或 Tool )的日志,它是单个日志处理器,主要记录单个场景的完整日志信息。
● 而CallbackManager则封装和管理所有的 CallbackHandler ,包括单个场景的处理器,也包括整个运行时链路的处理器

回调的位置:
构造函数回调:在构造函数中定义,例如 LLMChain(callbacks=[handler], tags=[‘a-tag’]) ,它将被用于对该对象的所有调用,并且将只针对该对象;
请求回调:定义在用于发出请求的 call() / run() / apply() 方法中,例如 chain.call(inputs, callbacks=[handler]) ,它将仅用于该特定请求,以及它包含的所有子请求;
verbose 参数在整个 API 的大多数对象(链、模型、工具、代理等)上都可以作为构造参数使用,例如 LLMChain(verbose=True),它相当于将 ConsoleCallbackHandler 传递给该对象和所有子对象的 callbacks 参数。这对调试很有用,因为它将把所有事件记录到控制台。

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
科大讯飞是国内领先的人工智能技术公司,为广大开发者提供了丰富的API,其中包括星火大模型API调用。 星火大模型是科大讯飞自主研发的强大的自然语言处理模型。通过调用星火大模型API,开发者可以实现多种自然语言处理任务,如文本分类、情感分析、命名实体识别等。 在进行星火大模型API调用之前,开发者首先需要在科大讯飞官网申请账号并申请API密钥。成功获得API密钥后,开发者可以使用HTTP或HTTPS协议发送API请求。 在进行API调用时,开发者需要按照科大讯飞提供的API文档中的要求,将请求参数放入API请求中。请求参数中包括输入文本、模型类型、任务类型等。开发者还可以选择性地设置其它参数,如设置返回数据的格式、设置结果数量等。 发起完API请求后,科大讯飞服务器将对请求进行处理,并返回相应的结果。开发者可以根据返回的结果进行后续的处理和分析。 值得一提的是,科大讯飞星火大模型API调用具有一定的调用限制,如请求次数限制、并发数限制等。开发者在进行API调用时需要注意遵守相应的调用规则,以保证更好的调用体验。 总的来说,科大讯飞星火大模型API调用可以帮助开发者快速实现自然语言处理任务,提高开发效率和效果。通过合理运用API接口,开发者可以处理各类文本数据,提取其中有用的信息,为应用开发提供强有力的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值