简单实现一个本地ChatGPT web服务(langchain框架)
简单实现一个本地ChatGPT 服务,用到langchain框架,fastapi,并且本地安装了ollama。
依赖安装:
pip install langchain pip install langchain_community pip install langchain-cli # langchain v0.2 2024年5月最新版本 pip install bs4 pip install langchainhub pip install FastAPI
实现本地chatGPT代码:
from fastapi import FastAPI from langchain_community.llms.ollama import Ollama from langchain_core.prompts import ChatPromptTemplate from langserve import add_routes from langchain_core.output_parsers import StrOutputParser from langchain_core.messages import HumanMessage, SystemMessage # 创建LLM模型 model = Ollama(model="qwen2:7b") messages = [ SystemMessage(content="你好!我是你的虚拟助理。今天我能为您做些什么?"), HumanMessage(content="你好!"), ] result = model.invoke(messages) print('-----------------------相当于启动测试模型回复-----------------------') print(result) print('-----------------------相当于启动测试模型回复-----------------------') parser = StrOutputParser() prompt_template = ChatPromptTemplate.from_messages([ ('system', "你好!我是你的虚拟助理。"), ('user', '{text}') ]) chain = prompt_template | model | parser # 定义web服务 app = FastAPI( , version="1.0", description="一个简单的 web API 服务", ) add_routes( app, chain, path="/chain", ) if __name__ == "__main__": import uvicorn uvicorn.run(app, host="localhost", port=8000)
服务运行启动web服务结果:
客户端调用web服务测试代码:
from langserve import RemoteRunnable remote_chain = RemoteRunnable("http://localhost:8000/chain/") r = remote_chain.invoke({ "text": "帮我用java写1个排序算法"}) print(r)
测试结果回答准确,如下图:
服务端非常简单,后面再写个前端对接一下即可方便使用。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。