我们该如何应用LangChain进行多种的开发呢?在写一些项目的时候我们经常离不开要阅读一些开源产品的代码,而这个智能问答小客服就是在LangChain源代码上进行微小改动写出来的,能够更加清晰LangChain的结构。一起来看看吧!希望通过这个例子能帮助大家更加理解LangChain。
框架设计
组件一览:
组件 | 类型 | 子类型 |
TextLoader | 索引组件 | 文本加载器 |
RecursiveCharacterTextSplitter | 索引组件 | 文本分割器 |
RetrievalQA | 链组件 | 对话链 |
ChatOpenAI | 模型组件 | LLM |
OpenAIEmbeddings | 模型组件 | 文本嵌入模型 |
Chroma | 索引组件 | VectorStores |
准备工作
安装依赖
pip install langchain
pip install openai
pip install chromadb
pip install tiktoken
设置密钥
import os
import openai os.environ["OPENAI_API_KEY"] = 'your_openai_key'
os.environ['OPENAI_API_BASE'] = ''
导入库和TXT加载器
from langchain.document_loaders import TextLoader
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectors