当前位置:   article > 正文

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

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

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

依赖安装:

  1. pip install langchain
  2. pip install langchain_community
  3. pip install langchain-cli # langchain v0.2 2024年5月最新版本
  4. pip install bs4
  5. pip install langchainhub
  6. pip install FastAPI

实现本地chatGPT代码:

  1. from fastapi import FastAPI
  2. from langchain_community.llms.ollama import Ollama
  3. from langchain_core.prompts import ChatPromptTemplate
  4. from langserve import add_routes
  5. from langchain_core.output_parsers import StrOutputParser
  6. from langchain_core.messages import HumanMessage, SystemMessage
  7. # 创建LLM模型
  8. model = Ollama(model="qwen2:7b")
  9. messages = [
  10. SystemMessage(content="你好!我是你的虚拟助理。今天我能为您做些什么?"),
  11. HumanMessage(content="你好!"),
  12. ]
  13. result = model.invoke(messages)
  14. print('-----------------------相当于启动测试模型回复-----------------------')
  15. print(result)
  16. print('-----------------------相当于启动测试模型回复-----------------------')
  17. parser = StrOutputParser()
  18. prompt_template = ChatPromptTemplate.from_messages([
  19. ('system', "你好!我是你的虚拟助理。"),
  20. ('user', '{text}')
  21. ])
  22. chain = prompt_template | model | parser
  23. # 定义web服务
  24. app = FastAPI(
  25. title="LangChain Server",
  26. version="1.0",
  27. description="一个简单的 web API 服务",
  28. )
  29. add_routes(
  30. app,
  31. chain,
  32. path="/chain",
  33. )
  34. if __name__ == "__main__":
  35. import uvicorn
  36. uvicorn.run(app, host="localhost", port=8000)

服务运行启动web服务结果:

 客户端调用web服务测试代码:

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/817152
推荐阅读
相关标签
  

闽ICP备14008679号