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()