调整接口,尽量确保正确匹配
This commit is contained in:
+11
-8
@@ -4,13 +4,6 @@ import traceback
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
class OllamaEmbeddings:
|
class OllamaEmbeddings:
|
||||||
"""
|
|
||||||
Ollama 本地服务提供的 Embedding 接口,
|
|
||||||
最终拼出形如: http://localhost:11434/api/embeddings
|
|
||||||
即 base_url + "/embeddings"
|
|
||||||
但是按文档,好像/embeddings接口已经被废弃了,现在是/embed才对,实际测试都可以用,视情况而定
|
|
||||||
"""
|
|
||||||
|
|
||||||
def __init__(self, model_name: str, base_url: str):
|
def __init__(self, model_name: str, base_url: str):
|
||||||
self.model_name = model_name
|
self.model_name = model_name
|
||||||
self.base_url = base_url
|
self.base_url = base_url
|
||||||
@@ -40,7 +33,17 @@ class OllamaEmbeddings:
|
|||||||
"""
|
"""
|
||||||
调用 Ollama 本地服务接口,获取文本的 embedding。
|
调用 Ollama 本地服务接口,获取文本的 embedding。
|
||||||
"""
|
"""
|
||||||
url = f"{self.base_url}/embeddings"
|
if self.base_url.endswith("/"):
|
||||||
|
self.base_url = self.base_url.rstrip("/")
|
||||||
|
if "api/embeddings" in self.base_url:
|
||||||
|
# 如果 base_url 已经包含 'api/embeddings',则保持不变
|
||||||
|
url = f"{self.base_url.rstrip('/')}/api/embeddings"
|
||||||
|
else:
|
||||||
|
if "/v1" in self.base_url:
|
||||||
|
self.base_url = self.base_url.split("/v1")[0]
|
||||||
|
if "/api" in self.base_url:
|
||||||
|
self.base_url = self.base_url.split("/api")[0]
|
||||||
|
url = f"{self.base_url}/api/embeddings"
|
||||||
data = {
|
data = {
|
||||||
"model": self.model_name,
|
"model": self.model_name,
|
||||||
"prompt": text
|
"prompt": text
|
||||||
|
|||||||
@@ -16,9 +16,12 @@ hiddenimports = ['typing_extensions',
|
|||||||
'tiktoken_ext.openai_public',
|
'tiktoken_ext.openai_public',
|
||||||
'tiktoken_ext'
|
'tiktoken_ext'
|
||||||
]
|
]
|
||||||
|
|
||||||
tmp_ret = collect_all('chromadb')
|
tmp_ret = collect_all('chromadb')
|
||||||
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]
|
datas += tmp_ret[0]; binaries += tmp_ret[1]; hiddenimports += tmp_ret[2]
|
||||||
|
|
||||||
|
customtkinter_dir = r'c:/Users/xieli/Desktop/AI_NovelGenerator/.venv/Lib/site-packages/customtkinter'
|
||||||
|
datas.append((customtkinter_dir, 'customtkinter'))
|
||||||
|
|
||||||
a = Analysis(
|
a = Analysis(
|
||||||
['main.py'],
|
['main.py'],
|
||||||
@@ -33,6 +36,7 @@ a = Analysis(
|
|||||||
noarchive=False,
|
noarchive=False,
|
||||||
optimize=0,
|
optimize=0,
|
||||||
)
|
)
|
||||||
|
|
||||||
pyz = PYZ(a.pure)
|
pyz = PYZ(a.pure)
|
||||||
|
|
||||||
exe = EXE(
|
exe = EXE(
|
||||||
@@ -40,7 +44,7 @@ exe = EXE(
|
|||||||
a.scripts,
|
a.scripts,
|
||||||
[],
|
[],
|
||||||
exclude_binaries=True,
|
exclude_binaries=True,
|
||||||
name='AI_NovelGenerator_V1.2.4',
|
name='AI_NovelGenerator_V1.3.0',
|
||||||
debug=True,
|
debug=True,
|
||||||
bootloader_ignore_signals=False,
|
bootloader_ignore_signals=False,
|
||||||
strip=False,
|
strip=False,
|
||||||
@@ -53,6 +57,7 @@ exe = EXE(
|
|||||||
entitlements_file=None,
|
entitlements_file=None,
|
||||||
icon=['icon.ico']
|
icon=['icon.ico']
|
||||||
)
|
)
|
||||||
|
|
||||||
coll = COLLECT(
|
coll = COLLECT(
|
||||||
exe,
|
exe,
|
||||||
a.binaries,
|
a.binaries,
|
||||||
@@ -60,5 +65,5 @@ coll = COLLECT(
|
|||||||
strip=False,
|
strip=False,
|
||||||
upx=True,
|
upx=True,
|
||||||
upx_exclude=[],
|
upx_exclude=[],
|
||||||
name='AI_NovelGenerator_V1.2.4'
|
name='AI_NovelGenerator_V1.3.0'
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user