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

网页站点什么意思淘宝的17种免费推广方法

网页站点什么意思,淘宝的17种免费推广方法,免费个人网站制作,外贸网站建设合同这四者的关系可以理解为 从底层驱动到高层抽象的技术栈协作,共同实现 PostgreSQL 数据库的常规操作和向量检索能力。以下是它们的层级关系和协作流程: 1. 四者角色定位 组件层级核心职责PostgreSQL数据库层关系型数据库,提供数据存储和 SQL …

这四者的关系可以理解为 从底层驱动到高层抽象的技术栈协作,共同实现 PostgreSQL 数据库的常规操作和向量检索能力。以下是它们的层级关系和协作流程:


1. 四者角色定位

组件层级核心职责
PostgreSQL数据库层关系型数据库,提供数据存储和 SQL 执行能力,通过 pgvector 扩展支持向量操作。
pgvector数据库扩展层为 PostgreSQL 添加向量存储和相似度搜索功能(如 <-> 运算符)。
psycopg2-binary驱动层Python 与 PostgreSQL 通信的底层接口,执行原始 SQL 和二进制数据传输。
SQLAlchemyORM 框架层提供 Python 对象与数据库表的映射,简化 CRUD 和向量操作。

2. 协作关系图解


3. 具体协作场景

(1) 常规数据库操作(无 pgvector)
  • SQLAlchemy 生成标准 SQL(如 SELECT * FROM users)。

  • psycopg2-binary 将 SQL 发送给 PostgreSQL 并返回结果。

  • PostgreSQL 执行查询并返回关系型数据。

(2) 向量检索(使用 pgvector)
  1. 启用扩展

    # 通过 psycopg2 或 SQLAlchemy 执行
    CREATE EXTENSION IF NOT EXISTS vector;
  2. 存储向量

    # SQLAlchemy 模型定义(需 pgvector 的 Vector 类型)
    class Document(Base):embedding = Column(Vector(1536))  # 存储 OpenAI 嵌入向量
  3. 相似度搜索

    # 使用 pgvector 的余弦距离运算符
    results = session.query(Document).order_by(Document.embedding.cosine_distance(query_vec)).limit(5)
    • SQLAlchemy 生成包含 <-> 运算符的 SQL。

    • psycopg2-binary 将查询发送到 PostgreSQL。

    • PostgreSQL 通过 pgvector 执行向量计算。


4. 依赖关系总结

  • SQLAlchemy 依赖 psycopg2-binary 连接 PostgreSQL。

  • pgvector 是 PostgreSQL 的扩展,需先在数据库中启用。

  • psycopg2-binary 是唯一直接与 PostgreSQL 通信的组件。

  • SQLAlchemy 和 pgvector 通过 psycopg2-binary 间接协作。


5. 典型代码流程示例

# 安装依赖:pip install sqlalchemy psycopg2-binary pgvectorfrom sqlalchemy import create_engine, Column, Integer
from pgvector.sqlalchemy import Vector
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
import numpy as np# 1. 初始化连接(psycopg2 驱动)
engine = create_engine("postgresql+psycopg2://user:password@localhost/db")# 2. 启用 pgvector 扩展
with engine.connect() as conn:conn.execute("CREATE EXTENSION IF NOT EXISTS vector;")# 3. 定义模型(SQLAlchemy + pgvector)
Base = declarative_base()
class Item(Base):__tablename__ = 'items'id = Column(Integer, primary_key=True)embedding = Column(Vector(3))  # 3维向量示例Base.metadata.create_all(engine)# 4. 插入和查询向量
Session = sessionmaker(bind=engine)
session = Session()# 插入数据
item = Item(embedding=np.array([1.0, 2.0, 3.0]))
session.add(item)
session.commit()# 相似度搜索
query_vec = np.array([1.1, 2.1, 3.1])
results = session.query(Item).order_by(Item.embedding.cosine_distance(query_vec)
).limit(5).all()

6. 常见问题

Q: 能否不用 SQLAlchemy,直接通过 psycopg2 操作 pgvector?
A: 可以!但需手动编写 SQL:

import psycopg2
conn = psycopg2.connect("dbname=vector_db")
cursor = conn.cursor()
cursor.execute("SELECT id FROM items ORDER BY embedding <-> %s LIMIT 5", (query_vec,))

Q: pgvector 和 Milvus 如何选择?
A:

  • pgvector:适合中小规模(百万级向量)、已使用 PostgreSQL 的场景。

  • Milvus:适合超大规模(十亿级)、需要分布式和高级向量功能的场景。

http://www.cadmedia.cn/news/6363.html

相关文章:

  • 北京英文网站建设的原则郴州网站建设推广公司
  • 如何做网站海报账号权重查询入口
  • 网站空间流量不够西安网站制作推广
  • 网页设计与制作课程小结seo自己怎么做
  • ai写作网站以下属于网站seo的内容是
  • 制作器抖音seo是什么
  • 广西城乡建设厅网站企业文化标语
  • 如何新建一个网页页面seo综合查询爱站
  • 企业网站查询系统官网如何自己创建网址
  • 国内重大新闻2021搜索引擎优化的名词解释
  • 域名dns解析和网站建设电商产品推广方案
  • 重庆建设门户网站semi认证
  • 萧山网seo排名赚靠谱吗
  • 辽宁网站建设价位web网页制作成品免费
  • 做公司网站需要制作内容为什么不能去外包公司
  • 网至普的营销型网站布局怎么做网络营销推广啊
  • 青海网站建设系统seo门户网站
  • 技术支持 武汉网站建设seo外包服务专家
  • 安徽省住建厅网站建设网站建设制作过程
  • 制作书签作文安卓优化大师官方下载
  • 成都游戏外包公司排名百度网站怎么优化排名
  • 站长工具韩国日本我想接app纯注册推广单
  • 网站建设中的html百度优化怎么做
  • 邮箱注册网站使用百度地图导航收费吗
  • 天津招标信息网seo流量排名软件
  • 如何注册公司网站域名社群运营的经典案例
  • 百合视频做爰视频网站新闻摘抄大全
  • 东营定制网站建设服务网上推广app
  • 樱桃视频大全免费高清版观看下载武汉seo软件
  • 明星个人网站设计模板刷网站关键词工具