Skip to content

Commit

Permalink
Merge branch 'ai16z:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
IkigaiLabsETH authored Nov 9, 2024
2 parents f0646e4 + ce4d327 commit d335cdf
Show file tree
Hide file tree
Showing 5 changed files with 70 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ DISCORD_API_TOKEN= # Bot token
OPENAI_API_KEY=sk-* # OpenAI API key, starting with sk-
REDPILL_API_KEY= # REDPILL API Key
GROQ_API_KEY=gsk_*
OPENROUTER_API_KEY=

ELEVENLABS_XI_API_KEY= # API key from elevenlabs

Expand All @@ -27,6 +28,13 @@ X_SERVER_URL=
XAI_API_KEY=
XAI_MODEL=

#OpenRouter (Use one model for everything or set individual for small, medium, large tasks)
#leave blank to use defaults hermes 70b for small tasks & 405b for medium/large tasks
OPENROUTER_MODEL=
SMALL_OPENROUTER_MODEL=
MEDIUM_OLLAMA_MODEL=
LARGE_OLLAMA_MODEL=


#Set to Use for New OLLAMA provider
OLLAMA_SERVER_URL= #Leave blank for default localhost:11434
Expand All @@ -47,6 +55,7 @@ BIRDEYE_API_KEY=

SOL_ADDRESS=So11111111111111111111111111111111111111112
SLIPPAGE=1
BASE_MINT=So11111111111111111111111111111111111111112
RPC_URL=https://api.mainnet-beta.solana.com
HELIUS_API_KEY=

Expand Down
5 changes: 5 additions & 0 deletions packages/agent/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,11 @@ export function getTokenForProvider(
character.settings?.secrets?.REDPILL_API_KEY ||
settings.REDPILL_API_KEY
);
case ModelProviderName.OPENROUTER:
return (
character.settings?.secrets?.OPENROUTER ||
settings.OPENROUTER_API_KEY
);
}
}

Expand Down
25 changes: 25 additions & 0 deletions packages/core/src/generation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,31 @@ export async function generateText({
break;
}


case ModelProviderName.OPENROUTER: {
elizaLogger.log("Initializing OpenRouter model.");
const serverUrl = models[provider].endpoint;
const openrouter = createOpenAI({ apiKey, baseURL: serverUrl });

const { text: openrouterResponse } = await aiGenerateText({
model: openrouter.languageModel(model),
prompt: context,
temperature: temperature,
system:
runtime.character.system ??
settings.SYSTEM_PROMPT ??
undefined,
maxTokens: max_response_length,
frequencyPenalty: frequency_penalty,
presencePenalty: presence_penalty,
});

response = openrouterResponse;
elizaLogger.log("Received response from OpenRouter model.");
break;
}


case ModelProviderName.OLLAMA:
{
console.log("Initializing Ollama model.");
Expand Down
29 changes: 29 additions & 0 deletions packages/core/src/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,35 @@ const models: Models = {
[ModelClass.EMBEDDING]: "text-embedding-3-small",
},
},
[ModelProviderName.OPENROUTER]: {
endpoint: "https://openrouter.ai/api/v1",
settings: {
stop: [],
maxInputTokens: 128000,
maxOutputTokens: 8192,
frequency_penalty: 0.0,
presence_penalty: 0.0,
temperature: 0.6,
},
// Available models: https://openrouter.ai/models
// To test other models, change the models below
model: {
[ModelClass.SMALL]:
settings.SMALL_OPENROUTER_MODEL ||
settings.OPENROUTER_MODEL ||
"nousresearch/hermes-3-llama-3.1-70b",
[ModelClass.MEDIUM]:
settings.MEDIUM_OPENROUTER_MODEL ||
settings.OPENROUTER_MODEL ||
"nousresearch/hermes-3-llama-3.1-405b",
[ModelClass.LARGE]:
settings.LARGE_OPENROUTER_MODEL ||
settings.OPENROUTER_MODEL ||
"nousresearch/hermes-3-llama-3.1-405b",
[ModelClass.EMBEDDING]:
"text-embedding-3-small",
},
},
[ModelProviderName.OLLAMA]: {
settings: {
stop: [],
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ export type Models = {
[ModelProviderName.GOOGLE]: Model;
[ModelProviderName.CLAUDE_VERTEX]: Model;
[ModelProviderName.REDPILL]: Model;
[ModelProviderName.OPENROUTER]: Model;
[ModelProviderName.OLLAMA]: Model;
};

Expand All @@ -125,6 +126,7 @@ export enum ModelProviderName {
GOOGLE = "google",
CLAUDE_VERTEX = "claude_vertex",
REDPILL = "redpill",
OPENROUTER = "openrouter",
OLLAMA = "ollama",
}

Expand Down

0 comments on commit d335cdf

Please sign in to comment.