openai-simple-embeddings
基于OPENAI兼容API接口的embeddings服务封装,以解决langchain_community.vectorstores在使用bge-m3/bge-reranker-v2-m3等模型提供的OPENAI兼容API接口服务时遇到的兼容性问题。
安装
pip install openai-simple-embeddings
使用
配置变量设置
# OPENAI兼容API服务,可以xinference提供
# 使用OPENAI_EMBEDDINGS_BASE_URL或EMBEDDINGS_BASE_URL设置独立服务地址
export OPENAI_EMBEDDINGS_BASE_URL="http://localhost/v1"
# OPENAI兼容API服务密钥,一般以sk-开头,共16位长
# 使用OPENAI_EMBEDDINGS_API_KEY或EMBEDDINGS_API_KEY设置独立服务密码
export OPENAI_EMBEDDINGS_API_KEY=""
# 默认的文本向量化模型
export OPENAI_EMBEDDINGS_MODEL="bge-m3"
# 向量数据库(以redis-stack为例)
export REDIS_STACK_URL="redis://localhost:6379/0"
# 字符串长度控制
export OPENAI_EMBEDDINGS_MAX_SIZE=1024
获取文本向量
代码
from openai_simple_embeddings.base import get_text_embeddings
r1 = get_text_embeddings("hello")
print(r1)
输出
[-0.032024841755628586, 0.023251207545399666, ..., -0.037223849445581436, 0.05963246524333954]
集成到向量数据库客户端
代码
from openai_simple_embeddings.langchain_embeddings import OpenAISimpleEmbeddings
from langchain_community.vectorstores.redis import Redis as LangchainRedisVectorStore
import python_environment_settings
REDIS_STACK_URL = python_environment_settings.get("REDIS_STACK_URL")
index_name = "kb:test"
embeddings = OpenAISimpleEmbeddings()
lrvs = LangchainRedisVectorStore(
redis_url=REDIS_STACK_URL,
index_name=index_name,
key_prefix=index_name,
embedding=embeddings,
)
uids = lrvs.add_texts(["hello"])
print(uids)
输出
['kb:test:984af7f2ffea4d49952af82dd992c8f8']
关于字符串长度控制
- 模型本身一般没有字符串长度控制。
- 但过长的字符串会导入模型占用内存的增长。
- 默认将字符串长度控制在:1024字。
- 通过
OPENAI_EMBEDDINGS_MAX_SIZE设置默认最大字符串长度。 - 也可以在函数调用中指定最大字符串长度。
- 注意:所有超过最大长度的字符串将被截断。
版本记录
v0.1.0
- 版本首发。
v0.1.1
- 允许embeddings模型使用独立的服务地址及密码。
v0.1.2
- 默认embeddings模型使用独立的服务地址及密码。
Metadata
Release files for openai-simple-embeddings 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| openai_simple_embeddings-0.1.2.tar.gz | 8.8 kB | Without provenance | Details for openai_simple_embeddings-0.1.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| openai_simple_embeddings-0.1.2-py3-none-any.whl | Python 3 | none | any | Details for openai_simple_embeddings-0.1.2-py3-none-any.whl |
Total release size: 18.5 kB
Release files / openai_simple_embeddings-0.1.2.tar.gz
| Download URL | openai_simple_embeddings-0.1.2.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f12da5ce27fb250312914577574a2b4934434fe50c0e664bbcaa6cf52121d932
|
|
BLAKE2b-256 checksum How to use checksums |
a0fc52ef9f90def82055931036fd6795ebbb51314859072688c4b189d91b74f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.9
|
Release files / openai_simple_embeddings-0.1.2-py3-none-any.whl
| Download URL | openai_simple_embeddings-0.1.2-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4dd7610450f4fb2a13424ec5a37fbc121b3edca7bdeaaa51cbd834e0bf556867
|
|
BLAKE2b-256 checksum How to use checksums |
35c746440372ed56b0e76c3298014ac87fc945734405a385d54f327d1399f9ce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.11.9
|
Security for openai-simple-embeddings 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.