python+usearch+openai协议兼容的embedding向量文本句子语义索引检索http服务代码
代码语言:python
所属分类:人工智能
代码描述:python+usearch+openai协议兼容的embedding向量文本句子语义索引检索http服务代码,提供了add和search的httpapi对外提供添加数据向量索引与文本语义搜索服务,采用usearch来进行向量存储与相似匹配搜索。
代码标签: python usearch openai 协议 兼容 embedding 向量 文本 句子 语义
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
import os
import json
import hashlib
import sqlite3
import asyncio
from typing import List, Dict, Any
import numpy as np
from contextlib import asynccontextmanager
from fastapi import FastAPI, HTTPException, Security, Depends, status
from fastapi.security.api_key import APIKeyHeader
from pydantic import BaseModel
from openai import AsyncOpenAI # 使用异步客户端,防止阻塞服务器
from usearch.index import Index
# ================= 配置区域 =================
# 1. OpenAI 配置 (兼容阿里云DashScope)
# 建议在环境变量中设置,或者直接填在这里
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY", "sk-869c3bfe81f041f39ca447a04fb8149d")
OPENAI_MODEL = "text-embedding-v4" # 阿里云DashScope的text-embedding-v4模型
VECTOR_DIM = 1024 # 修正: 阿里云text-embedding-v4实际返回1024维向量
# 2. 服务安全配置 (本服务的访问密码)
SERVICE_API_KEY_NAME = "X-Service-Key"
SERVICE_API_KEY_SECRET = "my-secure-service-password"
# 3. 存储路径
DATA_DIR = "./data3"
DB_PATH = os.path.join(DATA_DIR, "metadata3.db")
# 确保目录存在
os.makedirs(DATA_DIR, exis.........完整代码请登录后点击上方下载按钮下载查看















网友评论0