简单实现一个本地ChatGPT web服务(langchain框架)

简单实现一个本地ChatGPT 服务,用到langchain框架,fastapi,并且本地安装了ollama。

依赖安装:

python 复制代码
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代码:

python 复制代码
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(
    title="LangChain Server",
    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服务测试代码:

python 复制代码
from langserve import RemoteRunnable

remote_chain = RemoteRunnable("http://localhost:8000/chain/")
r = remote_chain.invoke({ "text": "帮我用java写1个排序算法"})
print(r)

测试结果回答准确,如下图:

服务端非常简单,后面再写个前端对接一下即可方便使用。

相关推荐
fly-977 小时前
LLM大模型微调入门Lora(LlamaFactory)
chatgpt·nlp
程序员洲洲12 小时前
重构开发之道,Blackbox.AI为技术注入智能新动力
chatgpt·blackbox.ai·blackboxai·图片转应用
海边散步的蜗牛15 小时前
学术论文写作丨机器学习与深度学习
人工智能·深度学习·机器学习·chatgpt·数据分析·ai写作
爱技术的小伙子16 小时前
【ChatGPT】通过Prompt技巧优化ChatGPT的营销文案输出
人工智能·chatgpt·prompt
AI大模型-王哥16 小时前
产业科普 | 什么是人工智能和大模型?大模型入门到精通 看完你就明白了
人工智能·学习·langchain·大模型·大模型学习·大模型入门·大模型教程
智匠MindCraft Al17 小时前
GPT o1 模型使用及API调用
人工智能·gpt·ai·语言模型·chatgpt
HelpLook HelpLook20 小时前
人工智能:重塑医疗、企业与生活的未来知识管理——以HelpLook为例
人工智能·chatgpt·生活·知识库·helplook·知识库搭建
tyler_download1 天前
手撸 chatgpt 大模型:简述 LLM 的架构,算法和训练流程
算法·chatgpt
大数据面试宝典1 天前
用AI来写SQL:让ChatGPT成为你的数据库助手
数据库·人工智能·chatgpt
IPdodo全球网络1 天前
解析“ChatGPT网络错误”:从网络专线到IP地址的根源与解决方案
网络·tcp/ip·chatgpt