chore: add chat completion field form add remote engine (#4452)
This commit is contained in:
parent
06ee10be1b
commit
231c7116ea
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "jan",
|
||||
"version": "0.1.1736864554",
|
||||
"version": "0.1.4",
|
||||
"main": "./build/main.js",
|
||||
"author": "Jan <service@jan.ai>",
|
||||
"license": "MIT",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-anthropic-extension",
|
||||
"type": "remote",
|
||||
"engine": "anthropic",
|
||||
"url": "https://api.anthropic.com",
|
||||
"url": "https://console.anthropic.com/settings/keys",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://api.anthropic.com/v1/models",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-cohere-extension",
|
||||
"type": "remote",
|
||||
"engine": "cohere",
|
||||
"url": "https://api.cohere.ai",
|
||||
"url": "https://dashboard.cohere.com/api-keys",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://api.cohere.ai/v1/models",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-groq-extension",
|
||||
"type": "remote",
|
||||
"engine": "groq",
|
||||
"url": "https://api.groq.com",
|
||||
"url": "https://console.groq.com/keys",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://api.groq.com/openai/v1/models",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-martian-extension",
|
||||
"type": "remote",
|
||||
"engine": "martian",
|
||||
"url": "https://withmartian.com",
|
||||
"url": "https://withmartian.com/dashboard",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://withmartian.com/api/openai/v1/models",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-mistral-extension",
|
||||
"type": "remote",
|
||||
"engine": "mistral",
|
||||
"url": "https://api.mistral.ai",
|
||||
"url": "https://console.mistral.ai/api-keys/",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://api.mistral.ai/v1/models",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-nvidia-extension",
|
||||
"type": "remote",
|
||||
"engine": "nvidia",
|
||||
"url": "https://integrate.api.nvidia.com",
|
||||
"url": "https://org.ngc.nvidia.com/setup/personal-keys",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://integrate.api.nvidia.com/v1/models",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-openai-extension",
|
||||
"type": "remote",
|
||||
"engine": "openai",
|
||||
"url": "https://api.openai.com",
|
||||
"url": "https://platform.openai.com/account/api-keys",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://api.openai.com/v1/models",
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"id": "@janhq/inference-openrouter-extension",
|
||||
"type": "remote",
|
||||
"engine": "openrouter",
|
||||
"url": "https://openrouter.ai",
|
||||
"url": "https://openrouter.ai/keys",
|
||||
"api_key": "",
|
||||
"metadata": {
|
||||
"get_models_url": "https://openrouter.ai/api/v1/models",
|
||||
|
||||
@ -509,71 +509,71 @@ __metadata:
|
||||
|
||||
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fassistant-extension%40workspace%3Aassistant-extension":
|
||||
version: 0.1.10
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=b3efad&locator=%40janhq%2Fassistant-extension%40workspace%3Aassistant-extension"
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fassistant-extension%40workspace%3Aassistant-extension"
|
||||
dependencies:
|
||||
rxjs: "npm:^7.8.1"
|
||||
ulidx: "npm:^2.3.0"
|
||||
checksum: 10c0/a617e70c606d6f463fbd82488704a02f75290323c07fcf0242641732efa5e9d067062595f27cefade0ac79b47796ac34ef57ac439e82a5a4888b30e37d019994
|
||||
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fconversational-extension%40workspace%3Aconversational-extension":
|
||||
version: 0.1.10
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=b3efad&locator=%40janhq%2Fconversational-extension%40workspace%3Aconversational-extension"
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fconversational-extension%40workspace%3Aconversational-extension"
|
||||
dependencies:
|
||||
rxjs: "npm:^7.8.1"
|
||||
ulidx: "npm:^2.3.0"
|
||||
checksum: 10c0/a617e70c606d6f463fbd82488704a02f75290323c07fcf0242641732efa5e9d067062595f27cefade0ac79b47796ac34ef57ac439e82a5a4888b30e37d019994
|
||||
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fengine-management-extension%40workspace%3Aengine-management-extension":
|
||||
version: 0.1.10
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=b3efad&locator=%40janhq%2Fengine-management-extension%40workspace%3Aengine-management-extension"
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fengine-management-extension%40workspace%3Aengine-management-extension"
|
||||
dependencies:
|
||||
rxjs: "npm:^7.8.1"
|
||||
ulidx: "npm:^2.3.0"
|
||||
checksum: 10c0/a617e70c606d6f463fbd82488704a02f75290323c07fcf0242641732efa5e9d067062595f27cefade0ac79b47796ac34ef57ac439e82a5a4888b30e37d019994
|
||||
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Finference-cortex-extension%40workspace%3Ainference-cortex-extension":
|
||||
version: 0.1.10
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=b3efad&locator=%40janhq%2Finference-cortex-extension%40workspace%3Ainference-cortex-extension"
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Finference-cortex-extension%40workspace%3Ainference-cortex-extension"
|
||||
dependencies:
|
||||
rxjs: "npm:^7.8.1"
|
||||
ulidx: "npm:^2.3.0"
|
||||
checksum: 10c0/a617e70c606d6f463fbd82488704a02f75290323c07fcf0242641732efa5e9d067062595f27cefade0ac79b47796ac34ef57ac439e82a5a4888b30e37d019994
|
||||
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fmodel-extension%40workspace%3Amodel-extension":
|
||||
version: 0.1.10
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=b3efad&locator=%40janhq%2Fmodel-extension%40workspace%3Amodel-extension"
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fmodel-extension%40workspace%3Amodel-extension"
|
||||
dependencies:
|
||||
rxjs: "npm:^7.8.1"
|
||||
ulidx: "npm:^2.3.0"
|
||||
checksum: 10c0/a617e70c606d6f463fbd82488704a02f75290323c07fcf0242641732efa5e9d067062595f27cefade0ac79b47796ac34ef57ac439e82a5a4888b30e37d019994
|
||||
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Fmonitoring-extension%40workspace%3Amonitoring-extension":
|
||||
version: 0.1.10
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=b3efad&locator=%40janhq%2Fmonitoring-extension%40workspace%3Amonitoring-extension"
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Fmonitoring-extension%40workspace%3Amonitoring-extension"
|
||||
dependencies:
|
||||
rxjs: "npm:^7.8.1"
|
||||
ulidx: "npm:^2.3.0"
|
||||
checksum: 10c0/a617e70c606d6f463fbd82488704a02f75290323c07fcf0242641732efa5e9d067062595f27cefade0ac79b47796ac34ef57ac439e82a5a4888b30e37d019994
|
||||
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@janhq/core@file:../../core/package.tgz::locator=%40janhq%2Ftensorrt-llm-extension%40workspace%3Atensorrt-llm-extension":
|
||||
version: 0.1.10
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=b3efad&locator=%40janhq%2Ftensorrt-llm-extension%40workspace%3Atensorrt-llm-extension"
|
||||
resolution: "@janhq/core@file:../../core/package.tgz#../../core/package.tgz::hash=fc09ae&locator=%40janhq%2Ftensorrt-llm-extension%40workspace%3Atensorrt-llm-extension"
|
||||
dependencies:
|
||||
rxjs: "npm:^7.8.1"
|
||||
ulidx: "npm:^2.3.0"
|
||||
checksum: 10c0/a617e70c606d6f463fbd82488704a02f75290323c07fcf0242641732efa5e9d067062595f27cefade0ac79b47796ac34ef57ac439e82a5a4888b30e37d019994
|
||||
checksum: 10c0/8e1830ac4f0f26634d3bb243528f7a18fd6e9fa684c18e0a3b85e30d6386d9ef5b0348ddcaaecf27b2e8e8625983b4dc8591564ac6d42e899205bab57385573c
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
@ -11,8 +11,15 @@ import { addRemoteEngine, useGetEngines } from '@/hooks/useEngineManagement'
|
||||
|
||||
const engineSchema = z.object({
|
||||
engineName: z.string().min(1, 'Engine name is required'),
|
||||
modelListUrl: z.string().url('Enter a valid Model List URL'),
|
||||
modelListUrl: z
|
||||
.string()
|
||||
.url('Enter a valid Model List URL')
|
||||
.or(z.literal('')),
|
||||
headerTemplate: z.string().optional(),
|
||||
chatCmpletionsUrl: z
|
||||
.string()
|
||||
.url('Enter a valid Model List URL')
|
||||
.or(z.literal('')),
|
||||
apiKey: z.string().optional(),
|
||||
requestFormat: z.string().optional(),
|
||||
responseFormat: z.string().optional(),
|
||||
@ -29,7 +36,7 @@ const ModalAddRemoteEngine = () => {
|
||||
resolver: zodResolver(engineSchema),
|
||||
defaultValues: {
|
||||
engineName: '',
|
||||
apiUrl: '',
|
||||
chatCmpletionsUrl: '',
|
||||
modelListUrl: '',
|
||||
headerTemplate: '',
|
||||
apiKey: '',
|
||||
@ -42,6 +49,7 @@ const ModalAddRemoteEngine = () => {
|
||||
await addRemoteEngine({
|
||||
type: 'remote',
|
||||
engine: data.engineName,
|
||||
url: ' ',
|
||||
api_key: data.apiKey,
|
||||
metadata: {
|
||||
header_template: data.headerTemplate,
|
||||
@ -49,6 +57,7 @@ const ModalAddRemoteEngine = () => {
|
||||
transform_req: {
|
||||
chat_completions: {
|
||||
template: data.requestFormat,
|
||||
url: data.chatCmpletionsUrl,
|
||||
},
|
||||
},
|
||||
transform_resp: {
|
||||
@ -112,6 +121,21 @@ const ModalAddRemoteEngine = () => {
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<label htmlFor="chatCmpletionsUrl" className="font-semibold">
|
||||
{renderLabel('Chat Completion URL', false)}
|
||||
</label>
|
||||
<Input
|
||||
placeholder="Enter your chat completion URL."
|
||||
{...register('chatCmpletionsUrl')}
|
||||
/>
|
||||
{errors.chatCmpletionsUrl && (
|
||||
<p className="text-sm text-red-500">
|
||||
{errors.chatCmpletionsUrl.message}
|
||||
</p>
|
||||
)}
|
||||
</div>
|
||||
|
||||
<div className="space-y-2">
|
||||
<label htmlFor="modelListUrl" className="font-semibold">
|
||||
{renderLabel(
|
||||
|
||||
@ -17,11 +17,13 @@ import { ScrollArea, Input, TextArea } from '@janhq/joi'
|
||||
import { useAtomValue } from 'jotai'
|
||||
|
||||
import { set } from 'lodash'
|
||||
import { ChevronRight } from 'lucide-react'
|
||||
import { ChevronDown, ChevronRight } from 'lucide-react'
|
||||
import { twMerge } from 'tailwind-merge'
|
||||
|
||||
import { updateEngine, useGetEngines } from '@/hooks/useEngineManagement'
|
||||
|
||||
import { getTitleByEngine } from '@/utils/modelEngine'
|
||||
|
||||
import { downloadedModelsAtom } from '@/helpers/atoms/Model.atom'
|
||||
|
||||
const RemoteEngineSettings = ({
|
||||
@ -124,6 +126,18 @@ const RemoteEngineSettings = ({
|
||||
<h6 className="line-clamp-1 font-semibold">API Key</h6>
|
||||
<p className="mt-1 text-[hsla(var(--text-secondary))]">
|
||||
Enter your authentication key to activate this engine.
|
||||
{engine.engine && engine.url && (
|
||||
<span>
|
||||
Get your API key from{' '}
|
||||
<a
|
||||
target="_blank"
|
||||
href={engine.url}
|
||||
className="text-[hsla(var(--app-link))]"
|
||||
>
|
||||
{getTitleByEngine(engine.engine)}.
|
||||
</a>
|
||||
</span>
|
||||
)}
|
||||
</p>
|
||||
</div>
|
||||
<div className="w-full">
|
||||
@ -221,7 +235,11 @@ const RemoteEngineSettings = ({
|
||||
>
|
||||
<span>Advance Settings</span>
|
||||
<span>
|
||||
{isActiveAdvanceSetting ? (
|
||||
<ChevronDown size={14} className="ml-1" />
|
||||
) : (
|
||||
<ChevronRight size={14} className="ml-1" />
|
||||
)}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user