当前位置: 首页 > wzjs >正文

网站建设推广语网站优化外包费用

网站建设推广语,网站优化外包费用,北京网站建设价钱,学院网站设计案例ChromaDB 是一个开源的嵌入式向量数据库,专用于AI设计,好处这里就不多写了,这里做一个学习的记录。当前环境是Window,Python版本3.10 安装 执行命令,即可安装,注意提前准备Python环境 pip install chrom…

ChromaDB 是一个开源的嵌入式向量数据库,专用于AI设计,好处这里就不多写了,这里做一个学习的记录。当前环境是Window,Python版本3.10

安装

执行命令,即可安装,注意提前准备Python环境

pip install chromadb

安装的时候注意Python版本,在我使用Python3.9版本时,执行代码一直报错The onnxruntime python package is not installed. Please install it with pip install onnxruntime in add. 因为这个错纠结三四天,一直以为是环境的问题,直到最后发现换下版本就好

使用

创建客户端

服务器上的数据库,使用Http的方式读取

import chromadbchroma_client = chromadb.HttpClient(host="localhost", port=8000)

服务端的话需要使用命令启动

chroma run --path "文档上传地址" --host 0.0.0.0 --port 8000

本地安装的话,使用PersistentClient,注意地址中间不要使用中文

import chromadbclient = chromadb.PersistentClient(path="文档上传地址")

集合

collection 集合,用于存储数据的地方,类似于table

# 获取一个存在的Collection对象
collection = client.get_collection("testname")# 如果不存在就创建collection对象,一般用这个更多一点
collection = client.get_or_create_collection("testname")

数据操作

添加

# documents 文档
# metadatas 元数据,文档的一些备注
# ids 对应ID,ID唯一
# embeddings 嵌入向量
collection.add(documents=["This is a document about cat", "This is a document about car", "This is a document about bike"],metadatas=[{"category": "animal"}, {"category": "vehicle"}, {"category": "vehicle"}],ids=["id1", "id2", "id3"]
)

添加完成后,会根据数据创建相关文档,文档中有多个属性

属性类型作用示例
idString文档的唯一标识符"doc_001"
embeddingList[float]文档的向量表示[0.12, -0.34, ..., 0.78]
documentString原始文本内容"ChromaDB 是一个开源的向量数据库..."
metadataDict文档的附加描述信息{"author": "John", "category": "AI"}
urisList[String]外部资源链接["https://example.com/doc.pdf"]
dataAny自定义二进制数据图像、音频等非文本数据

修改

upsert函数如果没有该数据则添加,有的话修改

    # documents 文档# metadatas 元数据,文档的一些备注# ids 对应ID,ID唯一# embeddings 嵌入向量collection.upsert(documents=["一个关于狗的文档", "关于猫的文档", "一个关于自行车的文档"],metadatas=[{"category": "animal"}, {"category": "vehicle"}, {"category": "vehicle"}],ids=["id1", "id2", "id3"])

查询

查询时主要使用query函数和get函数,查询结果除了文档数据之外还会有distances属性数据,该数据表示查询向量与结果向量之间的相似程度, ChromaDB 默认使用余弦距离作为距离函数

距离值越小, 相似度越高,距离值越大 , 相似度越低

    print("查询列表>>>")print(collection.peek())# print(collection.get())print("相似性查询>>>")result = collection.query(query_texts=["自行车"],n_results=1)print(result)print("按照条件查询>>>")result = collection.query(query_texts=["自行车"],n_results=1,where={"category": "animal"})print(result)print("运算符过滤>>>")result = collection.query(query_texts=["关于"],n_results=2,where={"$or": [{"category": "animal"}, {"category": "vehicle"}]},)print(result)print("运算符过滤>>>")result = collection.query(query_texts=["关于"],n_results=2,where={"$or": [{"category": "animal"}, {"category": "vehicle"}]},)print(result)# print("按照向量查>>>")# query_embeddings = ...# result = collection.query(#     query_embeddings=query_embeddings,#     n_results=2# )print("按照 ID 查>>>")result = collection.get(ids=["id2"])print(result)print("分页查询 >>>")result = collection.get(where={"category": "animal"},limit=2,offset=1)print(result)

