搭建 LangChain 开发环境

1.创建开发目录。

在你工作目录下创建一个项目目录。
例如:lab。

2.创建python虚拟环境。

在项目目录下使用如下命令创建一个 venv 环境:

python3 -m venv .venv

3.初始化langchain依赖。

执行下面指令:

./.venv/bin/pip install langchain langchain-openai python-dotenv

4.创建requirements.txt文件[可选]

annotated-types==0.7.0
anyio==4.12.0
certifi==2025.11.12
charset-normalizer==3.4.4
distro==1.9.0
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.11
jiter==0.12.0
jsonpatch==1.33
jsonpointer==3.0.0
langchain==1.2.0
langchain-core==1.2.5
langchain-openai==1.1.6
langgraph==1.0.5
langgraph-checkpoint==3.0.1
langgraph-prebuilt==1.0.5
langgraph-sdk==0.3.1
langsmith==0.5.2
openai==2.14.0
orjson==3.11.5
ormsgpack==1.12.1
packaging==25.0
pydantic==2.12.5
pydantic_core==2.41.5
python-dotenv==1.2.1
PyYAML==6.0.3
regex==2025.11.3
requests==2.32.5
requests-toolbelt==1.0.0
sniffio==1.3.1
tenacity==9.1.2
tiktoken==0.12.0
tqdm==4.67.1
typing-inspection==0.4.2
typing_extensions==4.15.0
urllib3==2.6.2
uuid_utils==0.12.0
xxhash==3.6.0
zstandard==0.25.0

然后执行如下命令:

./.venv/bin/pip freeze > requirements.txt

5.创建env环境变量。

在项目目录下创建一个 .env 文件。

#OpenAI
#OPENAI_API_KEY=sk-xxxxxx
#OPENAI_BASE_URL=https://api.openai.com/v1
#OPENAI_MODEL_NAME=gpt-4o-mini

#阿里百炼
#OPENAI_API_KEY=sk-xxxxxx
#OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
#OPENAI_MODEL_NAME=qwen-plus

#Openrouter
OPENAI_API_KEY=sk-xxxxxx
OPENAI_BASE_URL=https://openrouter.ai/api/v1
#OPENAI_MODEL_NAME=openai/gpt-4o-mini
#OPENAI_MODEL_NAME=google/gemini-2.0-flash-exp:free
#OPENAI_MODEL_NAME=qwen/qwen3-4b:free
OPENAI_MODEL_NAME=deepseek/deepseek-r1-0528:free
#OPENAI_MODEL_NAME=xiaomi/mimo-v2-flash:free

6.编写程序。

新建一个 main.py 文件:

import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain_openai import OpenAI
from langchain_core.messages import HumanMessage, SystemMessage

# 加载 .env 文件中的环境变量
load_dotenv()

# 检查 API Key 是否存在
api_key = os.getenv("OPENAI_API_KEY")
if not api_key or api_key == "your_openai_api_key_here":
    print("❌ 未配置有效的 OPENAI_API_KEY,请在 .env 文件中填入您的真实 API Key。")
    print("当前值为: " + str(api_key))
    exit(1)

def main():
    try:
        # 初始化 ChatOpenAI 模型
        # 显式获取 Base URL (如果环境变量里有)
        base_url = os.getenv("OPENAI_BASE_URL")
        # 从环境变量获取模型名称
        model_name = os.getenv("OPENAI_MODEL_NAME")

        # 1.获取大模型
        chat = ChatOpenAI(
            model=model_name,
            base_url=base_url,
            api_key=api_key # 显式传入 key
        )

        print(f"🤖 正在调用模型: {model_name}")
        print(f"🔗 API 接入点: {base_url}")

        # 2.构建消息列表
        messages = [
            SystemMessage(content="你是一个乐于助人的 AI 助手。"),
            HumanMessage(content="明天北京天气怎么样?"),
        ]
        # 调用模型
        response = chat.invoke(messages)

        # 3.获取输出
        print("\n✅ 回答:")
        print(response.content)

    except Exception as e:
        print(f"\n❌ 发生错误: {e}")

if __name__ == "__main__":
    main()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容