@@ -1634,36 +1634,6 @@ public void test_Embedding_ChunkedInfer_ChunkingSettingsNotSet() throws IOExcept
16341634 test_Embedding_ChunkedInfer_BatchesCalls (model );
16351635 }
16361636
1637- public void test_Embedding_ChunkedInfer_LateChunkingEnabled () throws IOException {
1638- var model = JinaAIEmbeddingsModelTests .createModel (
1639- getUrl (webServer ),
1640- "secret" ,
1641- new JinaAIEmbeddingsTaskSettings (null , true ),
1642- null ,
1643- 1024 ,
1644- 1024 ,
1645- "jina-clip-v2" ,
1646- JinaAIEmbeddingType .FLOAT
1647- );
1648-
1649- test_Embedding_ChunkedInfer_BatchesCalls (model );
1650- }
1651-
1652- public void test_Embedding_ChunkedInfer_LateChunkingDisabled () throws IOException {
1653- var model = JinaAIEmbeddingsModelTests .createModel (
1654- getUrl (webServer ),
1655- "secret" ,
1656- new JinaAIEmbeddingsTaskSettings (null , false ),
1657- null ,
1658- 1024 ,
1659- 1024 ,
1660- "jina-clip-v2" ,
1661- JinaAIEmbeddingType .FLOAT
1662- );
1663-
1664- test_Embedding_ChunkedInfer_BatchesCalls (model );
1665- }
1666-
16671637 public void test_Embedding_ChunkedInfer_noInputs () throws IOException {
16681638 var senderFactory = HttpRequestSenderTests .createSenderFactory (threadPool , clientManager );
16691639 var model = JinaAIEmbeddingsModelTests .createModel (getUrl (webServer ), "secret" , 1024 , "jina-clip-v2" , JinaAIEmbeddingType .FLOAT );
@@ -1690,7 +1660,37 @@ private void test_Embedding_ChunkedInfer_BatchesCalls(JinaAIEmbeddingsModel mode
16901660 var senderFactory = HttpRequestSenderTests .createSenderFactory (threadPool , clientManager );
16911661
16921662 try (var service = new JinaAIService (senderFactory , createWithEmptySettings (threadPool ), mockClusterServiceEmpty ())) {
1693- queueResponsesForChunkedInfer (model .getTaskSettings ().getLateChunking ());
1663+
1664+ // Batching will call the service with 2 input
1665+ String responseJson = """
1666+ {
1667+ "model": "jina-clip-v2",
1668+ "object": "list",
1669+ "usage": {
1670+ "total_tokens": 5,
1671+ "prompt_tokens": 5
1672+ },
1673+ "data": [
1674+ {
1675+ "object": "embedding",
1676+ "index": 0,
1677+ "embedding": [
1678+ 0.123,
1679+ -0.123
1680+ ]
1681+ },
1682+ {
1683+ "object": "embedding",
1684+ "index": 1,
1685+ "embedding": [
1686+ 0.223,
1687+ -0.223
1688+ ]
1689+ }
1690+ ]
1691+ }
1692+ """ ;
1693+ webServer .enqueue (new MockResponse ().setResponseCode (200 ).setBody (responseJson ));
16941694
16951695 PlainActionFuture <List <ChunkedInference >> listener = new PlainActionFuture <>();
16961696 // 2 input
@@ -1730,83 +1730,20 @@ private void test_Embedding_ChunkedInfer_BatchesCalls(JinaAIEmbeddingsModel mode
17301730 0.0f
17311731 );
17321732 }
1733- }
1734- }
17351733
1736- private void queueResponsesForChunkedInfer (Boolean lateChunking ) {
1737- if (Boolean .TRUE .equals (lateChunking )) {
1738- var responseJson = """
1739- {
1740- "model": "jina-clip-v2",
1741- "object": "list",
1742- "usage": {
1743- "total_tokens": 5,
1744- "prompt_tokens": 5
1745- },
1746- "data": [
1747- {
1748- "object": "embedding",
1749- "index": 0,
1750- "embedding": [
1751- 0.123,
1752- -0.123
1753- ]
1754- }
1755- ]
1756- }
1757- """ ;
1758- webServer .enqueue (new MockResponse ().setResponseCode (200 ).setBody (responseJson ));
1759- var responseJson2 = """
1760- {
1761- "model": "jina-clip-v2",
1762- "object": "list",
1763- "usage": {
1764- "total_tokens": 5,
1765- "prompt_tokens": 5
1766- },
1767- "data": [
1768- {
1769- "object": "embedding",
1770- "index": 0,
1771- "embedding": [
1772- 0.223,
1773- -0.223
1774- ]
1775- }
1776- ]
1777- }
1778- """ ;
1779- webServer .enqueue (new MockResponse ().setResponseCode (200 ).setBody (responseJson2 ));
1780- } else {
1781- var responseJson = """
1782- {
1783- "model": "jina-clip-v2",
1784- "object": "list",
1785- "usage": {
1786- "total_tokens": 5,
1787- "prompt_tokens": 5
1788- },
1789- "data": [
1790- {
1791- "object": "embedding",
1792- "index": 0,
1793- "embedding": [
1794- 0.123,
1795- -0.123
1796- ]
1797- },
1798- {
1799- "object": "embedding",
1800- "index": 1,
1801- "embedding": [
1802- 0.223,
1803- -0.223
1804- ]
1805- }
1806- ]
1807- }
1808- """ ;
1809- webServer .enqueue (new MockResponse ().setResponseCode (200 ).setBody (responseJson ));
1734+ MatcherAssert .assertThat (webServer .requests (), hasSize (1 ));
1735+ assertNull (webServer .requests ().get (0 ).getUri ().getQuery ());
1736+ MatcherAssert .assertThat (
1737+ webServer .requests ().get (0 ).getHeader (HttpHeaders .CONTENT_TYPE ),
1738+ equalTo (XContentType .JSON .mediaType ())
1739+ );
1740+ MatcherAssert .assertThat (webServer .requests ().get (0 ).getHeader (HttpHeaders .AUTHORIZATION ), equalTo ("Bearer secret" ));
1741+
1742+ var requestMap = entityAsMap (webServer .requests ().get (0 ).getBody ());
1743+ MatcherAssert .assertThat (
1744+ requestMap ,
1745+ is (Map .of ("input" , List .of ("a" , "bb" ), "model" , "jina-clip-v2" , "embedding_type" , "float" ))
1746+ );
18101747 }
18111748 }
18121749
0 commit comments