完整全部代码

import chromadb
from chromadb.api.models import Collection# 获得 collection 列表
def list_collection(client: chromadb.PersistentClient):print(client.list_collections())# 添加数据
def add(collection: Collection):# documents 文档# metadatas 元数据,文档的一些备注# ids 对应ID,ID唯一# embeddings 嵌入向量collection.add(documents=["This is a document about cat", "This is a document about car", "This is a document about bike"],metadatas=[{"category": "animal"}, {"category": "vehicle"}, {"category": "vehicle"}],ids=["id1", "id2", "id3"])# 修改数据
def edit(collection: Collection):# documents 文档# metadatas 元数据,文档的一些备注# ids 对应ID,ID唯一# embeddings 嵌入向量collection.upsert(documents=["一个关于狗的文档", "关于猫的文档", "一个关于自行车的文档"],metadatas=[{"category": "animal"}, {"category": "vehicle"}, {"category": "vehicle"}],ids=["id1", "id2", "id3"])def search(collection: Collection):print("查询列表>>>")print(collection.peek())# print(collection.get())print("相似性查询>>>")result = collection.query(query_texts=["自行车"],n_results=1)print(result)print("按照条件查询>>>")result = collection.query(query_texts=["自行车"],n_results=1,where={"category": "animal"})print(result)print("运算符过滤>>>")result = collection.query(query_texts=["关于"],n_results=2,where={"$or": [{"category": "animal"}, {"category": "vehicle"}]},)print(result)print("运算符过滤>>>")result = collection.query(query_texts=["关于"],n_results=2,where={"$or": [{"category": "animal"}, {"category": "vehicle"}]},)print(result)# print("按照向量查>>>")# query_embeddings = ...# result = collection.query(#     query_embeddings=query_embeddings,#     n_results=2# )print("按照 ID 查>>>")result = collection.get(ids=["id2"])print(result)print("分页查询 >>>")result = collection.get(where={"category": "animal"},limit=2,offset=1)print(result)if __name__ == '__main__':client = chromadb.PersistentClient(path="D:\\uploadTemplate\\chromadb")collection = client.get_or_create_collection(name="my-collection")search(collection)
http://www.dtcms.com/wzjs/308155.html

相关文章:

  • 广州网站公司建设网站中超最新积分榜
  • 自我介绍的网站设计怎么做深圳广告公司排名
  • 动态网站建设 作业竞价排名营销
  • 网站开发api平台百度关键词搜索工具
  • 有没有卖设计的网站seo在线排名优化
  • 微信网站游戏中国十大流量网站
  • 腾讯云网站搭建会计培训班初级费用
  • 网站设计有限公司西安百度关键词推广
  • 做emc的有哪些网站seo搜索价格
  • 中国建设工程造价管理系统网站近几年的网络营销案例
  • 阜阳网站开发招聘城市更新论坛破圈
  • 网站搭建上海百度官网首页登录入口
  • 做网站 不做源码上海网站排名seo公司哪家好
  • 比较有逼格的网站仓山区seo引擎优化软件
  • 本地主机做网站百度竞价平台官网
  • 电子商务网站网站建设国外网站排名前十
  • 新疆建设园林网站百度seo关键词排名
  • 银川建立网站百度网站首页网址
  • 做网站做百度竞价赚钱全球搜钻是什么公司
  • 塘厦企业网站推广公司济南百度推广公司电话
  • 网站建设技术包括哪些链网
  • 珠海门户网站建设报价seo千享科技
  • 旅游网页设计模板网站推广公司运营模式
  • 政府网站平台建设乐陵seo外包
  • 赤峰北京网站建设四川最好的网络优化公司
  • 广东省建设局网站衡阳seo排名
  • 合肥知名建站公司如何seo推广
  • 外贸机械网站建设南昌网站开发公司
  • 四川城乡住房城乡建设厅网站竞价推广培训课程
  • 信息发布网站模板下载网络营销这个专业怎么样