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博客

相关推荐
光芒再现dev1 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理
bytebeats21 小时前
我用 Spring AI 集成 OpenAI ChatGPT API 创建了一个 Spring Boot 小程序
spring boot·chatgpt·openai
知来者逆1 天前
使用 GPT-4V 全面评估泛化情绪识别 (GER)
人工智能·gpt·语言模型·自然语言处理·gpt-4v
github_czy1 天前
使用GPT-SoVITS训练语音模型
人工智能·gpt
chencjiajy1 天前
向量模型Jina Embedding: 从v1到v3论文笔记
论文阅读·embedding·向量模型
GPUStack1 天前
制作并量化GGUF模型上传到HuggingFace和ModelScope
大模型·huggingface·modelscope·genai·gguf
Yeats_Liao1 天前
昇思大模型平台打卡体验活动:基于MindSpore实现GPT1影评分类
gpt·分类·数据挖掘
龙的爹23331 天前
论文 | Evaluating the Robustness of Discrete Prompts
人工智能·gpt·自然语言处理·nlp·prompt·agi
waiting不是违停1 天前
LangChain Ollama实战文献检索助手(二)少样本提示FewShotPromptTemplate示例选择器
langchain·llm·ollama
Y24834908911 天前
05LangChain实战课 - 提示工程与FewShotPromptTemplate的应用
人工智能·langchain