Markprompt Core
@markprompt/core
is the core library for Markprompt, a conversational AI
component for your website, trained on your data.
It contains core functionality for Markprompt and allows you to build
abstractions on top of it.
Installation
npm install @markprompt/core
In browsers with esm.sh:
<script type="module">
import {
submitChat,
submitSearchQuery,
submitFeedback,
} from 'https://esm.sh/@markprompt/core';
</script>
Usage
import { submitChat } from '@markprompt/core/chat';
for await (const chunk of submitChat(
[{ content: 'What is Markprompt?', role: 'user' }],
'YOUR-PROJECT-KEY',
{
model: 'gpt-4o',
systemPrompt: 'You are a helpful AI assistant'
}
)) {
console.debug(chunk);
}
API
submitChat(messages: ChatMessage[], projectKey: string, options?)
Submit a prompt to the Markprompt Completions API.
Arguments
messages
(ChatMessage[]
): Chat messages to submit to the modelprojectKey
(string
): Project key for the projectoptions
(SubmitChatOptions
): Optional parameters
Options
All options are optional.
threadId
(string
): Thread 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 thesignal
(AbortSignal
): AbortController signaltools
: (OpenAI.ChatCompletionTool[]
): A list of tools the model may calltoolChoice
: (OpenAI.ChatCompletionToolChoiceOption
): Controls which (if
any) function is called by the model
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
limit
(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" | "escalated"
): Votefeedback.messageId
(string
): Message IDprojectKey
(string
): Project key for the projectoptions
(object
): Optional parametersoptions.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.
Documentation
The full documentation for the package can be found on the
Markprompt docs.
Authors
This library is created by the team behind Markprompt
(@markprompt).
License
MIT © Markprompt