@markprompt/core
v0.41.0
Published
`@markprompt/core` is the core library for Markprompt, a conversational AI component for your website, trained on your data.
Downloads
74,415
Readme
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.
Community
Authors
This library is created by the team behind Markprompt (@markprompt).