chat: Support new models
This commit is contained in:
@@ -188,13 +188,13 @@
|
|||||||
</label>
|
</label>
|
||||||
|
|
||||||
<label class="model-opt__label">
|
<label class="model-opt__label">
|
||||||
<input type="radio" name="model" value="claude-3-5-sonnet-20241022" />
|
<input type="radio" name="model" value="claude-3-7-sonnet-20250219" />
|
||||||
Claude 3.5 Sonnet
|
Claude 3.7 Sonnet
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<label class="model-opt__label">
|
<label class="model-opt__label">
|
||||||
<input type="radio" name="model" value="gemini-1.5-flash-8b-latest" />
|
<input type="radio" name="model" value="gemini-2.0-flash-lite" />
|
||||||
Gemini 1.5 Flash 8b
|
Gemini 2.0 Flash Lite
|
||||||
</label>
|
</label>
|
||||||
</details>
|
</details>
|
||||||
</div>
|
</div>
|
||||||
@@ -263,23 +263,15 @@
|
|||||||
|
|
||||||
const chat = {
|
const chat = {
|
||||||
chatgpt: (params) => chatWithOpenAI({ ...params, apiKey: window.env.OPENAI_API_KEY, model: "gpt-4o" }),
|
chatgpt: (params) => chatWithOpenAI({ ...params, apiKey: window.env.OPENAI_API_KEY, model: "gpt-4o" }),
|
||||||
claude: (params) =>
|
claude: (params) => chatWithClaude({ ...params, apiKey: window.env.ANTHROPIC_API_KEY, model: "claude-3-5-sonnet-20241022" }),
|
||||||
chatWithClaude({
|
|
||||||
...params,
|
|
||||||
apiKey: window.env.ANTHROPIC_API_KEY,
|
|
||||||
model: "claude-3-5-sonnet-20241022",
|
|
||||||
}),
|
|
||||||
"gpt-4o": (params) => chatWithOpenAI({ ...params, apiKey: window.env.OPENAI_API_KEY, model: "gpt-4o" }),
|
"gpt-4o": (params) => chatWithOpenAI({ ...params, apiKey: window.env.OPENAI_API_KEY, model: "gpt-4o" }),
|
||||||
"gpt-4o-mini": (params) => chatWithOpenAI({ ...params, apiKey: window.env.OPENAI_API_KEY, model: "gpt-4o-mini" }),
|
"gpt-4o-mini": (params) => chatWithOpenAI({ ...params, apiKey: window.env.OPENAI_API_KEY, model: "gpt-4o-mini" }),
|
||||||
"gemini-1.5-flash-8b-latest": (params) =>
|
"gemini-1.5-flash-8b-latest": (params) => chatWithGemini({ ...params, apiKey: window.env.GEMINI_API_KEY, model: "gemini-1.5-flash-8b-latest" }),
|
||||||
chatWithGemini({ ...params, apiKey: window.env.GEMINI_API_KEY, model: "gemini-1.5-flash-8b-latest" }),
|
"gemini-2.0-flash-lite": (params) => chatWithGemini({ ...params, apiKey: window.env.GEMINI_API_KEY, model: "gemini-2.0-flash-lite" }),
|
||||||
"claude-3-5-sonnet-20241022": (params) =>
|
"claude-3-5-sonnet-20241022": (params) => chatWithClaude({ ...params, apiKey: window.env.ANTHROPIC_API_KEY, model: "claude-3-5-sonnet-20241022" }),
|
||||||
chatWithClaude({
|
"claude-3-7-sonnet-20250219": (params) => chatWithClaude({ ...params, apiKey: window.env.ANTHROPIC_API_KEY, model: "claude-3-7-sonnet-20250219" }),
|
||||||
...params,
|
|
||||||
apiKey: window.env.ANTHROPIC_API_KEY,
|
|
||||||
model: "claude-3-5-sonnet-20241022",
|
|
||||||
}),
|
|
||||||
}[pickedModel];
|
}[pickedModel];
|
||||||
|
|
||||||
if (!chat) {
|
if (!chat) {
|
||||||
console.error(`Unknown model: ${window.env.MODEL}`);
|
console.error(`Unknown model: ${window.env.MODEL}`);
|
||||||
return;
|
return;
|
||||||
@@ -309,18 +301,18 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function createMessageElement(content, isUser) {
|
function createMessageElement(content, isUser) {
|
||||||
const message = document.createElement("div");
|
const $el = document.createElement("div");
|
||||||
message.className = `message ${isUser ? "user-message" : "system-message"}`;
|
$el.className = `message ${isUser ? "user-message" : "system-message"}`;
|
||||||
message.innerHTML = marked.parse(content, { sanitize: true });
|
$el.innerHTML = marked.parse(content, { sanitize: true });
|
||||||
return message;
|
return $el;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateMessageContent(element, content) {
|
function updateMessageContent($el, markdown) {
|
||||||
element.innerHTML = marked.parse(content, { sanitize: true });
|
$el.innerHTML = marked.parse(markdown, { sanitize: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
function scrollToBottom(element) {
|
function scrollToBottom($el) {
|
||||||
element.scrollTop = element.scrollHeight;
|
$el.scrollTop = $el.scrollHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function chatWithOpenAI({ onContent, messages, signal, apiKey, model }) {
|
async function chatWithOpenAI({ onContent, messages, signal, apiKey, model }) {
|
||||||
|
|||||||
Reference in New Issue
Block a user