🌈 嗨,我是青松,很高兴遇到你!
🌟 希望用我的经验,让每个人的AI学习之路走的更容易些~
🔥 专栏:大模型(LLMs)高频面题全面整理(★2025最新版★)
目录
3. 使用 LangChain 调用讯飞星火
我们同样可以通过 LangChain 框架来调用讯飞星火大模型,更多信息参考SparkLLM
我们希望像调用 ChatGPT 那样直接将秘钥存储在 .env 文件中,并将其加载到环境变量,从而隐藏秘钥的具体细节,保证安全性。因此,我们需要在 .env 文件中配置 IFLYTEK_SPARK_APP_ID
、 IFLYTEK_SPARK_API_KEY
和 IFLYTEK_SPARK_API_SECRET
,并使用以下代码加载:
from dotenv import find_dotenv, load_dotenv
import os
# 读取本地/项目的环境变量。
# find_dotenv()寻找并定位.env文件的路径
# load_dotenv()读取该.env文件,并将其中的环境变量加载到当前的运行环境中
# 如果你设置的是全局的环境变量,这行代码则没有任何作用。
_ = load_dotenv(find_dotenv())
# 获取环境变量 API_KEY
IFLYTEK_SPARK_APP_ID = os.environ["IFLYTEK_SPARK_APP_ID"]
IFLYTEK_SPARK_API_KEY = os.environ["IFLYTEK_SPARK_API_KEY"]
IFLYTEK_SPARK_API_SECRET = os.environ["IFLYTEK_SPARK_API_SECRET"]
Copy to clipboardErrorCopied
def gen_spark_params(model):
'''
构造星火模型请求参数
'''
spark_url_tpl = "wss://spark-api.xf-yun.com/{}/chat"
model_params_dict = {
# v1.5 版本
"v1.5": {
"domain": "general", # 用于配置大模型版本
"spark_url": spark_url_tpl.format("v1.1") # 云端环境的服务地址
},
# v2.0 版本
"v2.0": {
"domain": "generalv2", # 用于配置大模型版本
"spark_url": spark_url_tpl.format("v2.1") # 云端环境的服务地址
},
# v3.0 版本
"v3.0": {
"domain": "generalv3", # 用于配置大模型版本
"spark_url": spark_url_tpl.format("v3.1") # 云端环境的服务地址
},
# v3.5 版本
"v3.5": {
"domain": "generalv3.5", # 用于配置大模型版本
"spark_url": spark_url_tpl.format("v3.5") # 云端环境的服务地址
}
}
return model_params_dict[model]
Copy to clipboardErrorCopied
from langchain_community.llms import SparkLLM
spark_api_url = gen_spark_params(model="v1.5")["spark_url"]
# Load the model(默认使用 v3.0)
llm = SparkLLM(spark_api_url = spark_api_url) #指定 v1.5版本
Copy to clipboardErrorCopied
res = llm("你好,请你自我介绍一下!")
print(res)
Copy to clipboardErrorCopied
您好,我是科大讯飞研发的认知智能大模型,我的名字叫讯飞星火认知大模型。我可以和人类进行自然交流,解答问题,高效完成各领域认知智能需求。
Copy to clipboardErrorCopied
从而我们可以将星火大模型加入到 LangChain 架构中,实现在应用中对文心大模型的调用。
4. 使用 LangChain 调用智谱 GLM
我们同样可以通过 LangChain 框架来调用智谱 AI 大模型,以将其接入到我们的应用框架中。由于 langchain 中提供的ChatGLM已不可用,因此我们需要自定义一个LLM。
如果你使用的是智谱 GLM API,你需要将我们封装的代码zhipuai_llm.py下载到本 Notebook 的同级目录下,才可以运行下列代码来在 LangChain 中使用 GLM。
根据智谱官方宣布以下模型即将弃用,在这些模型弃用后,会将它们自动路由至新的模型。请用户注意在弃用日期之前,将您的模型编码更新为最新版本,以确保服务的顺畅过渡,更多模型相关信息请访问model
| 模型编码 |弃用日期|指向模型|
| ---- | ---- | ---- |
|chatglm_pro|2024 年 12 月 31 日|glm-4|
|chatglm_std|2024 年 12 月 31 日|glm-3-turbo|
|chatglm_lite|2024 年 12 月 31 日|glm-3-turbo|
Copy to clipboardErrorCopied
4.1 自定义chatglm接入 langchain
# 需要下载源码
from zhipuai_llm import ZhipuAILLM
Copy to clipboardErrorCopied
from dotenv import find_dotenv, load_dotenv
import os
# 读取本地/项目的环境变量。
# find_dotenv()寻找并定位.env文件的路径
# load_dotenv()读取该.env文件,并将其中的环境变量加载到当前的运行环境中
# 如果你设置的是全局的环境变量,这行代码则没有任何作用。
_ = load_dotenv(find_dotenv())
# 获取环境变量 API_KEY
api_key = os.environ["ZHIPUAI_API_KEY"] #填写控制台中获取的 APIKey 信息
Copy to clipboardErrorCopied
zhipuai_model = ZhipuAILLM(model = "glm-4", temperature = 0.1, api_key = api_key) #model="glm-4-0520",
Copy to clipboardErrorCopied
zhipuai_model("你好,请你自我介绍一下!")
Copy to clipboardErrorCopied
'你好!我是智谱清言,是清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练的语言模型。我的目标是通过回答用户提出的问题来帮助他们解决问题。由于我是一个计算机程序,所以我没有自我意识,也不能像人类一样感知世界。我只能通过分析我所学到的信息来回答问题。'
Copy to clipboardErrorCopied