Skip to content

Commit

Permalink
Merge branch 'ai16z:main' into o-on-x-wip-tweet-split
Browse files Browse the repository at this point in the history
  • Loading branch information
o-on-x authored Nov 15, 2024
2 parents bf3ed27 + d279282 commit 46a913e
Show file tree
Hide file tree
Showing 265 changed files with 6,752 additions and 16,108 deletions.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
<img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />

### [For Chinese Version: 中文说明](./README_CN.md)
### [For Japanese Version: 日本語の説明](./README_JA.md)
### [For Korean Version: 한국어 설명](./README_KOR.md)
### [For French Version: Instructions en français](./README_FR.md)
### [For Portuguese Version: Instruções em português](./README_PTBR.md)

## Features

Expand All @@ -26,7 +30,7 @@
**Prerequisites (MUST):**

- [Python 2.7+](https://www.python.org/downloads/)
- [Node.js 22+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [Node.js 23.1+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [pnpm](https://pnpm.io/installation)

### Edit the .env file
Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

**前置要求(必须):**

- [Node.js 22+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [Node.js 23+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- Nodejs安装
- [pnpm](https://pnpm.io/installation)
- 使用pnpm
Expand Down
172 changes: 172 additions & 0 deletions README_FR.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
# Eliza

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

## la fonctionnalité

- 🛠 soutenir la connexion discord/ twitter /telegram
- 👥 soutien aux agents multimodaux
- 📚 simple à importer des documents et interagir avec les documents
- mémoire et stockage des documents accessibles
- 🚀 haute scalabilité, vous pouvez personnaliser les clients et les comportements pour une extension fonctionnelle
- ☁ ️ plusieurs modèles, y compris Llama, OpenAI Grok Anthropic, etc.
- 📦 simple et facile à utiliser

Que pouvez-vous faire avec Eliza?

- 🤖 le chatbot
- 🕵 ️ Agents autonomes
- 📈 processus métier pour automatiser le traitement
- 🎮 jeux PNJ

# commencez à utiliser

**pré-requis (obligatoire) :**

- [Node.js 22+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- installation Nodejs
- [pnpm](https://pnpm.io/installation)
- travailler avec PNPM

### éditer le fichier.env

- copiez.env.example en.env et remplissez la valeur appropriée
- modifier l’environnement twitter et entrer votre compte twitter et mot de passe

### modifier les fichiers de rôles

- voir le document ` src/core/defaultCharacter ts ` - vous pouvez le modifier
- vous pouvez également utiliser `node --loader ts-node/esm src/index.ts --characters="path/to/your/character.json" ` et simultanément plusieurs robots.

Après avoir terminé la configuration des fichiers de compte et de rôle, lancez votre bot en tapant la ligne de commande suivante:


```
pnpm i
pnpm start
```

# personnalisez votre Eliza

### ajouter un comportement régulier

Pour éviter les conflits Git dans le répertoire core, nous vous recommandons d’ajouter les actions personnalisées dans le répertoire custom_actions et de les configurer dans le fichier elizaconfig.yaml. Vous pouvez consulter l’exemple dans le fichier elizaconfig.example.yaml.

## configurez différents grands modèles

### configurer Llama

Vous pouvez exécuter en définissant la variable d’environnement `XAI_MODEL` à `meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo` ou `meta-llama/Meta-Llama-3.1-405B-Instruct` Llama 70B ou 405B modèle

### configurer OpenAI

Vous pouvez exécuter le modèle OpenAI en définissant la variable d’environnement `XAI_MODEL` à `gpt-4o-mini` ou `gpt-4o`

## autres demandes

Vous devrez peut-être installer Sharp. Si vous voyez une erreur au démarrage, essayez d’installer avec la commande suivante:

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

# paramètres de l’environnement

Vous devez ajouter des variables d’environnement à votre fichier.env pour vous connecter à différentes plates-formes:

```
# Required environment variables
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
# ELEVENLABS SETTINGS
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
TWITTER_COOKIES= # Account cookies
X_SERVER_URL=
XAI_API_KEY=
XAI_MODEL=
# For asking Claude stuff
ANTHROPIC_API_KEY=
WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_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=
```

# paramètres locaux

### ensemble CUDA

Si vous avez une carte graphique nvidia haute performance, vous pouvez faire l’accélération locale avec la ligne de commande suivante CUDA

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

Assurez-vous d’avoir le kit complet CUDA installé, y compris cuDNN et cuBLAS

### exécution locale

Ajoutez XAI_MODEL et définissez-le à l’une des options ci-dessus [use Llama run](#run-with-llama)
Vous pouvez laisser X_SERVER_URL et XAI_API_KEY vides, qui téléchargera le modèle de huggingface et le consultera localement

# le client

Pour savoir comment configurer votre bot discord, vous pouvez consulter la documentation officielle de discord

# le développement

## le test

Ligne de commande pour plusieurs méthodes de test:

```bash
pnpm test # Run tests once
pnpm test:watch # Run tests in watch mode
```

Pour les tests spécifiques à la base de données:

```bash
pnpm test:sqlite # Run tests with SQLite
pnpm test:sqljs # Run tests with SQL.js
```

Les tests sont écrits en Jest et se trouvent dans le fichier SRC /\*_/_.test.ts. L’environnement de test est configuré comme suit:

- chargement des variables d’environnement de.env.test
- utilisez un temps d’attente de 2 minutes pour exécuter des tests de longue durée
- support du module ESM
- exécuter les tests dans l’ordre (--runInBand)

Pour créer un nouveau test, ajoutez un fichier.test.ts à côté du code à tester.
174 changes: 174 additions & 0 deletions README_JA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Eliza

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

## 機能

- 🛠 Discord、Twitter、Telegramのフル機能コネクタ
- 👥 マルチエージェントおよびルームサポート
- 📚 ドキュメントの簡単な取り込みと対話
- 💾 検索可能なメモリおよびドキュメントストア
- 🚀 高い拡張性 - 機能を拡張するための独自のアクションとクライアントを作成可能
- ☁️ Llama、OpenAI、Anthropic、Groqなど、多くのモデルをサポート
- 📦 すぐに使える!

## 何に使えるのか?

- 🤖 チャットボット
- 🕵️ 自律エージェント
- 📈 ビジネスプロセスの処理
- 🎮 ビデオゲームのNPC

# 始め方

**必須条件:**

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

### .envファイルの編集

- .env.exampleを.envにコピーし、適切な値を入力
- TWITTER環境変数を編集して、ボットのユーザー名とパスワードを追加

### キャラクターファイルの編集

- `src/core/defaultCharacter.ts`ファイルを確認 - これを変更可能
- `pnpm start --characters="path/to/your/character.json"`を使用してキャラクターをロードし、複数のボットを同時に実行可能

.envファイルとキャラクターファイルを設定した後、以下のコマンドでボットを起動可能:

```
pnpm i
pnpm start
```

# Elizaのカスタマイズ

### カスタムアクションの追加

コアディレクトリでのGitの競合を避けるために、カスタムアクションを`custom_actions`ディレクトリに追加し、それを`elizaConfig.yaml`ファイルに追加することをお勧めします。例については`elizaConfig.example.yaml`ファイルを参照してください。

## 異なるモデルでの実行

### Llamaでの実行

`XAI_MODEL`環境変数を`meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo`または`meta-llama/Meta-Llama-3.1-405B-Instruct`に設定することで、Llama 70Bまたは405Bモデルを実行可能

### Grokでの実行

`XAI_MODEL`環境変数を`grok-beta`に設定することで、Grokモデルを実行可能

### OpenAIでの実行

`XAI_MODEL`環境変数を`gpt-4o-mini`または`gpt-4o`に設定することで、OpenAIモデルを実行可能

## 追加の要件

Sharpをインストールする必要があるかもしれません。起動時にエラーが表示された場合は、以下のコマンドでインストールを試みてください:

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

# 環境設定

���まざまなプラットフォームに接続するために、.envファイルに環境変数を追加する必要があります:

```
# 必須環境変数
DISCORD_APPLICATION_ID=
DISCORD_API_TOKEN= # ボットトークン
OPENAI_API_KEY=sk-* # OpenAI APIキー、sk-で始まる
ELEVENLABS_XI_API_KEY= # elevenlabsからのAPIキー
# 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= # アカウントのユーザー名
TWITTER_PASSWORD= # アカウントのパスワード
TWITTER_EMAIL= # アカウントのメール
TWITTER_COOKIES= # アカウントのクッキー
X_SERVER_URL=
XAI_API_KEY=
XAI_MODEL=
# Claudeに質問するため
ANTHROPIC_API_KEY=
WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_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=
```

# ローカル推論設定

### CUDA設定

NVIDIA GPUを持っている場合、CUDAをインストールしてローカル推論を大幅に高速化可能

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

CUDA Toolkit、cuDNN、cuBLASをインストールしていることを確認してください。

### ローカルでの実行

XAI_MODELを追加し、[Llamaでの実行](#run-with-llama)のオプションのいずれかに設定 - X_SERVER_URLとXAI_API_KEYを空白のままにしておくと、huggingfaceからモデルをダウンロードし、ローカルでクエリを実行します。

# クライアント

## Discordボット

Discordボットの設定に関するヘルプについては、こちらを参照してください: https://discordjs.guide/preparations/setting-up-a-bot-application.html

# 開発

## テスト

テストスイートを実行するには:

```bash
pnpm test # テストを一度実行
pnpm test:watch # ウォッチモードでテストを実行
```

データベース固有のテストの場合:

```bash
pnpm test:sqlite # SQLiteでテストを実行
pnpm test:sqljs # SQL.jsでテストを実行
```

テストはJestを使用して記述されており、`src/**/*.test.ts`ファイルにあります。テスト環境は次のように構成されています:

- `.env.test`から環境変数をロード
- 長時間実行されるテストのために2分のタイムアウトを使用
- ESMモジュールをサポート
- テストを順番に実行 (--runInBand)

新しいテストを作成するには、テストするコードの隣に`.test.ts`ファイルを追加します。
Loading

0 comments on commit 46a913e

Please sign in to comment.