如何使用 langchain 与 openAI 连接
上一篇写了如何安装 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
运行效果