From 874283cbd22e0050639b704b021ac2819f1852b8 Mon Sep 17 00:00:00 2001 From: YILING0013 Date: Mon, 3 Feb 2025 19:00:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=B0=BD=E9=87=8F=E7=A1=AE=E4=BF=9D=E6=AD=A3=E7=A1=AE=E5=8C=B9?= =?UTF-8?q?=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- embedding_ollama.py | 19 +++++++++++-------- main.spec | 9 +++++++-- 2 files changed, 18 insertions(+), 10 deletions(-) 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' )