From da7e9256db408aa9db84b1ae7767389b216762ec Mon Sep 17 00:00:00 2001 From: devcrocod Date: Fri, 11 Apr 2025 17:26:27 +0200 Subject: [PATCH 1/4] add langchain4j descriptor --- langchain4j.json | 53 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 langchain4j.json diff --git a/langchain4j.json b/langchain4j.json new file mode 100644 index 00000000..96efda47 --- /dev/null +++ b/langchain4j.json @@ -0,0 +1,53 @@ +{ + "description": "LangChain is a framework for building applications powered by LLMs, enabling easy integration of models, data, and external tools", + "properties": [ + { "name": "v", "value": "1.0.0-beta3" }, + { "name": "model", "value": "openai" }, + { "name": "v-renovate-hint", "value": "update: package=dev.langchain4j:langchain4j" } + ], + "link": "https://github.com/langchain4j/langchain4j", + "init": [ + "when(\"$model\") {\n \"bedrock\" -> USE { dependencies(\"dev.langchain4j:langchain4j-bedrock:$v\") }\n \"anthropic\" -> USE { dependencies(\"dev.langchain4j:langchain4j-anthropic:$v\") }\n \"azure\" -> USE { dependencies(\"dev.langchain4j:langchain4j-azure-open-ai:$v\") }\n \"googleai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-google-ai-gemini:$v\") }\n \"vertexai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-vertex-ai-gemini:$v\") }\n \"huggingface\" -> USE { dependencies(\"dev.langchain4j:langchain4j-hugging-face:$v\") }\n \"ollama\" -> USE { dependencies(\"dev.langchain4j:langchain4j-ollama:$v\") }\n \"openai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai:$v\") }\n \"openaiofficial\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai-official:$v\") }\n else -> error(\"Not recognized dependency '$input'. Use follow models: `bedrock`, `anthropic`, `azure`, `googleai`, `vertexai`, `huggingface`, `ollama`, `openai`, `openaiofficial`\")\n}" + ], + "dependencies": [ + "dev.langchain4j:langchain4j:$v" + ], + "imports": [ + "import dev.langchain4j.spi.*", + "import dev.langchain4j.data.document.*", + "import dev.langchain4j.data.message.*", + "import dev.langchain4j.data.embedding.*", + "import dev.langchain4j.data.image.*", + "import dev.langchain4j.data.pdf.*", + "import dev.langchain4j.data.audio.*", + "import dev.langchain4j.data.segment.*", + "import dev.langchain4j.data.text.*", + "import dev.langchain4j.data.video.*", + "import dev.langchain4j.rag.*", + "import dev.langchain4j.rag.query.*", + "import dev.langchain4j.rag.query.transformer.*", + "import dev.langchain4j.rag.query.router.*", + "import dev.langchain4j.rag.content.*", + "import dev.langchain4j.rag.content.injector.*", + "import dev.langchain4j.rag.content.retriever.*", + "import dev.langchain4j.rag.content.aggregator.*", + "import dev.langchain4j.web.search.*", + "import dev.langchain4j.agent.tool.*", + "import dev.langchain4j.store.memory.chat.*", + "import dev.langchain4j.store.embedding.*", + "import dev.langchain4j.model.$model.*", + "import dev.langchain4j.model.embedding.*", + "import dev.langchain4j.model.image.*", + "import dev.langchain4j.model.input.structured.*", + "import dev.langchain4j.model.input.*", + "import dev.langchain4j.model.chat.*", + "import dev.langchain4j.model.language.*", + "import dev.langchain4j.model.moderation.*", + "import dev.langchain4j.model.output.*", + "import dev.langchain4j.model.*", + "import dev.langchain4j.service.tool.*", + "import dev.langchain4j.service.memory.*", + "import dev.langchain4j.service.output.*", + "import dev.langchain4j.service.*" + ] +} From 623ab2c5af000a4a7f9d20dc9752541408a46792 Mon Sep 17 00:00:00 2001 From: devcrocod Date: Fri, 11 Apr 2025 18:03:19 +0200 Subject: [PATCH 2/4] fix import for model --- langchain4j.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/langchain4j.json b/langchain4j.json index 96efda47..94ef6897 100644 --- a/langchain4j.json +++ b/langchain4j.json @@ -7,7 +7,7 @@ ], "link": "https://github.com/langchain4j/langchain4j", "init": [ - "when(\"$model\") {\n \"bedrock\" -> USE { dependencies(\"dev.langchain4j:langchain4j-bedrock:$v\") }\n \"anthropic\" -> USE { dependencies(\"dev.langchain4j:langchain4j-anthropic:$v\") }\n \"azure\" -> USE { dependencies(\"dev.langchain4j:langchain4j-azure-open-ai:$v\") }\n \"googleai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-google-ai-gemini:$v\") }\n \"vertexai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-vertex-ai-gemini:$v\") }\n \"huggingface\" -> USE { dependencies(\"dev.langchain4j:langchain4j-hugging-face:$v\") }\n \"ollama\" -> USE { dependencies(\"dev.langchain4j:langchain4j-ollama:$v\") }\n \"openai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai:$v\") }\n \"openaiofficial\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai-official:$v\") }\n else -> error(\"Not recognized dependency '$input'. Use follow models: `bedrock`, `anthropic`, `azure`, `googleai`, `vertexai`, `huggingface`, `ollama`, `openai`, `openaiofficial`\")\n}" + "when($model) {\n \"bedrock\" -> USE { dependencies(\"dev.langchain4j:langchain4j-bedrock:$v\"); import(\"dev.langchain4j.model.bedrock.*\") }\n \"anthropic\" -> USE { dependencies(\"dev.langchain4j:langchain4j-anthropic:$v\"); import(\"dev.langchain4j.model.anthropic.*\") }\n \"azure\" -> USE { dependencies(\"dev.langchain4j:langchain4j-azure-open-ai:$v\"); import(\"dev.langchain4j.model.azure.*\") }\n \"googleai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-google-ai-gemini:$v\"); import(\"dev.langchain4j.model.googleai.*\") }\n \"vertexai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-vertex-ai-gemini:$v\"); import(\"dev.langchain4j.model.vertexai.*\") }\n \"huggingface\" -> USE { dependencies(\"dev.langchain4j:langchain4j-hugging-face:$v\"); import(\"dev.langchain4j.model.huggingface.*\") }\n \"ollama\" -> USE { dependencies(\"dev.langchain4j:langchain4j-ollama:$v\"); import(\"dev.langchain4j.model.ollama.*\") }\n \"openai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai:$v\"); import(\"dev.langchain4j.model.openai.*\") }\n \"openaiofficial\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai-official:$v\"); import(\"dev.langchain4j.model.openaiofficial.*\") }\n else -> error(\"Not recognized dependency '$model'. Use follow models: `bedrock`, `anthropic`, `azure`, `googleai`, `vertexai`, `huggingface`, `ollama`, `openai`, `openaiofficial`\")\n}" ], "dependencies": [ "dev.langchain4j:langchain4j:$v" @@ -35,7 +35,6 @@ "import dev.langchain4j.agent.tool.*", "import dev.langchain4j.store.memory.chat.*", "import dev.langchain4j.store.embedding.*", - "import dev.langchain4j.model.$model.*", "import dev.langchain4j.model.embedding.*", "import dev.langchain4j.model.image.*", "import dev.langchain4j.model.input.structured.*", From 9fe4102b5ecfbbd56634a72f189065875a6d8680 Mon Sep 17 00:00:00 2001 From: devcrocod Date: Fri, 11 Apr 2025 18:46:43 +0200 Subject: [PATCH 3/4] fix imports for model and init block --- langchain4j.json | 76 ++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/langchain4j.json b/langchain4j.json index 94ef6897..9fed8054 100644 --- a/langchain4j.json +++ b/langchain4j.json @@ -2,51 +2,51 @@ "description": "LangChain is a framework for building applications powered by LLMs, enabling easy integration of models, data, and external tools", "properties": [ { "name": "v", "value": "1.0.0-beta3" }, - { "name": "model", "value": "openai" }, - { "name": "v-renovate-hint", "value": "update: package=dev.langchain4j:langchain4j" } + { "name": "v-renovate-hint", "value": "update: package=dev.langchain4j:langchain4j" }, + { "name": "model", "value": "openai" } ], "link": "https://github.com/langchain4j/langchain4j", "init": [ - "when($model) {\n \"bedrock\" -> USE { dependencies(\"dev.langchain4j:langchain4j-bedrock:$v\"); import(\"dev.langchain4j.model.bedrock.*\") }\n \"anthropic\" -> USE { dependencies(\"dev.langchain4j:langchain4j-anthropic:$v\"); import(\"dev.langchain4j.model.anthropic.*\") }\n \"azure\" -> USE { dependencies(\"dev.langchain4j:langchain4j-azure-open-ai:$v\"); import(\"dev.langchain4j.model.azure.*\") }\n \"googleai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-google-ai-gemini:$v\"); import(\"dev.langchain4j.model.googleai.*\") }\n \"vertexai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-vertex-ai-gemini:$v\"); import(\"dev.langchain4j.model.vertexai.*\") }\n \"huggingface\" -> USE { dependencies(\"dev.langchain4j:langchain4j-hugging-face:$v\"); import(\"dev.langchain4j.model.huggingface.*\") }\n \"ollama\" -> USE { dependencies(\"dev.langchain4j:langchain4j-ollama:$v\"); import(\"dev.langchain4j.model.ollama.*\") }\n \"openai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai:$v\"); import(\"dev.langchain4j.model.openai.*\") }\n \"openaiofficial\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai-official:$v\"); import(\"dev.langchain4j.model.openaiofficial.*\") }\n else -> error(\"Not recognized dependency '$model'. Use follow models: `bedrock`, `anthropic`, `azure`, `googleai`, `vertexai`, `huggingface`, `ollama`, `openai`, `openaiofficial`\")\n}" + "when (\"$model\") {\n\"bedrock\" -> USE { dependencies(\"dev.langchain4j:langchain4j-bedrock:$v\") }\n\"anthropic\" -> USE { dependencies(\"dev.langchain4j:langchain4j-anthropic:$v\") }\n\"azure\" -> USE { dependencies(\"dev.langchain4j:langchain4j-azure-open-ai:$v\") }\n\"googleai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-google-ai-gemini:$v\") }\n\"vertexai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-vertex-ai-gemini:$v\") }\n\"huggingface\" -> USE { dependencies(\"dev.langchain4j:langchain4j-hugging-face:$v\") }\n\"ollama\" -> USE { dependencies(\"dev.langchain4j:langchain4j-ollama:$v\") }\n\"openai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai:$v\") }\n\"openaiofficial\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai-official:$v\") }\nelse -> error(\"Not recognized dependency '$model'. Use follow models: `bedrock`, `anthropic`, `azure`, `googleai`, `vertexai`, `huggingface`, `ollama`, `openai`, `openaiofficial`\")\n}\nUSE { import(\"dev.langchain4j.model.$model.*\") }" ], "dependencies": [ "dev.langchain4j:langchain4j:$v" ], "imports": [ - "import dev.langchain4j.spi.*", - "import dev.langchain4j.data.document.*", - "import dev.langchain4j.data.message.*", - "import dev.langchain4j.data.embedding.*", - "import dev.langchain4j.data.image.*", - "import dev.langchain4j.data.pdf.*", - "import dev.langchain4j.data.audio.*", - "import dev.langchain4j.data.segment.*", - "import dev.langchain4j.data.text.*", - "import dev.langchain4j.data.video.*", - "import dev.langchain4j.rag.*", - "import dev.langchain4j.rag.query.*", - "import dev.langchain4j.rag.query.transformer.*", - "import dev.langchain4j.rag.query.router.*", - "import dev.langchain4j.rag.content.*", - "import dev.langchain4j.rag.content.injector.*", - "import dev.langchain4j.rag.content.retriever.*", - "import dev.langchain4j.rag.content.aggregator.*", - "import dev.langchain4j.web.search.*", - "import dev.langchain4j.agent.tool.*", - "import dev.langchain4j.store.memory.chat.*", - "import dev.langchain4j.store.embedding.*", - "import dev.langchain4j.model.embedding.*", - "import dev.langchain4j.model.image.*", - "import dev.langchain4j.model.input.structured.*", - "import dev.langchain4j.model.input.*", - "import dev.langchain4j.model.chat.*", - "import dev.langchain4j.model.language.*", - "import dev.langchain4j.model.moderation.*", - "import dev.langchain4j.model.output.*", - "import dev.langchain4j.model.*", - "import dev.langchain4j.service.tool.*", - "import dev.langchain4j.service.memory.*", - "import dev.langchain4j.service.output.*", - "import dev.langchain4j.service.*" + "dev.langchain4j.spi.*", + "dev.langchain4j.data.document.*", + "dev.langchain4j.data.message.*", + "dev.langchain4j.data.embedding.*", + "dev.langchain4j.data.image.*", + "dev.langchain4j.data.pdf.*", + "dev.langchain4j.data.audio.*", + "dev.langchain4j.data.segment.*", + "dev.langchain4j.data.text.*", + "dev.langchain4j.data.video.*", + "dev.langchain4j.rag.*", + "dev.langchain4j.rag.query.*", + "dev.langchain4j.rag.query.transformer.*", + "dev.langchain4j.rag.query.router.*", + "dev.langchain4j.rag.content.*", + "dev.langchain4j.rag.content.injector.*", + "dev.langchain4j.rag.content.retriever.*", + "dev.langchain4j.rag.content.aggregator.*", + "dev.langchain4j.web.search.*", + "dev.langchain4j.agent.tool.*", + "dev.langchain4j.store.memory.chat.*", + "dev.langchain4j.store.embedding.*", + "dev.langchain4j.model.embedding.*", + "dev.langchain4j.model.image.*", + "dev.langchain4j.model.input.structured.*", + "dev.langchain4j.model.input.*", + "dev.langchain4j.model.chat.*", + "dev.langchain4j.model.language.*", + "dev.langchain4j.model.moderation.*", + "dev.langchain4j.model.output.*", + "dev.langchain4j.model.*", + "dev.langchain4j.service.tool.*", + "dev.langchain4j.service.memory.*", + "dev.langchain4j.service.output.*", + "dev.langchain4j.service.*" ] } From 96b5864ec02bc8dfb7aa171ac22dd67727109769 Mon Sep 17 00:00:00 2001 From: devcrocod Date: Thu, 17 Apr 2025 12:48:28 +0200 Subject: [PATCH 4/4] fix init code --- langchain4j.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langchain4j.json b/langchain4j.json index 9fed8054..4af4ef49 100644 --- a/langchain4j.json +++ b/langchain4j.json @@ -7,7 +7,7 @@ ], "link": "https://github.com/langchain4j/langchain4j", "init": [ - "when (\"$model\") {\n\"bedrock\" -> USE { dependencies(\"dev.langchain4j:langchain4j-bedrock:$v\") }\n\"anthropic\" -> USE { dependencies(\"dev.langchain4j:langchain4j-anthropic:$v\") }\n\"azure\" -> USE { dependencies(\"dev.langchain4j:langchain4j-azure-open-ai:$v\") }\n\"googleai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-google-ai-gemini:$v\") }\n\"vertexai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-vertex-ai-gemini:$v\") }\n\"huggingface\" -> USE { dependencies(\"dev.langchain4j:langchain4j-hugging-face:$v\") }\n\"ollama\" -> USE { dependencies(\"dev.langchain4j:langchain4j-ollama:$v\") }\n\"openai\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai:$v\") }\n\"openaiofficial\" -> USE { dependencies(\"dev.langchain4j:langchain4j-open-ai-official:$v\") }\nelse -> error(\"Not recognized dependency '$model'. Use follow models: `bedrock`, `anthropic`, `azure`, `googleai`, `vertexai`, `huggingface`, `ollama`, `openai`, `openaiofficial`\")\n}\nUSE { import(\"dev.langchain4j.model.$model.*\") }" + "val langchain4jMap = mapOf(\n \"bedrock\" to \"dev.langchain4j:langchain4j-bedrock:$v\",\n \"anthropic\" to \"dev.langchain4j:langchain4j-anthropic:$v\",\n \"azure\" to \"dev.langchain4j:langchain4j-azure-open-ai:$v\",\n \"googleai\" to \"dev.langchain4j:langchain4j-google-ai-gemini:$v\",\n \"vertexai\" to \"dev.langchain4j:langchain4j-vertex-ai-gemini:$v\",\n \"huggingface\" to \"dev.langchain4j:langchain4j-hugging-face:$v\",\n \"ollama\" to \"dev.langchain4j:langchain4j-ollama:$v\",\n \"openai\" to \"dev.langchain4j:langchain4j-open-ai:$v\",\n \"openaiofficial\" to \"dev.langchain4j:langchain4j-open-ai-official:$v\"\n)\nUSE {\n dependencies(langchain4jMap[\"$model\"] ?: error(\"Not recognized dependency '$model'. Use follow models: `bedrock`, `anthropic`, `azure`, `googleai`, `vertexai`, `huggingface`, `ollama`, `openai`, `openaiofficial`\"))\n import(\"dev.langchain4j.model.$model.*\")\n}" ], "dependencies": [ "dev.langchain4j:langchain4j:$v"