Skip to content

Commit cf029d1

Browse files
authored
Merge pull request #155 from zenml-io/feature/elasticsearch-llm-complete
Add elastic
2 parents 99f97c3 + 2f59199 commit cf029d1

File tree

12 files changed

+328
-60
lines changed

12 files changed

+328
-60
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.68.1
1+
v0.70.0

llm-complete-guide/configs/dev/rag.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ settings:
1717
- pygithub
1818
- rerankers[flashrank]
1919
- matplotlib
20+
- elasticsearch
2021

2122
environment:
2223
ZENML_PROJECT_SECRET_NAME: llm_complete

llm-complete-guide/configs/dev/rag_eval.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,5 @@ settings:
1313
- psycopg2-binary
1414
- tiktoken
1515
- pygithub
16+
- elasticsearch
1617
python_package_installer: "uv"

llm-complete-guide/configs/production/eval.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ settings:
1717
- matplotlib
1818
- pillow
1919
- pygithub
20+
- elasticsearch
2021
environment:
2122
ZENML_PROJECT_SECRET_NAME: llm_complete
2223
ZENML_ENABLE_RICH_TRACEBACK: FALSE

llm-complete-guide/configs/production/rag.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ settings:
1717
- pygithub
1818
- rerankers[flashrank]
1919
- matplotlib
20+
- elasticsearch
21+
2022
environment:
2123
ZENML_PROJECT_SECRET_NAME: llm_complete
2224
ZENML_ENABLE_RICH_TRACEBACK: FALSE

llm-complete-guide/configs/staging/eval.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ settings:
1717
- matplotlib
1818
- pillow
1919
- pygithub
20+
- elasticsearch
2021
environment:
2122
ZENML_PROJECT_SECRET_NAME: llm_complete
2223
ZENML_ENABLE_RICH_TRACEBACK: FALSE

llm-complete-guide/configs/staging/rag.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ settings:
1717
- pygithub
1818
- rerankers[flashrank]
1919
- matplotlib
20+
- elasticsearch
2021

2122
environment:
2223
ZENML_PROJECT_SECRET_NAME: llm_complete

llm-complete-guide/constants.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
384 # Update this to match the dimensionality of the new model
2424
)
2525

26+
# ZenML constants
27+
ZENML_CHATBOT_MODEL = "zenml-docs-qa-chatbot"
28+
2629
# Scraping constants
2730
RATE_LIMIT = 5 # Maximum number of requests per second
2831

@@ -78,3 +81,4 @@
7881
USE_ARGILLA_ANNOTATIONS = False
7982

8083
SECRET_NAME = os.getenv("ZENML_PROJECT_SECRET_NAME", "llm-complete")
84+
SECRET_NAME_ELASTICSEARCH = "elasticsearch-zenml"

llm-complete-guide/requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
zenml[server]>=0.68.1
1+
zenml[server]==0.68.1
22
ratelimit
33
pgvector
44
psycopg2-binary
@@ -20,6 +20,7 @@ datasets
2020
torch
2121
gradio
2222
huggingface-hub
23+
elasticsearch
2324

2425
# optional requirements for S3 artifact store
2526
# s3fs>2022.3.0

llm-complete-guide/steps/eval_retrieval.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,10 @@
1919

2020
from datasets import load_dataset
2121
from utils.llm_utils import (
22+
find_vectorstore_name,
2223
get_db_conn,
2324
get_embeddings,
25+
get_es_client,
2426
get_topn_similar_docs,
2527
rerank_documents,
2628
)
@@ -76,11 +78,23 @@ def query_similar_docs(
7678
Tuple containing the question, URL ending, and retrieved URLs.
7779
"""
7880
embedded_question = get_embeddings(question)
79-
db_conn = get_db_conn()
81+
conn = None
82+
es_client = None
83+
84+
vector_store_name = find_vectorstore_name()
85+
if vector_store_name == "pgvector":
86+
conn = get_db_conn()
87+
else:
88+
es_client = get_es_client()
89+
8090
num_docs = 20 if use_reranking else returned_sample_size
8191
# get (content, url) tuples for the top n similar documents
8292
top_similar_docs = get_topn_similar_docs(
83-
embedded_question, db_conn, n=num_docs, include_metadata=True
93+
embedded_question,
94+
conn=conn,
95+
es_client=es_client,
96+
n=num_docs,
97+
include_metadata=True
8498
)
8599

86100
if use_reranking:

0 commit comments

Comments
 (0)