0 官方对LangChain的描述
LangChain is the easiest way to start building agents and applications powered by LLMs. With under 10 lines of code, you can connect to OpenAI, Anthropic, Google, and more. LangChain provides a pre-built agent architecture and model integrations to help you get started quickly and seamlessly incorporate LLMs into your agents and applications.
LangChain是构建由大型语言模型(LLM)驱动的代理和应用程序最简便的方式。只需不到10行代码,即可连接OpenAI、Anthropic、Google等平台。LangChain提供预构建的代理架构和模型集成,帮助您快速上手,并无缝将LLM融入您的代理和应用程序中。
即LangChain的理念就是用尽可能少的代码实现大模型的连接,完成模型的代理和集成,快速构建大模型应用,以下将论述Langchain调用大模型的几种方式。
1 硬编码方式调用
此处使用的是阿里千问大模型,所谓硬编码就是直接将参数直接写在函数的参数上,这样
会导致安全问题和维护问题,例如密钥容易泄露。
from langchain_openai import ChatOpenAI
def get_api_key() -> str:
return "sk-your-api-key"
# 获取对话模型
chat_model = ChatOpenAI(
model="qwen-plus",
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
api_key= get_api_key
)
# 调用模型
response = chat_model.invoke('你好')
print(response)
2 设置环境变量调用
即通过系统的环境变量存储密钥,避免明文暴露
首先点击run中的 Edit Configurations

接着点击 Environment variables 会弹出如下弹窗,接着编辑环境变量,但是注意,此种方式环境变量只能存在于某一文件中,即只有限定某个文件可以访问该环境变量。

import os
from langchain_openai import ChatOpenAI
# 获取对话模型
chat_model = ChatOpenAI(
model="qwen-plus",
base_url=os.environ.get("QWEN_BASE_URL"),
api_key=os.environ.get("QWEN_API_KEY"),
)
# 调用模型
response = chat_model.invoke('你好')
print(response)
3 使用.env 配置文件
在项目根目录新建.env文件
#.env
QWEN_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
QWEN_API_KEY="sk-your-api-key"
import os
import dotenv
from langchain_openai import ChatOpenAI
dotenv.load_dotenv()
# 获取对话模型
chat_model = ChatOpenAI(
model="qwen-plus",
base_url=os.environ.get("QWEN_BASE_URL"),
api_key=os.environ.get("QWEN_API_KEY"),
)
# 调用模型
response = chat_model.invoke('你好')
print(response)
4 使用.env 配置文件+环境变量方式
ChatOpenAI源码中将OPENAI_BASE_URL和OPENAI_API_KEY设置为默认的环境变量值,即开始会默认查找环境变量中的这两个key,所以可以从env中拿到值再赋给对应的环境变量。
这种方法的好处是不需要再函数中填写这两个参数,对api-key的隐蔽性好更便捷。
import os
import dotenv
from langchain_openai import ChatOpenAI
dotenv.load_dotenv()
os.environ["OPENAI_BASE_URL"] = os.getenv("QWEN_BASE_URL")
os.environ["OPENAI_API_KEY"] = os.getenv("QWEN_API_KEY")
# 获取对话模型
chat_model = ChatOpenAI(
model="qwen-plus"
)
# 调用模型
response = chat_model.invoke('你好')
print(response)
5 启动效果

293

被折叠的 条评论
为什么被折叠?



