安装LangChain
uv add langchain
uv add langchain-openai
本地启动一个大模型
(base) gillbert@pop-os:~$ conda activate llm
(llm) gillbert@pop-os:~$ cd models/
(llm) gillbert@pop-os:~/models$ vllm serve DeepSeek-R1-Distill-Qwen-1.5B --tensor-parallel-size 1 --gpu-memory-utilization 0.7 --max-model-len 4096 --host 0.0.0.0 --port 8000 --api-key 123456
连接模型
from langchain.chat_models import init_chat_model
model = init_chat_model(
model="DeepSeek-R1-Distill-Qwen-1.5B",
model_provider="openai",
api_key="123456",
base_url="http://192.168.0.23:8000/v1"
)
print(model.invoke("你是谁").content)
print("*" * 50)
输出如下
流式输出
from langchain.chat_models import init_chat_model
import logging
from langchain_core.language_models import BaseChatModel
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
def init_llm_client() -> BaseChatModel:
model = init_chat_model(
model="DeepSeek-R1-Distill-Qwen-1.5B",
model_provider="openai",
api_key="123456",
base_url="http://192.168.0.23:8000/v1"
)
return model
def main():
try:
chat = init_llm_client()
logger.info("LLM客户端初始化成功")
# 流式输出
response_stream = chat.stream("介绍一下日语的动词变形")
for chunk in response_stream:
print(chunk.content, end="")
except Exception as e:
logger.error(e)
if __name__ == "__main__":
main()