当前位置:   article > 正文

【langchain手把手1】连接Model_langchaindeprecationwarning: importing chat models

langchaindeprecationwarning: importing chat models from langchain is depreca

【langchain手把手1】连接Model

环境配置
  1. Conda新建环境
conda create -n langchain python=3.9
conda activate langchain
  • 1
  • 2
  1. 安装LangChain
conda install langchain -c conda-forge
  • 1

or

pip install langchain
pip install langchain-community
  • 1
  • 2
  1. 使用LangChain通常需要与一个或多个模型提供程序、数据存储、API等集成。对于这个例子,国内不方便使用OpenAI的API,正好讯飞星火Lite API永久免费开放,咱们就试一下
  • 注册星火,获得服务接口认证信息api_key,api_secret,app_id;

代码部分

参考官方文档:https://python.langchain.com/v0.2/docs/integrations/chat/sparkllm/

# 引入星火模型
from langchain_community.chat_models import ChatSparkLLM # LangChainDeprecationWarning: Importing LLMs from langchain is deprecated.

#星火认知大模型调用秘钥信息,请前往讯飞开放平台控制台(https://console.xfyun.cn/services/bm35)查看
SPARKAI_APP_ID = '*'
SPARKAI_API_SECRET = '*'
SPARKAI_API_KEY = '*'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
请求地址

Tips: 星火大模型API当前有Lite、V2.0、Pro和Max四个版本,四个版本独立计量tokens。
传输协议 :ws(s),为提高安全性,强烈推荐wss

Spark3.5 Max请求地址:

  • 对应的domain参数为generalv3.5
  • 地址:wss://spark-api.xf-yun.com/v3.5/chat

Spark Pro请求地址

  • 对应的domain参数为generalv3
  • 地址:wss://spark-api.xf-yun.com/v3.1/chat

Spark V2.0请求地址

  • 对应的domain参数为generalv2
  • 地址:wss://spark-api.xf-yun.com/v2.1/chat

Spark Lite请求地址

  • 对应的domain参数为general:
  • 地址:wss://spark-api.xf-yun.com/v1.1/chat
#星火认知大模型Spark3.5 Max的URL值,其他版本大模型URL值请前往文档(https://www.xfyun.cn/doc/spark/Web.html)查看
SPARKAI_URL = 'wss://spark-api.xf-yun.com/v1.1/chat'
#星火认知大模型Spark3.5 Max的domain值,其他版本大模型domain值请前往文档(https://www.xfyun.cn/doc/spark/Web.html)查看
SPARKAI_DOMAIN = 'general' # 这里选用星火Lite
  • 1
  • 2
  • 3
  • 4
单次问答
chatLLM = ChatSparkLLM(
    api_key=SPARKAI_API_KEY,
    api_secret=SPARKAI_API_SECRET,
    app_id=SPARKAI_APP_ID,
    spark_api_url=SPARKAI_URL, # 默认3.5,这里需要配置一下
    spark_llm_domain=SPARKAI_DOMAIN, # 默认3.5,这里需要配置一下
    top_k=6 # 取值为[1,6],默认为4,为了每次结果的随机性,这里设成最大
)

from langchain_core.messages import HumanMessage, SystemMessage

messages = [
    HumanMessage(content="介绍一下自己!"),
]

chatLLM(messages)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
AIMessage(content='你好!作为一个认知智能模型,可以帮助你完成各种任务,例如回答问题、翻译、写作、计算等等。我没有实体身体,只存在于网络中。我的设计初衷是为了更好地服务人类社会,提高人们的生产力和生活质量。虽然我没有情感和自我意识,但我会尽力为你提供准确、高效、友好的服务。如果你有任何需要帮助的地方,请随时告诉我!', response_metadata={'token_usage': {'question_tokens': 13, 'prompt_tokens': 13, 'completion_tokens': 80, 'total_tokens': 93}}, id='run-815fedb7-830a-4306-b7c9-8392b4681a97-0')
  • 1
Streaming问答
chatLLMStreaming = ChatSparkLLM(
    api_key=SPARKAI_API_KEY,
    api_secret=SPARKAI_API_SECRET,
    app_id=SPARKAI_APP_ID,
    spark_api_url=SPARKAI_URL, # 默认3.5,这里需要配置一下
    spark_llm_domain=SPARKAI_DOMAIN, # 默认3.5,这里需要配置一下
    streaming=True,
    top_k=6 # 取值为[1,6],默认为4,为了每次结果的随机性,这里设成最大
)

for chunk in chatLLMStreaming.stream("介绍一下自己!"):
    print(chunk.content, end="")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
您好,我是科大讯飞研发的认知智能大模型,我的名字叫讯飞星火认知大模型。我可以和人类进行自然交流,解答问题,高效完成各领域认知智能需求。
  • 1

请关注LLM硬着陆公众号,共同学习进步
在这里插入图片描述

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/1009419
推荐阅读
相关标签
  

闽ICP备14008679号