langchain调用讯飞星火大模型3.5和4

langchain调用星火大模型

在langchain中调用星火大模型直接调用星火大模型默认调用的是3.0模型。

from langchain_community.llms import SparkLLM
llm=SparkLLM()

即使加上model参数指明调用模型,依然没有效果。
例如下面调用

llm=SparkLLM(model='generalv3.5')

源码

查看官方文档没有找到说明如何指定其他版本

后来查看源码:
发现参数self.spark_demo,该参数如果spark_demo为空下,默认就是选择3模型

self.spark_domain = spark_domain or "generalv3"

再看spark_demo变量 赋值的是参数values["spark_llm_domain"]的内容。而values["spark_llm_domain"]内容是通过以下函数得到

values["spark_llm_domain"] = get_from_dict_or_env(
            values,
            "spark_llm_domain",
            "IFLYTEK_SPARK_LLM_DOMAIN",
            "generalv3",
        )

通过查询该方法,得知该方法默认从环境变量"IFLYTEK_SPARK_LLM_DOMAIN"获取值,如果没有就返回默认值。这里定义默认值就是generalv3也就是最后一个参数。

 if env_key in os.environ and os.environ[env_key]:
        return os.environ[env_key]
    elif default is not None:
        return default
    else:
        raise ValueError(
            f"Did not find {key}, please add an environment variable"
            f" `{env_key}` which contains it, or pass"
            f" `{key}` as a named parameter."
        )

使用星火3以外其他模型

通过查询代码可以得知,模型名通过从环境变"IFLYTEK_SPARK_LLM_DOMAIN"获取值。如果不修改框架代码下可以直接设置环境变量指定模型,查询官方文档得知,使用wss服务时,每个模型对应地址也要随之改变。因此地址也要随着修改。地址也是通过环境变量修改

import os
# 修改使用模型为讯飞3.5
os.environ['IFLYTEK_SPARK_API_URL']='wss://spark-api.xf-yun.com/v3.5/chat'
os.environ["IFLYTEK_SPARK_API_SECRET"] = config.app_secret

下面是官方文档中对应的地址和模型名

general指向Lite版本;
generalv2指向V2.0版本;
generalv3指向Pro版本;
pro-128k指向Pro-128K版本;
generalv3.5指向Max版本;
4.0Ultra指向4.0 Ultra版本;

模型名地址
Spark4.0 Ultrawss://spark-api.xf-yun.com/v4.0/chat
Spark Maxwss://spark-api.xf-yun.com/v3.5/chat
Spark Pro-128Kwss://spark-api.xf-yun.com/chat/pro-128k
Spark Prowss://spark-api.xf-yun.com/v3.1/chat
Spark V2.0wss://spark-api.xf-yun.com/v2.1/chat
Spark Litewss://spark-api.xf-yun.com/v1.1/chat
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值