Skip to content

Commit

Permalink
Merge branch 'develop' into chandini/image-generaration-plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
shakkernerd authored Dec 31, 2024
2 parents c157605 + 1d00d14 commit 8bf315d
Show file tree
Hide file tree
Showing 52 changed files with 7,540 additions and 1,200 deletions.
6 changes: 3 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Eliza - Multi-agent simulation framework

# https://github.com/elizaos/eliza
# https://github.com/elizaOS/eliza

# Visit https://eliza.builders for support

## 🌍 README Translations

[中文说明](./README_CN.md) | [Deutsch](./README_DE.md) | [Français](./README_FR.md) | [ไทย](./README_TH.md)
[中文说明](./README_CN.md) | [Deutsch](./README_DE.md) | [Français](./README_FR.md) | [ไทย](./README_TH.md) | [Español](README_ES.md)

# dev branch

<img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />
<img src="static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />

_As seen powering [@DegenSpartanAI](https://x.com/degenspartanai) and [@MarcAIndreessen](https://x.com/pmairca)_

Expand Down
179 changes: 179 additions & 0 deletions docs/README_ES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
# Eliza - Framework de simulación multi-agente

# https://github.com/elizaOS/eliza

# Visita https://eliza.builders para ayuda

## 🌍 Traducciones del README

[中文说明](./README_CN.md) | [Deutsch](./README_DE.md) | [Français](./README_FR.md) | [ไทย](./README_TH.md) | [English](README.md)

# dev branch

<img src="static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />

_Respaldado por [@DegenSpartanAI](https://x.com/degenspartanai) y [@MarcAIndreessen](https://x.com/pmairca)_

- Framework de simulación multi-agente
- Añade tantos caracteres únicos como quieras con [characterfile](https://github.com/elizaOS/characterfile/)
- Conectores Discord y Twitter con todas las funciones y compatibilidad con canales de voz de Discord.
- Sistema de memoria RAG completo para conversaciones y documentos.
- Capacidad para leer enlaces y archivos PDF, transcribir audio y vídeos, resumir conversaciones, etc.
- Gran capacidad de ampliación: cree sus propias acciones y clientes para ampliar las posibilidades de Eliza.
- Admite modelos locales y de código abierto (configurado por defecto con Nous Hermes Llama 3.1B).
- Compatible con OpenAI para la inferencia en la nube en un dispositivo ligero.
- Modo "Ask Claude" para llamar a Claude en consultas más complejas
- 100% Typescript

# Primeros pasos

**Prerrequisitos (OBLIGATORIOS):**

- [Node.js 23+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [pnpm](https://pnpm.io/installation)

### Edita el archivo .env

- Copie .env.example en .env y rellene los valores apropiados
- Edita las variables de entorno de TWITTER para añadir el nombre de usuario y la contraseña de tu bot

### Edita el archivo del character

- Mira el archivo `src/core/defaultCharacter.ts` - tú puedes modificarlo
- También puede cargar caracteres con el comando `pnpm start --characters="path/to/your/character.json"` y ejecutar múltiples bots al mismo tiempo.

Después de configurar el archivo .env y el archivo de caracteres, puedes iniciar el bot con el siguiente comando:

```
pnpm i
pnpm start
```

# Personalizando Eliza

### Añadir acciones personalizadas

Para evitar conflictos de git en el directorio core, recomendamos añadir acciones personalizadas a un directorio `custom_actions` y luego añadirlas al archivo `elizaConfig.yaml`. Consulte el archivo `elizaConfig.example.yaml` para ver un ejemplo.

## Ejecutando con diferentes modelos

### Ejecuta con Llama

Tú puedes ejecutar los modelos Llama 70B o 405B configurando el ambiente `XAI_MODEL` en la variable `meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo` o `meta-llama/Meta-Llama-3.1-405B-Instruct`

### Ejecuta con Grok

Tú puedes ejecutar modelos Grok configurando el ambiente `XAI_MODEL` en la variable `grok-beta`

### Ejecuta con OpenAI

Tú puedes ejecutar modelos OpenAI configurando el ambiente `XAI_MODEL` en la variable `gpt-4-mini` o `gpt-4o`

## Requerimientos adicionales

Puede que necesite instalar Sharp. Si aparece un error al arrancar, intente instalarlo con el siguiente comando:

```
pnpm install --include=optional sharp
```

# Configuración del entorno

Tendrás que añadir variables de entorno a tu archivo .env para conectarte a distintas plataformas:

```
# Variables de entorno necesarias
DISCORD_APPLICATION_ID=
DISCORD_API_TOKEN= # Bot token
OPENAI_API_KEY=sk-* # OpenAI API key, starting with sk-
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
# CONFIGURACION DE ELEVENLABS
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
ELEVENLABS_VOICE_STABILITY=0.5
ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9
ELEVENLABS_VOICE_STYLE=0.66
ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false
ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4
ELEVENLABS_OUTPUT_FORMAT=pcm_16000
TWITTER_DRY_RUN=false
TWITTER_USERNAME= # Account username
TWITTER_PASSWORD= # Account password
TWITTER_EMAIL= # Account email
X_SERVER_URL=
XAI_API_KEY=
XAI_MODEL=
# Para preguntarle cosas a Claude
ANTHROPIC_API_KEY=
WALLET_SECRET_KEY=EXAMPLE_WALLET_SECRET_KEY
WALLET_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY
BIRDEYE_API_KEY=
SOL_ADDRESS=So11111111111111111111111111111111111111112
SLIPPAGE=1
RPC_URL=https://api.mainnet-beta.solana.com
HELIUS_API_KEY=
## Telegram
TELEGRAM_BOT_TOKEN=
TOGETHER_API_KEY=
```

# Configuración de la inferencia local

### Configuración CUDA

Si tienes una GPU NVIDIA, puedes instalar CUDA para acelerar drásticamente la inferencia local.

```
pnpm install
npx --no node-llama-cpp source download --gpu cuda
```

Asegúrese de que ha instalado el kit de herramientas CUDA, incluidos cuDNN y cuBLAS.

### Ejecutando localmente

Añade XAI_MODEL y ajústalo a una de las opciones anteriores de [Run with Llama](#run-with-llama) - puedes dejar X_SERVER_URL y XAI_API_KEY en blanco, descarga el modelo de huggingface y lo consulta localmente.

# Clientes

## Discord Bot

Para obtener ayuda con la configuración de su Bot Discord, echa un vistazo aquí: https://discordjs.guide/preparations/setting-up-a-bot-application.html

# Desarrollo

## Pruebas

Para ejecutar el conjunto de pruebas:

```bash
pnpm test # Ejecutar las pruebas una vez
pnpm test:watch # Ejecutar pruebas en modo vigilancia
```

Para pruebas database-specific:

```bash
pnpm test:sqlite # Ejecuta pruebas con SQLite
pnpm test:sqljs # Ejecuta pruebas con with SQL.js
```

Las pruebas se escriben usando Jest y se encuentran en los archivos `src/**/*.test.ts`. El entorno de pruebas está configurado para:

- Cargar variables de entorno desde `.env.test`.
- Uso de un tiempo de espera de 2 minutos para pruebas de larga duración
- Compatibilidad con módulos ESM
- Ejecutar pruebas en secuencia (--runInBand)

Para crear nuevas pruebas, añade un archivo `.test.ts` junto al código que estás probando.
2 changes: 1 addition & 1 deletion docs/docs/core/agents.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const runtime = new AgentRuntime({

## State Management

This section should cover how agents manage and update state, with a focus on initial state composition and updating methods. The runtime maintains state through the [State](/api/interfaces/state) interface:
This section covers how agents manage and update state, with a focus on initial state composition and updating methods. The runtime maintains state through the [State](/api/interfaces/state) interface:

```typescript
interface State {
Expand Down
155 changes: 78 additions & 77 deletions packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,79 +1,80 @@
{
"name": "@elizaos/core",
"version": "0.1.7-alpha.2",
"description": "",
"main": "dist/index.js",
"type": "module",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsup --format esm --dts",
"lint": "eslint --fix --cache .",
"watch": "tsc --watch",
"dev": "tsup --format esm --dts --watch",
"build:docs": "cd docs && pnpm run build",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"test:watch": "vitest"
},
"author": "",
"license": "MIT",
"devDependencies": {
"@eslint/js": "9.16.0",
"@rollup/plugin-commonjs": "25.0.8",
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-node-resolve": "15.3.0",
"@rollup/plugin-replace": "5.0.7",
"@rollup/plugin-terser": "0.1.0",
"@rollup/plugin-typescript": "11.1.6",
"@solana/web3.js": "1.95.8",
"@types/fluent-ffmpeg": "2.1.27",
"@types/jest": "29.5.14",
"@types/mocha": "10.0.10",
"@types/node": "22.8.4",
"@types/pdfjs-dist": "2.10.378",
"@types/tar": "6.1.13",
"@types/wav-encoder": "1.3.3",
"@typescript-eslint/eslint-plugin": "8.16.0",
"@typescript-eslint/parser": "8.16.0",
"@vitest/coverage-v8": "2.1.5",
"dotenv": "16.4.5",
"jest": "29.7.0",
"lint-staged": "15.2.10",
"nodemon": "3.1.7",
"pm2": "5.4.3",
"rimraf": "6.0.1",
"rollup": "2.79.2",
"ts-jest": "29.2.5",
"ts-node": "10.9.2",
"tslib": "2.8.1",
"tsup": "8.3.5",
"typescript": "5.6.3"
},
"dependencies": {
"@ai-sdk/anthropic": "0.0.56",
"@ai-sdk/google": "0.0.55",
"@ai-sdk/google-vertex": "0.0.43",
"@ai-sdk/groq": "0.0.3",
"@ai-sdk/openai": "1.0.5",
"@anthropic-ai/sdk": "0.30.1",
"@fal-ai/client": "1.2.0",
"@types/uuid": "10.0.0",
"ai": "3.4.33",
"anthropic-vertex-ai": "1.0.2",
"fastembed": "1.14.1",
"fastestsmallesttextencoderdecoder": "1.0.22",
"gaxios": "6.7.1",
"glob": "11.0.0",
"handlebars": "^4.7.8",
"js-sha1": "0.7.0",
"js-tiktoken": "1.0.15",
"langchain": "0.3.6",
"ollama-ai-provider": "0.16.1",
"openai": "4.73.0",
"tinyld": "1.3.4",
"together-ai": "0.7.0",
"unique-names-generator": "4.7.1",
"uuid": "11.0.3",
"zod": "3.23.8"
}
"name": "@elizaos/core",
"version": "0.1.7-alpha.2",
"description": "",
"main": "dist/index.js",
"type": "module",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsup --format esm --dts",
"lint": "eslint --fix --cache .",
"watch": "tsc --watch",
"dev": "tsup --format esm --dts --watch",
"build:docs": "cd docs && pnpm run build",
"test": "vitest run",
"test:coverage": "vitest run --coverage",
"test:watch": "vitest"
},
"author": "",
"license": "MIT",
"devDependencies": {
"@eslint/js": "9.16.0",
"@rollup/plugin-commonjs": "25.0.8",
"@rollup/plugin-json": "6.1.0",
"@rollup/plugin-node-resolve": "15.3.0",
"@rollup/plugin-replace": "5.0.7",
"@rollup/plugin-terser": "0.1.0",
"@rollup/plugin-typescript": "11.1.6",
"@solana/web3.js": "1.95.8",
"@tavily/core": "^0.0.2",
"@types/fluent-ffmpeg": "2.1.27",
"@types/jest": "29.5.14",
"@types/mocha": "10.0.10",
"@types/node": "22.8.4",
"@types/pdfjs-dist": "2.10.378",
"@types/tar": "6.1.13",
"@types/wav-encoder": "1.3.3",
"@typescript-eslint/eslint-plugin": "8.16.0",
"@typescript-eslint/parser": "8.16.0",
"@vitest/coverage-v8": "2.1.5",
"dotenv": "16.4.5",
"jest": "29.7.0",
"lint-staged": "15.2.10",
"nodemon": "3.1.7",
"pm2": "5.4.3",
"rimraf": "6.0.1",
"rollup": "2.79.2",
"ts-jest": "29.2.5",
"ts-node": "10.9.2",
"tslib": "2.8.1",
"tsup": "8.3.5",
"typescript": "5.6.3"
},
"dependencies": {
"@ai-sdk/anthropic": "0.0.56",
"@ai-sdk/google": "0.0.55",
"@ai-sdk/google-vertex": "0.0.43",
"@ai-sdk/groq": "0.0.3",
"@ai-sdk/openai": "1.0.5",
"@anthropic-ai/sdk": "0.30.1",
"@fal-ai/client": "1.2.0",
"@types/uuid": "10.0.0",
"ai": "3.4.33",
"anthropic-vertex-ai": "1.0.2",
"fastembed": "1.14.1",
"fastestsmallesttextencoderdecoder": "1.0.22",
"gaxios": "6.7.1",
"glob": "11.0.0",
"handlebars": "^4.7.8",
"js-sha1": "0.7.0",
"js-tiktoken": "1.0.15",
"langchain": "0.3.6",
"ollama-ai-provider": "0.16.1",
"openai": "4.73.0",
"tinyld": "1.3.4",
"together-ai": "0.7.0",
"unique-names-generator": "4.7.1",
"uuid": "11.0.3",
"zod": "3.23.8"
}
}
Loading

0 comments on commit 8bf315d

Please sign in to comment.