加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

人工智能之Langchain-Chatchat项目:2.1-通过GPT2模型来检索NebulaGraph

(2023-12-15 18:15:35)
标签:

aigc

ai讲师

chatgpt

计算机视觉讲师

人工智能讲师

分类: 大数据人工智能

在官方例子中给出了通过chain = NebulaGraphQAChain.from_llm(ChatOpenAI(temperature=0), graph=graph, verbose=True)来检索NebulaGraph图数据库。本文介绍了通过GPT2替换ChatOpenAI的思路和实现,暂时不考虑效果。之所以没用ChatGLM2是因为加载模型太慢,调试不方便,不过将GPT2替换为ChatGLM2也很方便。

一.通过ChatOpenAI来检索NebulaGraph1.NebulaGraph_OpenAI.py代码实现  如果没有ChatGPT的key和proxy是没法运行的,如下所示:

2.NebulaGraphQAChain默认prompt  基本思路是介绍、举例、图Schema和限制,如下所示:

二.通过GPT2来检索NebulaGraph1.NebulaGraph_GPT2.py代码实现  使用自定义的GPT2()替换ChatOpenAI(temperature=0)即可,如下所示:

2.GPT2.py代码实现  主要是继承LLM类,并且实现def _call(self, prompt: str, stop: Optional[List[str]] = None) -> str:函数,如下所示:

3.GPT2_Flask.py代码实现  主要是通过Flask将GPT2进行API封装,如下所示:

因为通用LLM通过prompt将text转换为nGQL并不专业,觉得以后的发展思路应该还是专用LLM作为agent来做这个事情。

参考文献:[1]https://huggingface.co/gpt2[2]使用LLMs模块接入自定义大模型:https://blog.csdn.net/zhaomengsen/article/details/130585397[3]https://github.com/ai408/Langchain-Chatchat/blob/master/examples/NebulaGraph_GPT2.py[4]https://github.com/ai408/Langchain-Chatchat/blob/master/examples/GPT2.py[5]https://github.com/ai408/Langchain-Chatchat/blob/master/examples/GPT2_Flask.py

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有