@xrpl/ai-core
v0.19.0
Published
`@xrpl/ai-core` is the core library for XRPL AI, a conversational AI component for your website, trained on your data.
Downloads
4
Readme
@xrpl/ai-core
@xrpl/ai-core
is the core library for XRPL AI, a conversational AI component for your website, trained on your data.
It contains core functionality for XRPL AI and allows you to build abstractions on top of it.
Installation
npm install @xrpl/ai-core
~~In browsers with esm.sh:~~
<script type="module">
import {
submitChat,
submitSearchQuery,
submitFeedback,
} from 'https://esm.sh/@markprompt/core';
</script>
Usage
import { submitChat } from '@xrpl/ai-core';
// User input
const prompt = 'What is XRPL AI?';
// Can be obtained in your project settings on markprompt.com
const projectKey = 'YOUR-PROJECT-KEY';
// Called when a new answer chunk is available
// Should be concatenated to previous chunks
function onAnswerChunk(chunk) {
// Process an answer chunk
}
// Called when references are available
function onReferences(references) {
// Process references
}
function onConversationId(conversationId) {
// Store conversationId for future use
}
function onPromptId(promptId) {
// Store promptId for future use
}
// Called when submitChat encounters an error
function onError(error) {
// Handle errors
}
// Optional parameters, defaults displayed
const options = {
model: 'gpt-3.5-turbo', // Supports all OpenAI models
iDontKnowMessage: 'Sorry, I am not sure how to answer that.',
apiUrl: 'https://api.ai.xrpl.org/v1/completions', // Or your own completions API endpoint
};
await submitChat(
[{ content: prompt, role: 'user' }],
projectKey,
onAnswerChunk,
onReferences,
onConversationId,
onPromptId,
onError,
options,
);
API
submitChat(messages: ChatMessage[], projectKey: string, onAnswerChunk, onReferences, onConversationId, onPromptId, onError, options?)
Submit a prompt to the XRPL AI Completions API.
Arguments
messages
(ChatMessage[]
): Chat messages to submit to the modelprojectKey
(string
): Project key for the projectonAnswerChunk
(function(chunk: string)
): Answers come in via streaming. This function is called when a new chunk arrives. Chunks should be concatenated to previous chunks of the same answer response.onReferences
(function(references: FileSectionReference[])
): This function is called when receiving the list of references from which the response was created.onConversationId
(function(conversationId: string)
): This function is called with the conversation ID returned by the API. Used to keep track of conversations.onPromptId
(function(promptId: string)
): This function is called with the prompt ID returned by the API. Used to submit feedback.onError
(function
): called when an error occursoptions
(SubmitChatOptions
): Optional parameters
Options
All options are optional.
apiUrl
(string
): URL at which to fetch completionsconversationId
(string
): Conversation IDiDontKnowMessage
(string
): Message returned when the model does not have an answermodel
(OpenAIModelId
): The OpenAI model to usesystemPrompt
(string
): The prompt templatetemperature
(number
): The model temperaturetopP
(number
): The model top PfrequencyPenalty
(number
): The model frequency penaltypresencePenalty
(number
): The model present penaltymaxTokens
(number
): The max number of tokens to include in the responsesectionsMatchCount
(number
): The number of sections to include in the prompt contextsectionsMatchThreshold
(number
): The similarity threshold between the input question and selected sectionssignal
(AbortSignal
): AbortController signal
Returns
A promise that resolves when the response is fully handled.
submitSearchQuery(query, projectKey, options?)
Submit a search query to the Markprompt Search API.
Arguments
query
(string
): Search queryprojectKey
(string
): Project key for the projectoptions
(object
): Optional parameters
Options
apiUrl
(string
): URL at which to fetch search resultslimit
(number
): Maximum amount of results to returnsignal
(AbortSignal
): AbortController signal
Returns
A list of search results.
submitFeedback(feedback, projectKey, options?)
Submit feedback to the Markprompt Feedback API about a specific prompt.
Arguments
feedback
(object
): Feedback to submitfeedback.feedback
(object
): Feedback datafeedback.feedback.vote
("1" | "-1"
): Votefeedback.promptId
(string
): Prompt IDprojectKey
(string
): Project key for the projectoptions
(object
): Optional parametersoptions.apiUrl
(string
): URL at which to post feedbackoptions.onFeedbackSubmitted
(function
): Callback function when feedback is submittedoptions.signal
(AbortSignal
): AbortController signal
Returns
A promise that resolves when the feedback is submitted. Has no return value.
License
MIT © XRPL AI Devs