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 model
projectKey
(string
): Project key for the project
options
(SubmitChatOptions
): Optional parameters
Options
All options are optional.
threadId
(string
): Thread ID
iDontKnowMessage
(string
): Message returned when the model does not have
an answer
model
(OpenAIModelId
): The OpenAI model to use
systemPrompt
(string
): The prompt template
temperature
(number
): The model temperature
topP
(number
): The model top P
frequencyPenalty
(number
): The model frequency penalty
presencePenalty
(number
): The model present penalty
maxTokens
(number
): The max number of tokens to include in the response
sectionsMatchCount
(number
): The number of sections to include in the
prompt context
sectionsMatchThreshold
(number
): The similarity threshold between the
signal
(AbortSignal
): AbortController signal
tools
: (OpenAI.ChatCompletionTool[]
): A list of tools the model may call
toolChoice
: (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 query
projectKey
(string
): Project key for the project
options
(object
): Optional parameters
Options
limit
(number
): Maximum amount of results to return
signal
(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 submit
feedback.feedback
(object
): Feedback data
feedback.feedback.vote
("1" | "-1" | "escalated"
): Vote
feedback.messageId
(string
): Message ID
projectKey
(string
): Project key for the project
options
(object
): Optional parameters
options.onFeedbackSubmitted
(function
): Callback function when feedback is
submitted
options.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