|
265 | 265 | "\n",
|
266 | 266 | "\n",
|
267 | 267 | "def parent_child_splitter(documents, chunk_size: int = 200):\n",
|
268 |
| - "\n", |
269 | 268 | " child_splitter = RecursiveCharacterTextSplitter(chunk_size=chunk_size)\n",
|
270 | 269 | "\n",
|
271 | 270 | " docs = []\n",
|
|
550 | 549 | "source": [
|
551 | 550 | "from langchain_elasticsearch import (\n",
|
552 | 551 | " ElasticsearchStore,\n",
|
553 |
| - " ApproxRetrievalStrategy,\n", |
| 552 | + " DenseVectorStrategy,\n", |
554 | 553 | ")\n",
|
555 | 554 | "from typing import List, Union\n",
|
556 | 555 | "from langchain_core.documents import Document\n",
|
557 | 556 | "\n",
|
558 | 557 | "\n",
|
559 |
| - "class CustomRetrievalStrategy(ApproxRetrievalStrategy):\n", |
560 |
| - "\n", |
561 |
| - " def query(\n", |
| 558 | + "class CustomRetrievalStrategy(DenseVectorStrategy):\n", |
| 559 | + " def es_query(\n", |
562 | 560 | " self,\n",
|
563 | 561 | " query: Union[str, None],\n",
|
564 | 562 | " filter: List[dict],\n",
|
565 | 563 | " **kwargs,\n",
|
566 | 564 | " ):\n",
|
567 |
| - "\n", |
568 |
| - " es_query = {\n", |
| 565 | + " return {\n", |
569 | 566 | " \"knn\": {\n",
|
570 | 567 | " \"inner_hits\": {\"_source\": False, \"fields\": [\"passages.text\"]},\n",
|
571 | 568 | " \"field\": \"passages.vector.predicted_value\",\n",
|
|
581 | 578 | " }\n",
|
582 | 579 | " }\n",
|
583 | 580 | "\n",
|
584 |
| - " return es_query\n", |
585 |
| - "\n", |
586 | 581 | "\n",
|
587 | 582 | "vector_store = ElasticsearchStore(\n",
|
588 | 583 | " index_name=INDEX_NAME,\n",
|
|
0 commit comments