LangChain基本概念
ReAct学习资料
https://zhuanlan.zhihu.com/p/660951271
LangChain官网地址
Introduction | 🦜️🔗 LangChain
LangChain是一个基于语言模型开发应用程序的框架。它可以实现以下应用程序:
- 数据感知:将语言模型连接到其他数据源
- 自主性:允许语言模型与其环境进行交互
LangChain的主要价值在于:
- 组件化:为使用语言模型提供抽象层,以及每个抽象层的一组实现。组件是模块化且易于使用的,无论您是否使用LangChain框架的其余部分。
- 现成的链:结构化的组件集合,用于完成特定的高级任务
LangChain具体能力
优劣势
LangChain实践
本地环境安装
pip install langchain
langchain依赖关系
下面使用Langchain来集成阿里的通义千问
首先要申请API-key 然后本地python调用一下
参考地址阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
代码如下:
import os
from openai import OpenAIclient = OpenAI(# 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(model="qwen-plus", # 此处以qwen-plus为例,可按需更换模型名称。模型列表:https://help.aliyun.com/zh/model-studio/getting-started/modelsmessages=[{'role': 'system', 'content': 'You are a helpful assistant.'},{'role': 'user', 'content': '你是谁?'}],)print(completion.model_dump_json())
API-Key申请参考链接 如何获取API Key_大模型服务平台百炼(Model Studio)-阿里云帮助中心
有一定的免费额度
本地测试输出如下:
{"id":"chatcmpl-f970c884-fbe9-99f0-8d9f-8c18209ee58f","choices":[{"finish_reason":"stop","index":0,"logprobs":null,"message":{"content":"我是来自阿里云的大规模语言模型,我叫通义千问。","refusal":null,"role":"assistant","audio":null,"function_call":null,"tool_calls":null}}],"created":1740919207,"model":"qwen-plus","object":"chat.completion","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":16,"prompt_tokens":22,"total_tokens":38,"completion_tokens_details":null,"prompt_tokens_details":{"audio_tokens":null,"cached_tokens":0}}}
接下来使用LangChain来接入大模式试下:
import os
from langchain_community.llms import Tongyi
from langchain_core.messages import HumanMessageos.environ["DASHSCOPE_API_KEY"] = "xxx" # 此处为通义千问的API KEYllm = Tongyi(temperature=1) # 创建一个Tongyi模型实例,设置温度为1
result = llm.invoke([HumanMessage(content="你是谁?")]) # 使用模型进行语言处理任务
print(result) # 输出处理结果
输出结果如下:
我是阿里云开发的一款超大规模语言模型,我叫通义千问。
LangChain作为一个脚手架 能够快速集成大模型以及实现一些其他格式化功能,本质是为了能够更好的调用相关大模型API以及进行业务逻辑处理。