GPT实战系列-简单聊聊LangChain搭建本地知识库准备

GPT实战系列-简单聊聊LangChain搭建本地知识库准备

LangChain 是一个开发由语言模型驱动的应用程序的框架,除了和应用程序通过 API 调用, 还会:

  • 数据感知 : 将语言模型连接到其他数据源

  • 具有代理性质 : 允许语言模型与其环境交互

LLM大模型相关文章:

GPT实战系列-简单聊聊LangChain

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-大话LLM大模型训练

GPT实战系列-探究GPT等大模型的文本生成

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

LangChain是什么?

构建本地的行业、专家知识库,就需要LangChain 支持常见角色和用途。

除LangChain外,还需要什么?

首先需要把文本转换为文本向量,即自然语言处理常常要用的Embedding技术,Text2Vector。

常见的Embedding接口有 OpenAI,Sentence Transformers,BGE, Huggingface,ModelScope,TensorFlowHub

例如,OpenAI提供接口,需要翻墙:

复制代码
from langchain.embeddings import OpenAIEmbeddings
​
embeddings = OpenAIEmbeddings()

SentenceTransformer的接口:

复制代码
from langchain.embeddings import HuggingFaceEmbeddings, SentenceTransformerEmbeddings
​
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
# Equivalent to SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")

Huggingface接口,直接下载需要翻墙。

没有梯子怎么办?如有需要可以单独写篇。

复制代码
from langchain.embeddings import HuggingFaceEmbeddings
​
embeddings = HuggingFaceEmbeddings()

ModelScope,非常适合国内,不用翻墙。

复制代码
from langchain.embeddings import ModelScopeEmbeddings
​
model_id = "damo/nlp_corom_sentence-embedding_english-base"
​
embeddings = ModelScopeEmbeddings(model_id=model_id)

Tensorflow hub,需要安装tensorflow组件。现在用pytorch,就很少使用tensorflow。

复制代码
from langchain.embeddings import TensorflowHubEmbeddings
​
embeddings = TensorflowHubEmbeddings()
​

One more thing

文本向量直接比较就不足以推广,还需要加上向量数据库。

向量数据库也有很多,选几个熟悉的,比如FAISS,Chroma,Milvus,Redis,Deep Lake等等。

例如 FAISS

复制代码
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores import FAISS
from langchain.document_loaders import TextLoader
​
from langchain.document_loaders import TextLoader
​
loader = TextLoader("../../../state_of_the_union.txt")
documents = loader.load()
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)
​
embeddings = OpenAIEmbeddings()
​
db = FAISS.from_documents(docs, embeddings)
​

后面基于LangChain做一些好玩的本地专家库测试吧。

觉得有用 收藏 收藏 收藏

点个赞 点个赞 点个赞

End


GPT专栏文章:

GPT实战系列-简单聊聊LangChain

GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案

GPT实战系列-LangChain + ChatGLM3构建天气查询助手

大模型查询工具助手之股票免费查询接口

GPT实战系列-简单聊聊LangChain

GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)

GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)

GPT实战系列-ChatGLM2模型的微调训练参数解读

GPT实战系列-如何用自己数据微调ChatGLM2模型训练

GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案

GPT实战系列-Baichuan2本地化部署实战方案

GPT实战系列-Baichuan2等大模型的计算精度与量化

GPT实战系列-GPT训练的Pretraining,SFT,Reward Modeling,RLHF

GPT实战系列-探究GPT等大模型的文本生成-CSDN博客

相关推荐
忧郁的橙子.10 分钟前
03-LangChain 深入介绍 组件
langchain
黄林晴2 小时前
别再只会写提示词!Superpowers 正在重新定义 AI 编程
aigc·openai·ai编程
花千树-0104 小时前
Java 接入多家大模型 API 实战对比
java·开发语言·人工智能·ai·langchain·ai编程
Pkmer4 小时前
为基于LLM应用开发而生的LangChain框架
langchain·llm
疯狂成瘾者6 小时前
text_splitter常见方法
python·langchain
qq_白羊座7 小时前
Langchain、Cursor、python的关系
开发语言·python·langchain
rrrjqy7 小时前
深入浅出 RAG:万物皆可向量化 (Embedding) 与 Spring AI + pgvector 实战
人工智能·spring·embedding
Clarence Liu8 小时前
langchain源码研究 - deepagents设计思想学习
人工智能·驱动开发·学习·langchain
杨艺韬9 小时前
LangChain设计与实现-第11章-Chain 组合模式
langchain·agent
杨艺韬9 小时前
LangChain设计与实现-第7章-输出解析与结构化输出
langchain·agent