上一篇写了如何安装 langchain
https://www.cnblogs.com/hailexuexi/p/18087602
这里主要说一个 langchain的使用
创建一个目录 langchain ,在这个目录下创建两个文件
main.py
这段python代码,用到了openAI,需要openAI及FQ。这里只做为示例
# -*- coding: utf-8 -*-
from langchain.text_splitter import RecursiveCharacterTextSplitter
#rom langchain.embeddings import OpenAIEmbeddings
from langchain_community.embeddings import OpenAIEmbeddings
#from langchain.vectorstores import Chroma
from langchain_community.vectorstores import Chroma
from langchain.chains import RetrievalQA
#from langchain.chat_models import ChatOpenAI
from langchain_community.chat_models import ChatOpenAI
#from langchain.document_loaders import TextLoader
from langchain_community.document_loaders import TextLoader
from langchain_community.llms import Tongyi
import os
import openai
import warnings
warnings.filterwarnings('ignore', category=FutureWarning)
os.environ['OPENAI_API_KEY'] = 'sk-*******************************'
os.environ['OPENAI_API_BASE'] = 'https://api.openai.com/v1'
os.environ["DASHSCOPE_API_KEY"] = "sk-*************************"
def run():
loader = TextLoader('qa.txt')
data = loader.load()
text_splitter = RecursiveCharacterTextSplitter(chunk_size= 50, chunk_overlap = 0)
all_splits = text_splitter.split_documents(data)
vectorstore = Chroma.from_documents(documents=all_splits, embedding=OpenAIEmbeddings())
while True:
print("请输入问题,例如:弦丝画制作的活动时长是多少?")
query = input("请输入:")
if "end" == query:
break
question = query
print(f"问题:{question}")
# llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
llm = Tongyi()
qa_chain = RetrievalQA.from_chain_type(llm, retriever=vectorstore.as_retriever())
ret = qa_chain({"query": question})
print(f"回答:{ret['result']}")
if '__main__' == __name__:
run()
qa.txt
这个文件 用于存放 问答对
问题:弦丝画制作的活动时长是多少?
答案:弦丝画制作活动时长是2—3小时。
问题:用弦丝画制作福字是多少元一位?
答案:用弦丝画制作福字、旺字等单字款价格120元/人。
问题:用弦丝画制作旺字是多少元一位?
答案:用弦丝画制作福字、旺字等单字款价格120元/人。
问题:用弦丝画制作喜字是多少元一位?
答案:用弦丝画制作福字、旺字等单字款价格120元/人,其他图案款请咨询详谈。
问题:端午节香囊的制作价格是多少元一位?
答案:端午节香囊价格100元/人。
问题:中秋节月饼的制作价格是多少元一位?
答案:中秋节月饼价格120元/人。
运行 main.py
提示没有 模块openai
安装 openai
再次运行 main.py ,提示没有安装 chromadb
安装 chromadb
再次运行提示没有安装 tiktoken
安装 tiktoken
运行效果