
Enables interaction with Orama Cloud for executing full-text, vector, or hybrid searches and supports answer sessions with customizable parameters and event listeners.
This repository contains Orama's Cloud Multiplatform Kotlin Client. Developers can use this library to interact with Orama using Kotlin in multiple plataforms,
To install, make sure to enable Maven repository and include the dependency in your build file gradle.build.kts.
repositories {
mavenCentral()
}
dependencies {
implementation "com.orama:oramasearch-client-kotlin:$OramaClientVersion"
}
Performing full-text, vector, or hybrid search:
First, you need to do is to instantiate the client passing your endpoint and apiKey.
After that, use the SearchParams to prepare you query.
Now, just call the client.search method with the parameters and a proper callback handler.
@Serializable
data class MyDoc (
val title: String,
val category: String,
val path: String,
val content: String,
val section: String
)
val client = OramaClient(
endpoint = "<ORAMA CLOUD URL>",
apiKey = "<ORAMA CLOUD API KEY>"
)
val searchParams = SearchParams.builder(
term = "install",
mode = Mode.FULLTEXT // Modes: FULLTEXT, VECTOR and HYBRID
).build()
launch {
val results = client.search(searchParams, MyDoc.serializer())
}Performing an answer session:
val client = OramaClient(
endpoint = "<ORAMA CLOUD URL>",
apiKey = "<ORAMA CLOUD API KEY>"
)
val answerParams = AnswerParams(
userContext = null,
oramaClient = client,
inferenceType = InferenceType.DOCUMENTATION,
initialMessages = mutableListOf<Message>()
)
val answerSession = AnswerSession(
answerParams = answerParams,
events = object : AnswerEventListener {
override fun onStateChange(interactions: MutableList<Interaction>) {
// Process list of interaction post-response
}
}
)
runBlocking {
val answer = answerSession.ask(AskParams(
query = "What's the best movie to watch with the family?"
))
println(answer)
}This repository contains Orama's Cloud Multiplatform Kotlin Client. Developers can use this library to interact with Orama using Kotlin in multiple plataforms,
To install, make sure to enable Maven repository and include the dependency in your build file gradle.build.kts.
repositories {
mavenCentral()
}
dependencies {
implementation "com.orama:oramasearch-client-kotlin:$OramaClientVersion"
}
Performing full-text, vector, or hybrid search:
First, you need to do is to instantiate the client passing your endpoint and apiKey.
After that, use the SearchParams to prepare you query.
Now, just call the client.search method with the parameters and a proper callback handler.
@Serializable
data class MyDoc (
val title: String,
val category: String,
val path: String,
val content: String,
val section: String
)
val client = OramaClient(
endpoint = "<ORAMA CLOUD URL>",
apiKey = "<ORAMA CLOUD API KEY>"
)
val searchParams = SearchParams.builder(
term = "install",
mode = Mode.FULLTEXT // Modes: FULLTEXT, VECTOR and HYBRID
).build()
launch {
val results = client.search(searchParams, MyDoc.serializer())
}Performing an answer session:
val client = OramaClient(
endpoint = "<ORAMA CLOUD URL>",
apiKey = "<ORAMA CLOUD API KEY>"
)
val answerParams = AnswerParams(
userContext = null,
oramaClient = client,
inferenceType = InferenceType.DOCUMENTATION,
initialMessages = mutableListOf<Message>()
)
val answerSession = AnswerSession(
answerParams = answerParams,
events = object : AnswerEventListener {
override fun onStateChange(interactions: MutableList<Interaction>) {
// Process list of interaction post-response
}
}
)
runBlocking {
val answer = answerSession.ask(AskParams(
query = "What's the best movie to watch with the family?"
))
println(answer)
}