OpenAI+LangChain+Chroma

这篇具有很好参考价值的文章主要介绍了OpenAI+LangChain+Chroma。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

langchain使用chroma进行持久化时的一些问题

根据官方文档–langchain使用Chroma官方文档
第一步在工程中进行 pip install chromadb
OpenAI+LangChain+Chroma,python,语言模型,chatgpt,自然语言处理
并粘上官网提供的相应代码后
代码报错
OpenAI+LangChain+Chroma,python,语言模型,chatgpt,自然语言处理
这边搜索报错
error:Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/

需要安装 Microsoft C++ 生成工具 - Visual Studio
Microsoft C++ 生成工具
页面直接点击下载生成工具即可

OpenAI+LangChain+Chroma,python,语言模型,chatgpt,自然语言处理
OpenAI+LangChain+Chroma,python,语言模型,chatgpt,自然语言处理
OpenAI+LangChain+Chroma,python,语言模型,chatgpt,自然语言处理
OpenAI+LangChain+Chroma,python,语言模型,chatgpt,自然语言处理

以上步骤执行完毕后再执行 pip install chromadb 即可
OpenAI+LangChain+Chroma,python,语言模型,chatgpt,自然语言处理
下面提供一段demo代码

import os

from langchain.chains.question_answering import load_qa_chain

from langchain.text_splitter import CharacterTextSplitter

from langchain.chat_models import ChatOpenAI
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.document_loaders import TextLoader
from langchain.document_loaders import DirectoryLoader

# 这里输入自己的 openai 的 key
os.environ["OPENAI_API_KEY"] = "---------------------------"
os.environ["OPENAI_API_BASE"] = "---------------------------"

OPENAI_API_KEY = os.environ['OPENAI_API_KEY']
OPENAI_API_BASE = os.environ["OPENAI_API_BASE"]

# chat_content写提问
chat_content = "柏林少女这款香水的评价如何"
print("用户正在提问:" + chat_content)

# 这里的upload 是最外层的文件夹(也可自己配置希望读取的文件夹)
this_dir = os.path.dirname(__file__)
path = os.path.join(this_dir, '..', 'upload')
print(path)

# langchain提供DirectoryLoader方法可直接加载文件夹下指定格式文件
# loader_kwargs 参数代表是否开启--自动根据编码格式转义
text_loader_kwargs = {'autodetect_encoding': True}
loader = DirectoryLoader(path, glob="*.txt", loader_cls=TextLoader, loader_kwargs=text_loader_kwargs)
docs = loader.load()
# print(docs)
embeddings = OpenAIEmbeddings(openai_api_key=OPENAI_API_KEY)
# 使用ChatOpenAI接口
llm = ChatOpenAI(temperature=0, openai_api_key=OPENAI_API_KEY, verbose=True)
# 初始化加载器
text_splitter = CharacterTextSplitter(chunk_size=100, chunk_overlap=0)
# 切割加载的 document
split_docs = text_splitter.split_documents(docs)

# 这里请更换为自己电脑的指定路径,以存放index
vector_store_path = r"D:\pythonCodeSpace\vector_store"
print(vector_store_path)

# 下面两种情况在使用时请仅选其一:1.embedding并存储  2.仅读取指定存储空间
# 1.持久化存储进入矢量库
print("chroma持久化------")
vectordb = Chroma.from_documents(documents=split_docs,
                                 embedding=embeddings,
                                 persist_directory=vector_store_path)
vectordb.persist()
# 2.如果只是读取---读取持久化的embedding内容
# vectordb = Chroma(persist_directory=vector_store_path, embedding_function=embeddings)


# k=? 是指指召回top ?的结果
# as_retriever函数还有个search_type的参数, 默认的是similarity, 参数解释如下:
# search_type 搜索类型:“similarity” 或 “mmr”
# search_type=“similarity” 在检索器对象中使用相似性搜索,在其中选择与问题向量最相似的文本块向量。
# search_type=“mmr” 使用最大边际相关性搜索,其中优化相似性以查询所选文档之间的多样性。
retriever = vectordb.as_retriever(search_kwargs={"k": 1})
print("根据提问内容在矢量库中查询相关内容,relevantDocs------")
relevantDocs = retriever.get_relevant_documents(chat_content)
chain = load_qa_chain(llm, chain_type="stuff")
result = chain({"input_documents": relevantDocs, "question": chat_content}, return_only_outputs=True)
print(result['output_text'])

这里的demo代码有参考csdn的文章 如下
用LangChain实现一个ChatBlog
感谢作者大大文章来源地址https://www.toymoban.com/news/detail-613414.html

