Micronaut LangChain4j
Integration between Micronaut and Langchain4j
Version: 0.3.0
1 Introduction
Improve this doc
This module provides integration between Micronaut and Langchain4j .
This module is regarded as experimental and subject to change since the underlying technology (Langchain4j) is not yet 1.0.0 or regarded as stable.
Various modules are provided that allow automatically configuring common Langchain4j types like ChatModel
, ImageModel
etc. Refer to the sections below for the supported Langchain4j extensions.
2 Quick Start
Improve this doc
Add the following annotation processor dependency:
Gradle
Maven
annotationProcessor("io.micronaut.langchain4j:micronaut-langchain4j-processor" )
Copy to Clipboard
<annotationProcessorPaths >
<path >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-processor</artifactId >
</path >
</annotationProcessorPaths >
Copy to Clipboard
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-core" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-core</artifactId >
</dependency >
Copy to Clipboard
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-ollama" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-ollama</artifactId >
</dependency >
Copy to Clipboard
Gradle
Maven
testResourcesService("io.micronaut.langchain4j:micronaut-langchain4j-ollama-testresource" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-ollama-testresource</artifactId >
<scope > testResourcesService</scope >
</dependency >
Copy to Clipboard
Add the necessary configuration to configure the model name you want to use:
Configuring the Model Name
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.ollama.model-name =orca-mini
Copy to Clipboard
langchain4j.ollama.model-name: orca-mini
Copy to Clipboard
"langchain4j.ollama.model-name" ="orca-mini"
Copy to Clipboard
langchain4j.ollama.modelName = "orca-mini"
Copy to Clipboard
{
"langchain4j.ollama.model-name" = "orca-mini"
}
Copy to Clipboard
{
"langchain4j.ollama.model-name" : "orca-mini"
}
Copy to Clipboard
Now you can inject an instance of
Defining @AiService
interfaces
package example;
import dev.langchain4j.service.SystemMessage;
import io.micronaut.langchain4j.annotation.AiService;
@AiService
public interface Friend {
@SystemMessage("You are a good friend of mine. Answer using slang.")
String chat (String userMessage) ;
}
Copy to Clipboard
1
Define an interface annotated with @AiService
2
Use Langchain4j annotations like @SystemMessage
You can now inject the @AiService
definition into any Micronaut component including tests:
Calling @AiService
definitions
package example;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import dev.langchain4j.model.chat.ChatLanguageModel;
import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
@MicronautTest
@Disabled("Ollama Testcontainers broken?")
public class AiServiceTest {
@Test
void testAiService (Friend friend, ChatLanguageModel languageModel) {
String result = friend.chat("Hello" );
assertNotNull(result);
assertNotNull(languageModel);
}
}
Copy to Clipboard
3 Chat Language Models
Improve this doc
The following modules provide integration with Langchain4j Language Models .
Each module configures one or more ChatLanguageModel beans, making them available for dependency injection based on configuration.
3.1 Anthropic
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-anthropic" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-anthropic</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.anthropic.api-key =YOUR_KEY
Copy to Clipboard
langchain4j.anthropic.api-key: YOUR_KEY
Copy to Clipboard
"langchain4j.anthropic.api-key" ="YOUR_KEY"
Copy to Clipboard
langchain4j.anthropic.apiKey = "YOUR_KEY"
Copy to Clipboard
{
"langchain4j.anthropic.api-key" = "YOUR_KEY"
}
Copy to Clipboard
{
"langchain4j.anthropic.api-key" : "YOUR_KEY"
}
Copy to Clipboard
3.2 Azure
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-azure" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-azure</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.azure-open-ai.api-key =YOUR_KEY
langchain4j.azure-open-ai.endpoint =YOUR_ENDPOINT
Copy to Clipboard
langchain4j.azure-open-ai.api-key: YOUR_KEY
langchain4j.azure-open-ai.endpoint: YOUR_ENDPOINT
Copy to Clipboard
"langchain4j.azure-open-ai.api-key" ="YOUR_KEY"
"langchain4j.azure-open-ai.endpoint" ="YOUR_ENDPOINT"
Copy to Clipboard
langchain4j.azureOpenAi.apiKey = "YOUR_KEY"
langchain4j.azureOpenAi.endpoint = "YOUR_ENDPOINT"
Copy to Clipboard
{
"langchain4j.azure-open-ai.api-key" = "YOUR_KEY"
"langchain4j.azure-open-ai.endpoint" = "YOUR_ENDPOINT"
}
Copy to Clipboard
{
"langchain4j.azure-open-ai.api-key" : "YOUR_KEY" ,
"langchain4j.azure-open-ai.endpoint" : "YOUR_ENDPOINT"
}
Copy to Clipboard
3.3 Bedrock
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-bedrock" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-bedrock</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.bedrock-llama.api-key =YOUR_KEY
Copy to Clipboard
langchain4j.bedrock-llama.api-key: YOUR_KEY
Copy to Clipboard
"langchain4j.bedrock-llama.api-key" ="YOUR_KEY"
Copy to Clipboard
langchain4j.bedrockLlama.apiKey = "YOUR_KEY"
Copy to Clipboard
{
"langchain4j.bedrock-llama.api-key" = "YOUR_KEY"
}
Copy to Clipboard
{
"langchain4j.bedrock-llama.api-key" : "YOUR_KEY"
}
Copy to Clipboard
3.4 HuggingFace
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-hugging-face" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-hugging-face</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.hugging-face.access-token =YOUR_ACCESS_TOKEN
Copy to Clipboard
langchain4j.hugging-face.access-token: YOUR_ACCESS_TOKEN
Copy to Clipboard
"langchain4j.hugging-face.access-token" ="YOUR_ACCESS_TOKEN"
Copy to Clipboard
langchain4j.huggingFace.accessToken = "YOUR_ACCESS_TOKEN"
Copy to Clipboard
{
"langchain4j.hugging-face.access-token" = "YOUR_ACCESS_TOKEN"
}
Copy to Clipboard
{
"langchain4j.hugging-face.access-token" : "YOUR_ACCESS_TOKEN"
}
Copy to Clipboard
3.5 MistralAi
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-mistralai" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-mistralai</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.mistral-ai.api-key =YOUR_KEY
Copy to Clipboard
langchain4j.mistral-ai.api-key: YOUR_KEY
Copy to Clipboard
"langchain4j.mistral-ai.api-key" ="YOUR_KEY"
Copy to Clipboard
langchain4j.mistralAi.apiKey = "YOUR_KEY"
Copy to Clipboard
{
"langchain4j.mistral-ai.api-key" = "YOUR_KEY"
}
Copy to Clipboard
{
"langchain4j.mistral-ai.api-key" : "YOUR_KEY"
}
Copy to Clipboard
3.6 Ollama
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-ollama" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-ollama</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.ollama.base-url =YOUR_URL
Copy to Clipboard
langchain4j.ollama.base-url: YOUR_URL
Copy to Clipboard
"langchain4j.ollama.base-url" ="YOUR_URL"
Copy to Clipboard
langchain4j.ollama.baseUrl = "YOUR_URL"
Copy to Clipboard
{
"langchain4j.ollama.base-url" = "YOUR_URL"
}
Copy to Clipboard
{
"langchain4j.ollama.base-url" : "YOUR_URL"
}
Copy to Clipboard
3.7 OpenAi
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-openai" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-openai</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.open-ai.api-key =YOUR_KEY
Copy to Clipboard
langchain4j.open-ai.api-key: YOUR_KEY
Copy to Clipboard
"langchain4j.open-ai.api-key" ="YOUR_KEY"
Copy to Clipboard
langchain4j.openAi.apiKey = "YOUR_KEY"
Copy to Clipboard
{
"langchain4j.open-ai.api-key" = "YOUR_KEY"
}
Copy to Clipboard
{
"langchain4j.open-ai.api-key" : "YOUR_KEY"
}
Copy to Clipboard
3.8 Google AI Gemini
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-googleai-gemini" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-googleai-gemini</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.google-ai-gemini.api-key =YOUR_API_KEY
Copy to Clipboard
langchain4j.google-ai-gemini.api-key: YOUR_API_KEY
Copy to Clipboard
"langchain4j.google-ai-gemini.api-key" ="YOUR_API_KEY"
Copy to Clipboard
langchain4j.googleAiGemini.apiKey = "YOUR_API_KEY"
Copy to Clipboard
{
"langchain4j.google-ai-gemini.api-key" = "YOUR_API_KEY"
}
Copy to Clipboard
{
"langchain4j.google-ai-gemini.api-key" : "YOUR_API_KEY"
}
Copy to Clipboard
3.9 VertexAi
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-vertexai" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-vertexai</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.vertex-ai.endpoint =YOUR_ENDPOINT
langchain4j.vertex-ai.model-name =YOUR_MODEL
langchain4j.vertex-ai.project =YOUR_PROJECT
langchain4j.vertex-ai.location =YOUR_LOCATION
langchain4j.vertex-ai.publisher =YOUR_PUBLISHER
Copy to Clipboard
langchain4j.vertex-ai.endpoint: YOUR_ENDPOINT
langchain4j.vertex-ai.model-name: YOUR_MODEL
langchain4j.vertex-ai.project: YOUR_PROJECT
langchain4j.vertex-ai.location: YOUR_LOCATION
langchain4j.vertex-ai.publisher: YOUR_PUBLISHER
Copy to Clipboard
"langchain4j.vertex-ai.endpoint" ="YOUR_ENDPOINT"
"langchain4j.vertex-ai.model-name" ="YOUR_MODEL"
"langchain4j.vertex-ai.project" ="YOUR_PROJECT"
"langchain4j.vertex-ai.location" ="YOUR_LOCATION"
"langchain4j.vertex-ai.publisher" ="YOUR_PUBLISHER"
Copy to Clipboard
langchain4j.vertexAi.endpoint = "YOUR_ENDPOINT"
langchain4j.vertexAi.modelName = "YOUR_MODEL"
langchain4j.vertexAi.project = "YOUR_PROJECT"
langchain4j.vertexAi.location = "YOUR_LOCATION"
langchain4j.vertexAi.publisher = "YOUR_PUBLISHER"
Copy to Clipboard
{
"langchain4j.vertex-ai.endpoint" = "YOUR_ENDPOINT"
"langchain4j.vertex-ai.model-name" = "YOUR_MODEL"
"langchain4j.vertex-ai.project" = "YOUR_PROJECT"
"langchain4j.vertex-ai.location" = "YOUR_LOCATION"
"langchain4j.vertex-ai.publisher" = "YOUR_PUBLISHER"
}
Copy to Clipboard
{
"langchain4j.vertex-ai.endpoint" : "YOUR_ENDPOINT" ,
"langchain4j.vertex-ai.model-name" : "YOUR_MODEL" ,
"langchain4j.vertex-ai.project" : "YOUR_PROJECT" ,
"langchain4j.vertex-ai.location" : "YOUR_LOCATION" ,
"langchain4j.vertex-ai.publisher" : "YOUR_PUBLISHER"
}
Copy to Clipboard
3.10 VertexAi Gemini
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-vertexai-gemini" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-vertexai-gemini</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.vertex-ai-gemini.model-name =YOUR_MODEL
langchain4j.vertex-ai-gemini.project =YOUR_PROJECT
langchain4j.vertex-ai-gemini.location =YOUR_LOCATION
Copy to Clipboard
langchain4j.vertex-ai-gemini.model-name: YOUR_MODEL
langchain4j.vertex-ai-gemini.project: YOUR_PROJECT
langchain4j.vertex-ai-gemini.location: YOUR_LOCATION
Copy to Clipboard
"langchain4j.vertex-ai-gemini.model-name" ="YOUR_MODEL"
"langchain4j.vertex-ai-gemini.project" ="YOUR_PROJECT"
"langchain4j.vertex-ai-gemini.location" ="YOUR_LOCATION"
Copy to Clipboard
langchain4j.vertexAiGemini.modelName = "YOUR_MODEL"
langchain4j.vertexAiGemini.project = "YOUR_PROJECT"
langchain4j.vertexAiGemini.location = "YOUR_LOCATION"
Copy to Clipboard
{
"langchain4j.vertex-ai-gemini.model-name" = "YOUR_MODEL"
"langchain4j.vertex-ai-gemini.project" = "YOUR_PROJECT"
"langchain4j.vertex-ai-gemini.location" = "YOUR_LOCATION"
}
Copy to Clipboard
{
"langchain4j.vertex-ai-gemini.model-name" : "YOUR_MODEL" ,
"langchain4j.vertex-ai-gemini.project" : "YOUR_PROJECT" ,
"langchain4j.vertex-ai-gemini.location" : "YOUR_LOCATION"
}
Copy to Clipboard
4 Embedding Stores
Improve this doc
4.1 Elastic Search
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-store-elasticsearch" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-store-elasticsearch</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
elasticsearch.httpHosts =http://localhost:9200,http://127.0.0.2:9200
langchain4j.elasticsearch.embedding-stores.default.dimension =384
Copy to Clipboard
elasticsearch.httpHosts: "http://localhost:9200,http://127.0.0.2:9200"
langchain4j.elasticsearch.embedding-stores.default.dimension: 384
Copy to Clipboard
"elasticsearch.httpHosts" ="http://localhost:9200,http://127.0.0.2:9200"
"langchain4j.elasticsearch.embedding-stores.default.dimension" =384
Copy to Clipboard
elasticsearch.httpHosts = "http://localhost:9200,http://127.0.0.2:9200"
langchain4j.elasticsearch.embeddingStores.default .dimension = 384
Copy to Clipboard
{
"elasticsearch.httpHosts" = "http://localhost:9200,http://127.0.0.2:9200"
"langchain4j.elasticsearch.embedding-stores.default.dimension" = 384
}
Copy to Clipboard
{
"elasticsearch.httpHosts" : "http://localhost:9200,http://127.0.0.2:9200" ,
"langchain4j.elasticsearch.embedding-stores.default.dimension" : 384
}
Copy to Clipboard
4.2 MongoDB
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-store-mongodb-atlas" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-store-mongodb-atlas</artifactId >
</dependency >
Copy to Clipboard
Configuring a MongoDB server
mongodb.servers.default.uri: mongodb://username:password@localhost:27017/databaseName
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.mongodb-atlas.embedding-stores.default.database-name =testdb
langchain4j.mongodb-atlas.embedding-stores.default.collection-name =testcol
langchain4j.mongodb-atlas.embedding-stores.default.index-name =testindex
Copy to Clipboard
langchain4j.mongodb-atlas.embedding-stores.default.database-name: testdb
langchain4j.mongodb-atlas.embedding-stores.default.collection-name: testcol
langchain4j.mongodb-atlas.embedding-stores.default.index-name: testindex
Copy to Clipboard
"langchain4j.mongodb-atlas.embedding-stores.default.database-name" ="testdb"
"langchain4j.mongodb-atlas.embedding-stores.default.collection-name" ="testcol"
"langchain4j.mongodb-atlas.embedding-stores.default.index-name" ="testindex"
Copy to Clipboard
langchain4j.mongodbAtlas.embeddingStores.default .databaseName = "testdb"
langchain4j.mongodbAtlas.embeddingStores.default .collectionName = "testcol"
langchain4j.mongodbAtlas.embeddingStores.default .indexName = "testindex"
Copy to Clipboard
{
"langchain4j.mongodb-atlas.embedding-stores.default.database-name" = "testdb"
"langchain4j.mongodb-atlas.embedding-stores.default.collection-name" = "testcol"
"langchain4j.mongodb-atlas.embedding-stores.default.index-name" = "testindex"
}
Copy to Clipboard
{
"langchain4j.mongodb-atlas.embedding-stores.default.database-name" : "testdb" ,
"langchain4j.mongodb-atlas.embedding-stores.default.collection-name" : "testcol" ,
"langchain4j.mongodb-atlas.embedding-stores.default.index-name" : "testindex"
}
Copy to Clipboard
4.3 Neo4j
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-store-neo4j" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-store-neo4j</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
neo4j.uri =bolt://localhost
langchain4j.neo4j.embedding-stores.default.dimension =384
Copy to Clipboard
neo4j.uri: bolt://localhost
langchain4j.neo4j.embedding-stores.default.dimension: 384
Copy to Clipboard
"neo4j.uri" ="bolt://localhost"
"langchain4j.neo4j.embedding-stores.default.dimension" =384
Copy to Clipboard
neo4j.uri = "bolt://localhost"
langchain4j.neo4j.embeddingStores.default .dimension = 384
Copy to Clipboard
{
"neo4j.uri" = "bolt://localhost"
"langchain4j.neo4j.embedding-stores.default.dimension" = 384
}
Copy to Clipboard
{
"neo4j.uri" : "bolt://localhost" ,
"langchain4j.neo4j.embedding-stores.default.dimension" : 384
}
Copy to Clipboard
4.4 Oracle
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-store-oracle" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-store-oracle</artifactId >
</dependency >
Copy to Clipboard
Gradle
Maven
runtimeOnly("io.micronaut.sql:micronaut-jdbc-hikari" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.sql</groupId >
<artifactId > micronaut-jdbc-hikari</artifactId >
<scope > runtime</scope >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
datasources.default.dialect =oracle
langchain4j.oracle.embedding-stores.default.table =test
langchain4j.oracle.embedding-stores.default.table.create-option =create_if_not_exists
Copy to Clipboard
datasources.default.dialect: oracle
langchain4j.oracle.embedding-stores.default.table: test
langchain4j.oracle.embedding-stores.default.table.create-option: create_if_not_exists
Copy to Clipboard
"datasources.default.dialect" ="oracle"
"langchain4j.oracle.embedding-stores.default.table" ="test"
"langchain4j.oracle.embedding-stores.default.table.create-option" ="create_if_not_exists"
Copy to Clipboard
datasources.default .dialect = "oracle"
langchain4j.oracle.embeddingStores.default .table = "test"
langchain4j.oracle.embeddingStores.default .table.createOption = "create_if_not_exists"
Copy to Clipboard
{
"datasources.default.dialect" = "oracle"
"langchain4j.oracle.embedding-stores.default.table" = "test"
"langchain4j.oracle.embedding-stores.default.table.create-option" = "create_if_not_exists"
}
Copy to Clipboard
{
"datasources.default.dialect" : "oracle" ,
"langchain4j.oracle.embedding-stores.default.table" : "test" ,
"langchain4j.oracle.embedding-stores.default.table.create-option" : "create_if_not_exists"
}
Copy to Clipboard
4.5 Open Search
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-store-opensearch" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-store-opensearch</artifactId >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
micronaut.opensearch.rest-client.http-hosts =http://localhost:9200,http://127.0.0.2:9200
langchain4j.opensearch.embedding-stores.default.dimension =384
Copy to Clipboard
micronaut.opensearch.rest-client.http-hosts: "http://localhost:9200,http://127.0.0.2:9200"
langchain4j.opensearch.embedding-stores.default.dimension: 384
Copy to Clipboard
"micronaut.opensearch.rest-client.http-hosts" ="http://localhost:9200,http://127.0.0.2:9200"
"langchain4j.opensearch.embedding-stores.default.dimension" =384
Copy to Clipboard
micronaut.opensearch.restClient.httpHosts = "http://localhost:9200,http://127.0.0.2:9200"
langchain4j.opensearch.embeddingStores.default .dimension = 384
Copy to Clipboard
{
"micronaut.opensearch.rest-client.http-hosts" = "http://localhost:9200,http://127.0.0.2:9200"
"langchain4j.opensearch.embedding-stores.default.dimension" = 384
}
Copy to Clipboard
{
"micronaut.opensearch.rest-client.http-hosts" : "http://localhost:9200,http://127.0.0.2:9200" ,
"langchain4j.opensearch.embedding-stores.default.dimension" : 384
}
Copy to Clipboard
4.6 PGVector
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-store-pgvector" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-store-pgvector</artifactId >
</dependency >
Copy to Clipboard
Gradle
Maven
runtimeOnly("io.micronaut.sql:micronaut-jdbc-hikari" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.sql</groupId >
<artifactId > micronaut-jdbc-hikari</artifactId >
<scope > runtime</scope >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
datasources.default.dialect =postgres
langchain4j.pgvector.embedding-stores.default.table =mytable
langchain4j.pgvector.embedding-stores.default.dimension =384
test-resources.containers.postgres.image-name =pgvector/pgvector:pg16
Copy to Clipboard
datasources.default.dialect: postgres
langchain4j.pgvector.embedding-stores.default.table: "mytable"
langchain4j.pgvector.embedding-stores.default.dimension: 384
test-resources.containers.postgres.image-name: pgvector/pgvector:pg16
Copy to Clipboard
"datasources.default.dialect" ="postgres"
"langchain4j.pgvector.embedding-stores.default.table" ="mytable"
"langchain4j.pgvector.embedding-stores.default.dimension" =384
"test-resources.containers.postgres.image-name" ="pgvector/pgvector:pg16"
Copy to Clipboard
datasources.default .dialect = "postgres"
langchain4j.pgvector.embeddingStores.default .table = "mytable"
langchain4j.pgvector.embeddingStores.default .dimension = 384
testResources.containers.postgres.imageName = "pgvector/pgvector:pg16"
Copy to Clipboard
{
"datasources.default.dialect" = "postgres"
"langchain4j.pgvector.embedding-stores.default.table" = "mytable"
"langchain4j.pgvector.embedding-stores.default.dimension" = 384
"test-resources.containers.postgres.image-name" = "pgvector/pgvector:pg16"
}
Copy to Clipboard
{
"datasources.default.dialect" : "postgres" ,
"langchain4j.pgvector.embedding-stores.default.table" : "mytable" ,
"langchain4j.pgvector.embedding-stores.default.dimension" : 384 ,
"test-resources.containers.postgres.image-name" : "pgvector/pgvector:pg16"
}
Copy to Clipboard
4.7 Redis
Improve this doc
4.8 Qdrant
Improve this doc
Add the following dependency:
Gradle
Maven
implementation("io.micronaut.langchain4j:micronaut-langchain4j-store-qdrant" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-store-qdrant</artifactId >
</dependency >
Copy to Clipboard
To use Testcontainers & Test Resources add the following dependency:
Gradle
Maven
testResourcesService("io.micronaut.langchain4j:micronaut-langchain4j-qdrant-testresource" )
Copy to Clipboard
<dependency >
<groupId > io.micronaut.langchain4j</groupId >
<artifactId > micronaut-langchain4j-qdrant-testresource</artifactId >
<scope > testResourcesService</scope >
</dependency >
Copy to Clipboard
Example Configuration
Properties
Yaml
Toml
Groovy
Hocon
JSON
langchain4j.qdrant.embedding-store.host =localhost
langchain4j.qdrant.embedding-store.port =6334
langchain4j.qdrant.embedding-store.collection-name =mycollection
Copy to Clipboard
langchain4j.qdrant.embedding-store.host: localhost
langchain4j.qdrant.embedding-store.port: 6334
langchain4j.qdrant.embedding-store.collection-name: mycollection
Copy to Clipboard
"langchain4j.qdrant.embedding-store.host" ="localhost"
"langchain4j.qdrant.embedding-store.port" =6334
"langchain4j.qdrant.embedding-store.collection-name" ="mycollection"
Copy to Clipboard
langchain4j.qdrant.embeddingStore.host = "localhost"
langchain4j.qdrant.embeddingStore.port = 6334
langchain4j.qdrant.embeddingStore.collectionName = "mycollection"
Copy to Clipboard
{
"langchain4j.qdrant.embedding-store.host" = "localhost"
"langchain4j.qdrant.embedding-store.port" = 6334
"langchain4j.qdrant.embedding-store.collection-name" = "mycollection"
}
Copy to Clipboard
{
"langchain4j.qdrant.embedding-store.host" : "localhost" ,
"langchain4j.qdrant.embedding-store.port" : 6334 ,
"langchain4j.qdrant.embedding-store.collection-name" : "mycollection"
}
Copy to Clipboard
5 Repository
Improve this doc
You can find the source code of this project in this repository:
6 Release History
Improve this doc
For this project, you can find a list of releases (with release notes) here: