Skip to content

Commit 3883899

Browse files
Merge remote-tracking branch 'cheshirecat/develop' into develop
# Conflicts: # core/cat/env.py # core/cat/looking_glass/cheshire_cat.py # core/cat/memory/vector_memory.py # core/cat/memory/vector_memory_collection.py # core/cat/routes/plugins.py # core/cat/utils.py
2 parents 24d0435 + ac310bc commit 3883899

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

core/cat/looking_glass/cheshire_cat.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
from langchain_core.runnables import RunnableLambda
88
from langchain_core.prompts import ChatPromptTemplate
99
from langchain_core.output_parsers.string import StrOutputParser
10+
from langchain_cohere import ChatCohere
11+
from langchain_openai import ChatOpenAI, OpenAI
12+
from langchain_google_genai import ChatGoogleGenerativeAI
1013

1114
from cat.auth.auth_utils import hash_password, DEFAULT_USER_USERNAME
1215
from cat.auth.permissions import get_base_permissions

core/cat/utils.py

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from fastapi import UploadFile
66
import inspect
77
from pydantic import BaseModel, ConfigDict
8-
from langchain.evaluation import StringDistance, load_evaluator, EvaluatorType
8+
from rapidfuzz.distance import Levenshtein
99
from langchain_core.embeddings import Embeddings
1010
from langchain_core.output_parsers import JsonOutputParser
1111
from langchain_core.prompts import PromptTemplate
@@ -232,25 +232,18 @@ def explicit_error_message(e):
232232
return error_description
233233

234234

235-
def levenshtein_distance(prediction: str, reference: str) -> int:
236-
jaro_evaluator = load_evaluator(
237-
EvaluatorType.STRING_DISTANCE, distance=StringDistance.LEVENSHTEIN
238-
)
239-
result = jaro_evaluator.evaluate_strings(
240-
prediction=prediction,
241-
reference=reference,
242-
)
243-
return result["score"]
244-
235+
def levenshtein_distance(prediction: str, reference: str) -> float:
236+
res = Levenshtein.normalized_distance(prediction, reference)
237+
return res
245238

246239
def parse_json(json_string: str, pydantic_model: BaseModel = None) -> Dict:
247240
# instantiate parser
248241
parser = JsonOutputParser(pydantic_object=pydantic_model)
249242

250243
# clean to help small LLMs
251244
replaces = {
252-
"\_": "_",
253-
"\-": "-",
245+
"\\_": "_",
246+
"\\-": "-",
254247
"None": "null",
255248
"{{": "{",
256249
"}}": "}",

0 commit comments

Comments
 (0)