Files
ai-g3sb-backman2.0/backend/utils/__pycache__/embedding.cpython-312.pyc
T

93 lines
12 KiB
Plaintext
Raw Normal View History

2026-04-10 16:52:07 +08:00
Ë
ˆêÞié#ã óü—UdZddlZddlZddlmZddlmZmZmZm Z ddl
Z ddl Z e je«ZeGd„d««Zdefd„ZGd „d
«ZeZdaeeed < dd eed
eededefd„Zdd„Zy)u–
Embedding �装:通过 OpenAI 兼容 ``/v1/embeddings`` 远程 API 获���
(ModelScope / OpenAI / DashScope 等由环境��选择)。
éN)Ú dataclass)ÚAnyÚListÚOptionalÚUnioncóD—eZdZUdZeed<eed<eed<eed<eed<y)Ú_RemoteEmbeddingEnvuG从环境å�˜é‡�è§£æž�出的远程 OpenAI-Compatible Embedding é…�置。Úapi_keyÚbase_urlÚmodelÚ max_batchÚlabelN)Ú__name__Ú
2026-04-10 16:52:07 +08:00
__module__Ú __qualname__Ú__doc__ÚstrÚ__annotations__Úint©óúbackend/utils/embedding.pyr r s…áQà
ƒL؃MØ ƒJ؃NØ „Jrr ÚreturncóZ—tjdd«j«}tjdd«j«}tjdd«j«}tjd«xstjdd«j«}|r¸|xsd}tjd«xstjd d
«j«}tjd d «j«}|j«rt d
t |««nd}|s t
d«‚t||jd«||d¬«Stjdd«j«}|rð|jd«s|jd«r t
d«‚tjdd«j«xsd} tjdd«j«}
|
s t
2026-04-10 16:52:07 +08:00
d«‚tjdd«j«}|j«rt d
t |««nd}t|| jd«|
|d¬«S|s t
d«‚|s t
2026-04-10 16:52:07 +08:00
d «‚tjd!d«j«}|s t
d"«‚tjd#d$«j«}|j«rt d
t |««nd%}t||jd«||d&¬«S)'u`
优先 ModelScope(MODELSCOPE_*);未�置时回退 DashScope(DASHSCOPE_*)。
ÚMODELSCOPE_API_KEYÚÚMODELSCOPE_BASE_URLÚDASHSCOPE_API_KEYÚDASHSCOPE_BASE_URLÚDASHSCOPE_base_urlz&https://api-inference.modelscope.cn/v1ÚMODELSCOPE_EMBEDDING_MODELÚMODELSCOPE_MODELzQwen/Qwen3-Embedding-8BÚMODELSCOPE_EMBEDDING_MAX_BATCHÚ32éé u>未é…�ç½® MODELSCOPE_EMBEDDING_MODEL(或 MODELSCOPE_MODEL)Ú/Ú
ModelScope©r
r r r
rÚOPENAI_API_KEYzhttp://zhttps://u‘OPENAI_API_KEY ä¸�能填写为 URL:请将网关地å�€å†™åˆ° OPENAI_BASE_URL(例如 http://host:9080/v1),密钥å�•独写在 OPENAI_API_KEYÚOPENAI_BASE_URLzhttps://api.openai.com/v1ÚOPENAI_EMBEDDING_MODELuB使用 OpenAI 兼容 Embedding 时请设置 OPENAI_EMBEDDING_MODELÚOPENAI_EMBEDDING_MAX_BATCHÚ100édÚOpenAIuÝ远程 Embedding 未é…�置:请设置 MODELSCOPE_API_KEY(å�Šå�¯é€‰ BASE_URL),或 OPENAI_API_KEY / OPENAI_EMBEDDING_MODEL(å�Šå�¯é€‰ OPENAI_BASE_URL),或 DASHSCOPE_API_KEY / DASHSCOPE_BASE_URL / DASHSCOPE_MODELu8未é…�ç½® DASHSCOPE_BASE_URL(或 DASHSCOPE_base_url)ÚDASHSCOPE_MODELu未é…�ç½® DASHSCOPE_MODELÚDASHSCOPE_EMBEDDING_MAX_BATCHÚ10é
Ú DashScope)
ÚosÚgetenvÚstripÚisdigitÚmaxrÚ
ValueErrorr ÚrstripÚ
startswith) Úms_keyÚms_baseÚds_keyÚds_baser r Úmbr
Úoa_keyÚoa_baseÚoa_models rÚ_remote_embedding_from_envrFsÉ€ô�Y‰YÐ+¨RÓ
0×
6Ñ
2026-04-10 16:52:07 +08:00
6Ó
8€FÜ�i‰iÐ-¨rÓ2×8Ñ8Ó:€GÜ
�Y‰YÐ*¨BÓ
/×
5Ñ
5Ó
7€Fä
� ‰ Ð&Ó'ÒN¬2¯9©9Ð5IÈ2Ó+Nß �eƒgð ñ
ØÒFÐFˆä �I‰IÐ2Ó 3ò
2026-04-10 16:52:07 +08:00
HÜ�y‰yÐ+Ð-FÓGß
‰%‹'ð ô�Y‰YÐ7¸Ó
>×
DÑ
DÓ
FˆØ')§z¡z¤|”C˜œ3˜r›7”O¸ˆ ÙÜÐ]Ó^Ð ^Ü"ØØ—_‘_ SÓ)ØØØô 
2026-04-10 16:52:07 +08:00
ð
ô�Y‰YÐ'¨Ó
,×
2Ñ
2Ó
4€FÙ
Ø × Ñ ˜YÔ '¨6×+<Ñ+<¸ZÔ+HÜðWóð
ô
2026-04-10 16:52:07 +08:00
�I‰IÐ'¨Ó ,× 2Ñ 2Ó 4Ò SÐ8Sð ô—9‘9Ð5°rÓ:×@Ñ@ÓBˆÙÜØTóð
ô�Y‰YÐ3°UÓ
;×
AÑ
AÓ
2026-04-10 16:52:07 +08:00
CˆØ')§z¡z¤|”C˜œ3˜r›7”O¸ˆ Ü"ØØ—^‘^ CÓ(ØØØô 
ð
ñ Üð
Kó
2026-04-10 16:52:07 +08:00
ð
ñ
ÜÐSÓTÐTÜ �I‰IÐ'¨Ó ,× 2Ñ 2Ó 4€EÙ ÜÐ4Ó5Ð5Ü �‰Ð2°DÓ 9× ?Ñ ?Ó A€BØ#%§:¡:¤<”�A”s˜2“w”°R€IÜ ØØ—‘ Ó$ØØØô  ðrc
óD—eZdZ ddeedeedeedeedeef
d„Zedefd „«Zd
e e
ddfd „Z dd e ee efd
ede
dede
dejf d„Zdejdejdejfd„Z ddede edede efd„Zy)ÚOpenAICompatibleRemoteEmbeddingNr
r r r
Úprovider_labelc ó4— ddlm}|�i|�g|�et|j «|j «j d«|j «|�t
dt|««nd|xsd¬«}n
t«}|j|_ |j|_
|j|_ |j|_
|j|_||j|j¬ «|_t#j$d
d «j «} | j'«r t| «nd|_t*j-d |j|j|j|j«y#t$r}td«|‚d}~wwxYw)
Nr)r0u?使用远程 Embedding 需è¦�安装 openai:pip install openair'r%r&Úcustomr))r
r Ú
VECTOR_DIMru?使用 %s Embedding API:model=%s,base_url=%s,max_batch=%s)Úopenair0Ú ImportErrorr r8r<r:rrFr
r r r
2026-04-10 16:52:07 +08:00
Ú_api_max_batchrÚ_provider_labelÚ_clientr6r7r9Ú_embedding_dimÚloggerÚinfo)
Úselfr
r r r
rIr0ÚeÚcfgÚvds