到了这里,关于OpenAI+LangChain+Chroma的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenAI私有自然语言处理模型、ChatGPT官方模型、百度智能云UNIT模型定制三者的使用方式、应用场景及区别

    目录 前言 1、ChatGPT私有自然语言模型数据响应 1.1、私有模型列表 1.2、搭建属于自己的 WEB AI 应用 1.3、模型介绍及使用场景 1.3.1、text-embedding-ada-002模型 1.3.2、davinci模型 2、ChatGPT官方模型 2.1、OpenAI GPT-4介绍 2.2、能力 2.3、优势 2.4、官方模型案列 2.4.1、列出所有模型列表 2.4.2、

    2024年02月07日
    浏览(59)
  • Python遇上OpenAI系列教程【一】:如何格式化输入到chatgpt模型

    点击加入-【OpenAI-API开发】技术交流群 Chatgpt由Openai最先进的型号 gpt-3.5-Turbo 和 gpt-4 提供支持。我们可以使用OpenAI API使用 GPT-3.5-Turbo 或 GPT-4 构建自己的应用程序。 聊天模型将一系列消息作为输入,然后返回AI写的消息作为输出。 本指南用一些示例API调用说明了聊天格式。 聊

    2024年02月13日
    浏览(43)
  • 【AI大模型应用开发】【LangChain系列】9. 实用技巧:大模型的流式输出在 OpenAI 和 LangChain 中的使用

    大家好,我是同学小张,日常分享AI知识和实战案例 欢迎 点赞 + 关注 👏, 持续学习 , 持续干货输出 。 +v: jasper_8017 一起交流💬,一起进步💪。 微信公众号也可搜【同学小张】 🙏 本站文章一览: 当大模型的返回文字非常多时,返回完整的结果会耗费比较长的时间。如果

    2024年04月09日
    浏览(55)
  • Python使用OpenAI 和大型语言模型对话PDF和图像文本

    本文首先介绍文件文本嵌入方法及代码实现,然后介绍和代码实现提取PDF和图像文本应用于大型语言模型。在此基础上,构建回答任何问题的人工智能助手。 文本嵌入是自然语言处理(NLP)领域的重要工具。它们是文本的数字表示,其中每个单词或短语都表示为实数的密集向

    2024年02月14日
    浏览(46)
  • 【LangChain学习之旅】—(7) 调用模型:使用OpenAI API还是微调开源Llama2/ChatGLM?

    Reference:LangChain 实战课 之前的内容讲了提示工程的原理以及 LangChain 中的具体使用方式。今天,我们来着重讨论 Model I/O 中的第二个子模块,LLM。 让我们带着下面的问题来开始这一节课的学习。大语言模型,不止 ChatGPT 一种。调用 OpenAI 的 API,当然方便且高效,不过,如果我

    2024年02月01日
    浏览(67)
  • OpenAI的模型下载(chatGPT模型)

    OpenAI于Aug 21, 2019提交了一个commit,其公布了更大的774M模型,并且纠正了对之前公布的两个模型的参数估计错误导致的命名不准确问题,修改了其名称:其中,原117M模型更名为124M;345M更名为355M。(仅修改名称,模型的文件内容并没有任何修改,可以继续使用) commit地址:

    2024年02月15日
    浏览(35)
  • ChatGPT- OpenAI 的 模型(Model) 介绍

            ChatGPT的火爆程度大家都知道了,该章节我们来了解一下 ChatGPT 一个关键概念 - 模型(Model)。主要是为大家介绍一下在 OpenAI 中,究竟有哪些模型可以使用。 在后续的章节,我们会分单独的小章节逐一的为大家介绍各个不同模型的调用以及接口参数的一些说明,该章节

    2024年02月01日
    浏览(45)
  • 大语言模型的开发利器langchain

    最近随着chatgpt的兴起,人工智能和大语言模型又再次进入了人们的视野,不同的是这一次像是来真的,各大公司都在拼命投入,希望能在未来的AI赛道上占有一席之地。因为AI需要大规模的算力,尤其是对于大语言模型来说。大规模的算力就意味着需要大量金钱的投入。那么

    2024年02月11日
    浏览(61)
  • 用LangChain构建大语言模型应用

    自 ChatGPT 发布以来,大型语言模型 (LLM) 广受欢迎。尽管您可能没有足够的资金和计算资源从头开始训练自己的大语言模型,但您仍然可以使用预训练的大语言模型来构建一些很酷的东西,例如: 可以根据您的数据与外界互动的个人助理 为您的目的定制的聊天机器人 分析或总

    2024年02月06日
    浏览(37)
  • 训练自己的ChatGPT-OpenAI 微调模型

    OpenAI终于下定决心——正式开放ChatGPT API! ChatGPT API地址:https://platform.openai.com/docs/guides/chat gpt-3.5-turbo的新模型 OpenAI正式打开了官方的ChatGPT API,为广大开发者打开了新的大门。 官方文档地址:OpenAI API 对于ChatGPT的表现,大家都已经感受到他的惊艳了,在试用之余,我们想该

    2024年02月06日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包