【转载】用 ChatGPT+LangChain 部署到服务器,打造专属 GPT知识库

原文链接:https://www.bilibili.com/read/cv23216734

本地部署

  1. 安装 python,小白自己去找安装教程

  2. pip install llama-index,安装 llama-index 库

  3. pip install langchain,安装 langchain 库

  4. pip install gradio,安装 gradio 库

  5. pip install openai,安装 openai 库

  6. 若有报错,那根据报错进行安装相应的库,可能因为网络等原因致安装不成功,或缺少自带的库。

  7. 上面的代码有两处是需要修改的,一是修改文件路径,(我这里是在 D 盘创建了一个 ai 的文件夹,下面是该文件夹为例);二是修改填写你的 open ai 的 api。

  8. 将上面的代码,保存为 app.py,放到 ai 文件夹。同时,在 ai 文件下创建一个文件夹,命名为 docs,用于放需要训练的文本。

  9. 将你的知识库以 md 格式,或者 txt、pdf 等格式放到 docs 文件夹

  10. 一切做完后,用 VS code 等解释器打开 app.py 便可运行。若没有解释器,也可以用 cmd 命令运行,输入 python D:\ai\app.py,进行运行便可。

  11. 运行因电脑算力和训练的文本多少不同,训练完成之后,会有一个本地域名,用浏览器打开,便可像 chat gpt 一样,使用自己专属的 gpt。

  12. 关闭运行的话是在终端,键入 ctrl+c

  13. 注意,每次运行都是对你的知识库进行全部训练,会消耗相应的 api tokens。若不是挂到服务器的话,不建议在 docs 文件中放过多的文件,毕竟电脑总是要关机的。 作者:余汉波 https://www.bilibili.com/read/cv23216734 出处:bilibili

服务器部署

跟本地部署一致,但我们需要通过域名去访问,所以我们在创建站点之后,要使用到反向代理,对本地的域名进行反向代理,这里以宝塔为例。

具体请搜索B站视频:《用 ChatGPT+LangChain 部署到服务器,打造专属 GPT知识库》
在这里插入图片描述

代码

from llama_index import SimpleDirectoryReader, LangchainEmbedding, GPTListIndex,GPTSimpleVectorIndex, PromptHelper, LLMPredictor, ServiceContext
from langchain import OpenAI
import gradio as gr
import sys
import os
os.chdir(r'D:\ai')  # 文件路径
os.environ["OPENAI_API_KEY"] = '输入你的chatgpt的api'
def construct_index(directory_path):
    max_input_size = 4096
    num_outputs = 2000
    max_chunk_overlap = 20
    chunk_size_limit = 600
    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="gpt-3.5-turbo", max_tokens=num_outputs))
    documents = SimpleDirectoryReader(directory_path).load_data()
    service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
    index = GPTSimpleVectorIndex.from_documents(documents,service_context=service_context)
    index.save_to_disk('index.json')
    return index
def chatbot(input_text):
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response
iface = gr.Interface(fn=chatbot,
                     inputs=gr.inputs.Textbox(lines=7, label="输入您的文本"),
                     outputs="text",
                     title="AI 知识库聊天机器人")
index = construct_index("docs")
iface.launch(share=True) 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值