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

网站建设需要会什么软件软文推荐

网站建设需要会什么软件,软文推荐,科技软件公司,wordpress4.7.3优化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/326685.html

相关文章:

  • 滨州制作网站关键词优化网站排名
  • 大厂县建设局网站交换链接平台
  • 专业网站建设企业爱站网长尾词挖掘
  • 网站建设公司网站建设公司网页设计模板图片
  • 网络专业的网站建设价格网站seo哪里做的好
  • asp.net 做网站文章是怎么存储的网站建设的公司
  • 河北wap网站建设引擎优化是什么意思
  • 从蜘蛛日志分析网站重庆人社培训网
  • 视频网站应该怎么做百度竞价推广屏蔽软件
  • 郴州房产网整站排名优化品牌
  • dede网站架设教程建站seo推广
  • 网站建站公司官网seo优化培训机构
  • 武汉双军网站建设公司怎么样中国搜索引擎有哪些
  • 昆明网站建设代理在线域名查询网站
  • 中小学 网站建设 通知线上广告推广
  • 网站建设数据安全分析百度推广怎么联系
  • 帮其他企业做网站属于外包公司吗南通seo
  • 信息发布网站怎么做今日新闻消息
  • mb个人网站爱站网能不能挖掘关键词
  • 医药公司网站建设seo搜索引擎优化期末考试
  • 做域名代理网站如何写软文
  • 潍坊做外贸网站建设有没有专门做策划的公司
  • 泉州做网站联系方式免费做推广的网站
  • 网络科技公司注册资金多少资阳地seo
  • 网站开发的功能需求文档模板百度百度一下首页
  • 企业网站建设公司排名安徽疫情最新情况
  • <>中国联通和腾讯
  • 锦州网站开发建设公司网站怎么申请怎么注册
  • 门户网站建设情况总结商铺营销推广方案
  • 国外手机模板网站百度咨询电话 人工客服