refactor: use config.py for API configuration

This commit is contained in:
redbotu 2026-05-25 21:49:12 +08:00
parent eb4c3253ff
commit 362c9585f3
3 changed files with 34 additions and 24 deletions

View File

@ -33,20 +33,22 @@ python hello.py # Hello World
python conditional.py # 条件边 python conditional.py # 条件边
python loop.py # 循环 python loop.py # 循环
python agent.py # AI 智能体 (模拟模式) python agent.py # AI 智能体 (模拟模式)
python react_agent.py # ReAct 智能体 (需要 API)
``` ```
## ReAct 智能体配置 ## ReAct 智能体配置
编辑 `config.py`
```python
API_KEY = "sk-..." # 你的 API Key
BASE_URL = "https://api.openai.com/v1" # API 地址
MODEL = "gpt-4o-mini" # 模型名称
MAX_ITERATIONS = 4 # 最大迭代次数
TEMPERATURE = 0.3 # 温度参数
```
运行:
```powershell ```powershell
# 必需
$env:OPENAI_API_KEY = "your-api-key"
# 可选
$env:OPENAI_BASE_URL = "https://your-api.com/v1" # 默认 OpenAI
$env:MODEL_NAME = "gpt-4o-mini" # 默认 gpt-4o-mini
# 运行
python react_agent.py # 内置测试 python react_agent.py # 内置测试
python react_agent.py "你的问题" # 自定义问题 python react_agent.py "你的问题" # 自定义问题
``` ```

View File

@ -0,0 +1,13 @@
"""
API 配置文件
修改这里来配置你的 API
"""
# API 配置
API_KEY = "sk-..." # 你的 API Key
BASE_URL = "https://api.openai.com/v1" # API 地址OpenAI 兼容)
MODEL = "gpt-4o-mini" # 模型名称
# 智能体配置
MAX_ITERATIONS = 4 # 最大迭代次数
TEMPERATURE = 0.3 # 温度参数(越低越确定)

View File

@ -1,23 +1,17 @@
""" """
LangGraph 5 真实 LLM 智能体 LangGraph 5 真实 LLM 智能体
ReAct 模式思考(Reason) - 行动(Act) - 观察(Observe) ReAct 模式思考(Reason) - 行动(Act) - 观察(Observe)
支持自定义 OpenAI 兼容 API 配置见 config.py
""" """
import os
import sys import sys
from langgraph.graph import StateGraph, START, END from langgraph.graph import StateGraph, START, END
from typing import TypedDict from typing import TypedDict
# 1⃣ 配置 API # 1⃣ 加载配置
API_KEY = os.environ.get("OPENAI_API_KEY", "") from config import API_KEY, BASE_URL, MODEL, MAX_ITERATIONS, TEMPERATURE
BASE_URL = os.environ.get("OPENAI_BASE_URL", "https://api.openai.com/v1")
MODEL = os.environ.get("MODEL_NAME", "gpt-4o-mini")
if not API_KEY: if API_KEY == "sk-...":
print("请先设置环境变量:") print("请先在 config.py 中配置 API_KEY")
print(" $env:OPENAI_API_KEY = 'your-api-key'")
print(" $env:OPENAI_BASE_URL = 'your-api-base-url' # 可选,默认 OpenAI")
print(" $env:MODEL_NAME = 'gpt-4o-mini' # 可选")
exit(1) exit(1)
from openai import OpenAI from openai import OpenAI
@ -95,7 +89,7 @@ def think_node(state: AgentState):
model=MODEL, model=MODEL,
messages=messages, messages=messages,
max_tokens=300, max_tokens=300,
temperature=0.3, temperature=TEMPERATURE,
) )
thought_text = response.choices[0].message.content thought_text = response.choices[0].message.content
@ -192,6 +186,7 @@ print("LangGraph ReAct 智能体")
print("=" * 50) print("=" * 50)
print(f"API: {BASE_URL}") print(f"API: {BASE_URL}")
print(f"模型: {MODEL}") print(f"模型: {MODEL}")
print(f"最大迭代: {MAX_ITERATIONS}")
print("\n图结构:") print("\n图结构:")
print(" START -> think -> [有行动?] -> act -> think (循环)") print(" START -> think -> [有行动?] -> act -> think (循环)")
print(" |") print(" |")
@ -215,7 +210,7 @@ for q in questions:
"question": q, "question": q,
"thoughts": [], "thoughts": [],
"iteration": 0, "iteration": 0,
"max_iterations": 4, "max_iterations": MAX_ITERATIONS,
"action": "", "action": "",
"observation": "", "observation": "",
"final_answer": "", "final_answer": "",