
LangChain 官方快速入门示例在普通 Python 脚本中执行时不会自动打印响应,需显式调用 print() 输出 invoke() 返回的 BaseMessage 对象或其 .content 属性。
langchain 官方快速入门示例在普通 python 脚本中执行时不会自动打印响应,需显式调用 `print()` 输出 `invoke()` 返回的 `basemessage` 对象或其 `.content` 属性。
LangChain 的 Quickstart 教程 默认面向 Jupyter Notebook 环境设计——在 Notebook 中,最后一行表达式的返回值会自动渲染显示;但在标准 .py 脚本中,llm.invoke(...) 的返回值仅被计算并丢弃,不会自动输出到控制台,因此你“看不到任何响应”。
✅ 正确运行步骤(适用于 .py 文件)
-
确保环境配置正确:安装必要依赖,并设置 OpenAI API Key
pip install langchain-openai python-dotenv
在项目根目录创建 .env 文件:
OPENAI_API_KEY=sk-...
-
编写完整可执行脚本(注意:必须显式打印):
import os from langchain_openai import ChatOpenAI from dotenv import load_dotenv load_dotenv() api_key = os.getenv("OPENAI_API_KEY") llm = ChatOpenAI(model="gpt-3.5-turbo", openai_api_key=api_key) # ✅ 关键:将 invoke 结果赋值并显式打印 response = llm.invoke("how can LangSmith help with testing?") print("完整响应对象:") print(response) # 输出 BaseMessage 实例(含 role, content, additional_kwargs 等) print("\n纯文本内容:") print(response.content) # 推荐:直接获取字符串形式的回答
⚠️ 常见注意事项
- ChatOpenAI 默认使用 gpt-3.5-turbo,若 API Key 权限受限或模型不可用,可显式指定 model="gpt-4o" 或检查 OpenAI 平台配额;
- response 是 langchain_core.messages.BaseMessage 的子类实例(如 AIMessage),其核心文本内容始终位于 .content 属性中;
- 若遇到 AuthenticationError,请确认 .env 文件路径正确(load_dotenv() 默认加载当前目录下的 .env),或改用绝对路径:load_dotenv(".env");
- 不建议跳过官方文档——它持续更新且覆盖最新 v0.1+ API;可搭配 LangChain Cookbook 和 LangChain Tutorials GitHub 实战练习。
掌握这一基础模式后,后续链式调用(RunnableSequence)、提示模板(ChatPromptTemplate)和 RAG 示例均可依此逻辑调试输出,避免“静默执行”带来的困惑。











