refactor: 🔨 Mostly working Ollama migration, few tweaks left
This commit is contained in:
@@ -18,7 +18,7 @@ EXPANSION_CONFIG = CFG["expansion_agent"]
|
||||
|
||||
def retrieve_from_turso(embedded_question, k=5):
|
||||
query = f"""
|
||||
SELECT file_path, synopsis, tags, entities, chunk_data,
|
||||
SELECT file_path, synopsis, tags, chunk_data,
|
||||
vector_distance_cos(embedding, vector32('{embedded_question}')) AS distance
|
||||
FROM notes
|
||||
ORDER BY distance ASC
|
||||
@@ -55,9 +55,7 @@ class DnDRAG(dspy.Module):
|
||||
base_url=API_BASE,
|
||||
# batch_size=1,
|
||||
)
|
||||
self.retrieval_lm = dspy.LM(
|
||||
model=CFG["models"]["retrieval"], api_base=API_BASE + CFG["api"]["api_version"]
|
||||
)
|
||||
self.retrieval_lm = dspy.LM(model=CFG["models"]["retrieval"], api_base=API_BASE)
|
||||
with dspy.context(lm=self.retrieval_lm, signature=ExpansionSignature):
|
||||
self.query_expander = dspy.Predict("question -> queries:list[str]")
|
||||
|
||||
@@ -68,9 +66,9 @@ class DnDRAG(dspy.Module):
|
||||
print("Enhancing Question")
|
||||
with dspy.context(lm=self.retrieval_lm):
|
||||
expanded_queries = self.query_expander(question=question).queries
|
||||
print("Enhanced Queries:")
|
||||
for q in expanded_queries:
|
||||
print(" ", q)
|
||||
# print("Enhanced Queries:")
|
||||
# for q in expanded_queries:
|
||||
# print(" ", q)
|
||||
all_embeddings = self.embeddings_model.embed_documents([question] + expanded_queries)
|
||||
# print(all_embeddings)
|
||||
all_results = []
|
||||
@@ -81,7 +79,7 @@ class DnDRAG(dspy.Module):
|
||||
seen = set()
|
||||
unique_results = []
|
||||
for row in all_results:
|
||||
key = (row[0], row[4])
|
||||
key = (row[0], row[3])
|
||||
if key not in seen:
|
||||
seen.add(key)
|
||||
unique_results.append(row)
|
||||
@@ -91,18 +89,18 @@ class DnDRAG(dspy.Module):
|
||||
source = row[0]
|
||||
synopsis = row[1]
|
||||
tags = row[2]
|
||||
entities = row[3]
|
||||
content = row[4]
|
||||
closeness = row[5]
|
||||
# entities = row[3]
|
||||
content = row[3]
|
||||
closeness = row[4]
|
||||
|
||||
context_parts.append(f"""
|
||||
--- Chunk {i + 1} from {source} ---
|
||||
synopsis: {synopsis},
|
||||
tags: {tags},
|
||||
entities: {entities},
|
||||
closeness: {closeness},
|
||||
{content}
|
||||
""")
|
||||
# entities: {entities},
|
||||
|
||||
context = "\n\n".join(context_parts)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user