方式1
使用langchain
python
from langchain.agents import create_agent
# 读取 .env 里的 OPENROUTER_API_KEY,避免把密钥写进代码
from dotenv import load_dotenv
# override=True 让 .env 的值覆盖系统环境变量里可能存在的同名旧值
load_dotenv(override=True)
def get_weather(city: str) -> str:
"""获取指定城市的天气信息"""
return f"{city}今天大部分晴朗!"
agent = create_agent(
model="openrouter:openrouter/free",
tools=[get_weather],
system_prompt="你是一个简洁的天气助手,查询天气时调用 get_weather 工具,不要编造结果",
)
result = agent.invoke(
{"messages": [{"role": "user", "content": "北京的天气怎么样"}]}
)
print(result["messages"][-1].content)
方式2
使用openai
python
from openai import OpenAI
import os
# 读取 .env 里的 OPENROUTER_API_KEY
from dotenv import load_dotenv
# override=True 让 .env 的值覆盖系统环境变量里可能存在的同名旧值
load_dotenv(override=True)
client = OpenAI(
base_url=os.getenv("OPENROUTER_API_BASE"),
api_key=os.getenv("OPENROUTER_API_KEY"),
)
# First API call with reasoning
response = client.chat.completions.create(
model="openrouter/free",
messages=[
{
"role": "user",
"content": "你是谁?"
}
],
extra_body={"reasoning": {"enabled": True}}
)
# Extract the assistant message with reasoning_details
response = response.choices[0].message.content
print(response)
环境变量.env
powershell
OPENROUTER_API_KEY=sk-or-v1-123
OPENROUTER_API_BASE=https://openrouter.ai/api/v1