diff --git a/embedding_ollama.py b/embedding_ollama.py index 0f8bba3..749a462 100644 --- a/embedding_ollama.py +++ b/embedding_ollama.py @@ -4,13 +4,6 @@ import traceback from typing import List class OllamaEmbeddings: - """ - Ollama 本地服务提供的 Embedding 接口, - 最终拼出形如: http://localhost:11434/api/embeddings - 即 base_url + "/embeddings" - 但是按文档,好像/embeddings接口已经被废弃了,现在是/embed才对,实际测试都可以用,视情况而定 - """ - def __init__(self, model_name: str, base_url: str): self.model_name = model_name self.base_url = base_url @@ -40,7 +33,17 @@ class OllamaEmbeddings: """ 调用 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 = { "model": self.model_name, "prompt": text diff --git a/main.spec b/main.spec index cf52c4c..2c7b79a 100644 --- a/main.spec +++ b/main.spec @@ -16,9 +16,12 @@ hiddenimports = ['typing_extensions', 'tiktoken_ext.openai_public', 'tiktoken_ext' ] + tmp_ret = collect_all('chromadb') 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( ['main.py'], @@ -33,6 +36,7 @@ a = Analysis( noarchive=False, optimize=0, ) + pyz = PYZ(a.pure) exe = EXE( @@ -40,7 +44,7 @@ exe = EXE( a.scripts, [], exclude_binaries=True, - name='AI_NovelGenerator_V1.2.4', + name='AI_NovelGenerator_V1.3.0', debug=True, bootloader_ignore_signals=False, strip=False, @@ -53,6 +57,7 @@ exe = EXE( entitlements_file=None, icon=['icon.ico'] ) + coll = COLLECT( exe, a.binaries, @@ -60,5 +65,5 @@ coll = COLLECT( strip=False, upx=True, upx_exclude=[], - name='AI_NovelGenerator_V1.2.4' + name='AI_NovelGenerator_V1.3.0' )