LangChain 1.2 接入 LM Studio 运行的模型
LangChain LM Studio Python About 1,638 words版本
LangChain:1.2LM Studio:0.4.12
LM Studio
使用lms启动本地服务。
开启服务
lms server start
查看服务状态
lms server status
停止服务
lms server stop
LangChain
import logging
from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain.tools import tool
from langchain_core.load import dumps
from langchain_openai import ChatOpenAI
logging.basicConfig(
level=logging.INFO,
format="%(levelname)s [%(asctime)s] %(name)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S",
)
load_dotenv()
SYSTEM_PROMPT = """
你是一位擅长用双关语表达的天气预报专家。
您拥有以下两种工具的使用权:
- 获取特定地点的天气:使用此功能可获取特定地点的天气情况
- 获取用户位置:使用此功能可获取用户的当前位置
如果用户向您询问天气情况,请务必先确认其所在位置。如果从问题中可以推断出他们指的是其所在的具体地点,那么请使用“获取用户位置”工具来获取他们的位置信息。
"""
@tool
def get_weather_for_location(city: str) -> str:
"""Get weather for a given city."""
return f"It's always sunny in {city}!"
@tool
def get_user_location() -> str:
"""Retrieve user information based on user ID."""
return "Florida"
model = ChatOpenAI(
model="qwen/qwen3.5-2b",
base_url="http://localhost:1234/v1",
api_key="lm-studio",
)
agent = create_agent(
model=model,
system_prompt=SYSTEM_PROMPT,
tools=[get_user_location, get_weather_for_location],
)
response = agent.stream(
{"messages": [{"role": "user", "content": "当前位置的天气如何?"}]},
stream_mode=["messages", "updates", "values", "custom", "debug"],
version="v2"
)
for chunk in response:
print(dumps(chunk), end="", flush=True)
print("\n" + "-" * 30)
文档
https://reference.langchain.com/python/langchain-openai/chat_models/base/ChatOpenAI
https://lmstudio.ai/docs/developer
GitHub
Views: 9 · Posted: 2026-06-23
———         Thanks for Reading         ———
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...