引言
前面我们已经做好了必要的准备工作,包括对相关知识点的了解以及环境的安装。今天我们将重点关注代码方面的内容。如果你已经具备了Java编程基础,那么理解Python语法应该不会成为问题,毕竟只是语法的差异而已。随着时间的推移,你自然会逐渐熟悉和掌握这门语言。现在让我们开始吧!
环境安装命令
在使用之前,我们需要先进行一些必要的准备工作,其中包括执行一些命令。如果你已经仔细阅读了Milvus的官方文档,你应该已经了解到了这一点。下面是需要执行的一些命令示例:
1 | ini复制代码pip3 install langchain |
快速入门
现在,我们来尝试使用官方示例,看看在没有集成LangChain的情况下,我们需要编写多少代码才能完成插入、查询等操作。官方示例已经在前面的注释中详细讲解了所有的流程。总体流程如下:
- 连接到数据库
- 创建集合(这里还有分区的概念,我们不深入讨论)
- 插入向量数据(我看官方文档就简单插入了一些数字…)
- 创建索引(根据官方文档的说法,通常在一定数据量下是不会经常创建索引的)
- 查询数据
- 删除数据
- 断开与数据库的连接
通过以上步骤,你会发现与连接MySQL数据库的操作非常相似。
1 | python复制代码# hello_milvus.py demonstrates the basic operations of PyMilvus, a Python SDK of Milvus. |
升级版
现在,让我们来看一下使用LangChain版本的代码。由于我们使用的是封装好的Milvus,所以我们需要一个嵌入模型。在这里,我们选择了HuggingFaceEmbeddings中的sensenova/piccolo-base-zh
模型作为示例,当然你也可以选择其他模型,这里没有限制。只要能将其作为一个变量传递给LangChain定义的函数调用即可。
下面是一个简单的示例,包括数据库连接、插入数据、查询以及得分情况的定义:
1 | python复制代码from langchain.embeddings import HuggingFaceEmbeddings |
注意,以上代码只是一个简单示例,具体的实现可能会根据你的具体需求进行调整和优化。
在langchain版本的代码中,如果你想要执行除了自己需要开启docker中的milvus容器之外的操作,还需要确保你拥有网络代理。这里不多赘述,因为HuggingFace社区并不在国内。
个人定制版
接下来,我们将详细了解如何调用openai模型来回答问题!
1 | python复制代码from dotenv import load_dotenv |
当你成功运行完代码后,你将会得到你所期望的答案。如下图所示,这些答案将会展示在你的屏幕上。不然,如果系统不知道这些问题的答案,那它又如何能够给出正确的回答呢?
总结
通过本系列文章的学习,我们已经对个人或企业知识库有了一定的了解。尽管OpenAI已经提供了私有知识库的部署选项,但是其高昂的成本对于一些企业来说可能是难以承受的。无论将来国内企业是否会提供个人或企业知识库的解决方案,我们都需要对其原理有一些了解。无论我们的预算多少,都可以找到适合自己的玩法,因为不同预算的玩法也会有所不同。
本文转载自: 掘金