New Model Support: Mercury (diffusion large language models)

This commit is contained in:
Qu Yi 2025-04-20 11:04:57 +08:00
parent 5c7667fe30
commit d1bb34446f
4 changed files with 25 additions and 3 deletions

View file

@ -12,7 +12,7 @@ Do not connect this bot to public servers with coding enabled. This project allo
- [Minecraft Java Edition](https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc) (up to v1.21.1, recommend v1.20.4) - [Minecraft Java Edition](https://www.minecraft.net/en-us/store/minecraft-java-bedrock-edition-pc) (up to v1.21.1, recommend v1.20.4)
- [Node.js Installed](https://nodejs.org/) (at least v14) - [Node.js Installed](https://nodejs.org/) (at least v14)
- One of these: [OpenAI API Key](https://openai.com/blog/openai-api) | [Gemini API Key](https://aistudio.google.com/app/apikey) | [Anthropic API Key](https://docs.anthropic.com/claude/docs/getting-access-to-claude) | [Replicate API Key](https://replicate.com/) | [Hugging Face API Key](https://huggingface.co/) | [Groq API Key](https://console.groq.com/keys) | [Ollama Installed](https://ollama.com/download). | [Mistral API Key](https://docs.mistral.ai/getting-started/models/models_overview/) | [Qwen API Key [Intl.]](https://www.alibabacloud.com/help/en/model-studio/developer-reference/get-api-key)/[[cn]](https://help.aliyun.com/zh/model-studio/getting-started/first-api-call-to-qwen?) | [Novita AI API Key](https://novita.ai/settings?utm_source=github_mindcraft&utm_medium=github_readme&utm_campaign=link#key-management) | - One of these: [OpenAI API Key](https://openai.com/blog/openai-api) | [Gemini API Key](https://aistudio.google.com/app/apikey) | [Anthropic API Key](https://docs.anthropic.com/claude/docs/getting-access-to-claude) | [Replicate API Key](https://replicate.com/) | [Hugging Face API Key](https://huggingface.co/) | [Groq API Key](https://console.groq.com/keys) | [Ollama Installed](https://ollama.com/download). | [Mistral API Key](https://docs.mistral.ai/getting-started/models/models_overview/) | [Qwen API Key [Intl.]](https://www.alibabacloud.com/help/en/model-studio/developer-reference/get-api-key)/[[cn]](https://help.aliyun.com/zh/model-studio/getting-started/first-api-call-to-qwen?) | [Novita AI API Key](https://novita.ai/settings?utm_source=github_mindcraft&utm_medium=github_readme&utm_campaign=link#key-management) | [Mercury API](https://platform.inceptionlabs.ai/docs)
## Install and Run ## Install and Run
@ -53,6 +53,7 @@ You can configure the agent's name, model, and prompts in their profile like `an
| `openrouter` | `OPENROUTER_API_KEY` | `openrouter/anthropic/claude-3.5-sonnet` | [docs](https://openrouter.ai/models) | | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/anthropic/claude-3.5-sonnet` | [docs](https://openrouter.ai/models) |
| `glhf.chat` | `GHLF_API_KEY` | `glhf/hf:meta-llama/Llama-3.1-405B-Instruct` | [docs](https://glhf.chat/user-settings/api) | | `glhf.chat` | `GHLF_API_KEY` | `glhf/hf:meta-llama/Llama-3.1-405B-Instruct` | [docs](https://glhf.chat/user-settings/api) |
| `hyperbolic` | `HYPERBOLIC_API_KEY` | `hyperbolic/deepseek-ai/DeepSeek-V3` | [docs](https://docs.hyperbolic.xyz/docs/getting-started) | | `hyperbolic` | `HYPERBOLIC_API_KEY` | `hyperbolic/deepseek-ai/DeepSeek-V3` | [docs](https://docs.hyperbolic.xyz/docs/getting-started) |
| `mercury(EA)` | `MERCURY_API_KEY` | `mercury-coder-small` | [docs](https://www.inceptionlabs.ai/) |
If you use Ollama, to install the models used by default (generation and embedding), execute the following terminal command: If you use Ollama, to install the models used by default (generation and embedding), execute the following terminal command:
`ollama pull llama3.1 && ollama pull nomic-embed-text` `ollama pull llama3.1 && ollama pull nomic-embed-text`

View file

@ -13,5 +13,6 @@
"GHLF_API_KEY": "", "GHLF_API_KEY": "",
"HYPERBOLIC_API_KEY": "", "HYPERBOLIC_API_KEY": "",
"NOVITA_API_KEY": "", "NOVITA_API_KEY": "",
"OPENROUTER_API_KEY": "" "OPENROUTER_API_KEY": "",
"MERCURY_API_KEY":""
} }

15
profiles/mercury.json Normal file
View file

@ -0,0 +1,15 @@
{
"name": "Mercury",
"cooldown": 5000,
"model": {
"api": "mercury",
"url": "https://api.inceptionlabs.ai/v1",
"model": "mercury-coder-small"
},
"embedding": "openai",
"description":"Official Website Introduction:The world’s first diffusion large language models"
}

View file

@ -21,6 +21,7 @@ import { DeepSeek } from './deepseek.js';
import { Hyperbolic } from './hyperbolic.js'; import { Hyperbolic } from './hyperbolic.js';
import { GLHF } from './glhf.js'; import { GLHF } from './glhf.js';
import { OpenRouter } from './openrouter.js'; import { OpenRouter } from './openrouter.js';
import { Mercury} from "./mercury.js";
export class Prompter { export class Prompter {
constructor(agent, fp) { constructor(agent, fp) {
@ -159,8 +160,10 @@ export class Prompter {
profile.api = 'xai'; profile.api = 'xai';
else if (profile.model.includes('deepseek')) else if (profile.model.includes('deepseek'))
profile.api = 'deepseek'; profile.api = 'deepseek';
else if (profile.model.includes('mistral')) else if (profile.model.includes('mistral'))
profile.api = 'mistral'; profile.api = 'mistral';
else if (profile.model.includes('mercury'))
profile.api = 'mercury';
else else
throw new Error('Unknown model:', profile.model); throw new Error('Unknown model:', profile.model);
} }
@ -198,6 +201,8 @@ export class Prompter {
model = new DeepSeek(profile.model, profile.url, profile.params); model = new DeepSeek(profile.model, profile.url, profile.params);
else if (profile.api === 'openrouter') else if (profile.api === 'openrouter')
model = new OpenRouter(profile.model.replace('openrouter/', ''), profile.url, profile.params); model = new OpenRouter(profile.model.replace('openrouter/', ''), profile.url, profile.params);
else if (profile.api === 'mercury')
model = new Mercury(profile.model, profile.url, profile.params);
else else
throw new Error('Unknown API:', profile.api); throw new Error('Unknown API:', profile.api);
return model; return model;