Skip to content

Commit 06d7c74

Browse files
authored
Merge pull request #1 from ai16z/main
Pull Upstream
2 parents ad6f439 + 8805eb4 commit 06d7c74

File tree

188 files changed

+2756
-12150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+2756
-12150
lines changed

.env.example

+3
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ X_SERVER_URL=
2929
XAI_API_KEY=
3030
XAI_MODEL=
3131

32+
#USE IMAGE GEN
33+
IMAGE_GEN= #TRUE
34+
3235
#Leave blank to use local embeddings
3336
USE_OPENAI_EMBEDDING= #TRUE
3437

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,5 @@ characters/
3838

3939
packages/core/src/providers/cache
4040
packages/core/src/providers/cache/*
41-
cache/*
41+
cache/*
42+
packages/core/cache/*

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
<img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />
44

55
### [For Chinese Version: 中文说明](./README_CN.md)
6+
### [For Japanese Version: 日本語の説明](./README_JA.md)
7+
### [For Korean Version: 한국어 설명](./README_KOR.md)
8+
### [For French Version: Instructions en français](./README_FR.md)
69

710
## Features
811

@@ -26,7 +29,7 @@
2629
**Prerequisites (MUST):**
2730

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

3235
### Edit the .env file

README_CN.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

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

26-
- [Node.js 22+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
26+
- [Node.js 23+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
2727
- Nodejs安装
2828
- [pnpm](https://pnpm.io/installation)
2929
- 使用pnpm

README_FR.md

+172
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
# Eliza
2+
3+
<img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />
4+
5+
## la fonctionnalité
6+
7+
- 🛠 soutenir la connexion discord/ twitter /telegram
8+
- 👥 soutien aux agents multimodaux
9+
- 📚 simple à importer des documents et interagir avec les documents
10+
- mémoire et stockage des documents accessibles
11+
- 🚀 haute scalabilité, vous pouvez personnaliser les clients et les comportements pour une extension fonctionnelle
12+
- ☁ ️ plusieurs modèles, y compris Llama, OpenAI Grok Anthropic, etc.
13+
- 📦 simple et facile à utiliser
14+
15+
Que pouvez-vous faire avec Eliza?
16+
17+
- 🤖 le chatbot
18+
- 🕵 ️ Agents autonomes
19+
- 📈 processus métier pour automatiser le traitement
20+
- 🎮 jeux PNJ
21+
22+
# commencez à utiliser
23+
24+
**pré-requis (obligatoire) :**
25+
26+
- [Node.js 22+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
27+
- installation Nodejs
28+
- [pnpm](https://pnpm.io/installation)
29+
- travailler avec PNPM
30+
31+
### éditer le fichier.env
32+
33+
- copiez.env.example en.env et remplissez la valeur appropriée
34+
- modifier l’environnement twitter et entrer votre compte twitter et mot de passe
35+
36+
### modifier les fichiers de rôles
37+
38+
- voir le document ` src/core/defaultCharacter ts ` - vous pouvez le modifier
39+
- vous pouvez également utiliser `node --loader ts-node/esm src/index.ts --characters="path/to/your/character.json" ` et simultanément plusieurs robots.
40+
41+
Après avoir terminé la configuration des fichiers de compte et de rôle, lancez votre bot en tapant la ligne de commande suivante:
42+
43+
44+
```
45+
pnpm i
46+
pnpm start
47+
```
48+
49+
# personnalisez votre Eliza
50+
51+
### ajouter un comportement régulier
52+
53+
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.
54+
55+
## configurez différents grands modèles
56+
57+
### configurer Llama
58+
59+
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
60+
61+
### configurer OpenAI
62+
63+
Vous pouvez exécuter le modèle OpenAI en définissant la variable d’environnement `XAI_MODEL` à `gpt-4o-mini` ou `gpt-4o`
64+
65+
## autres demandes
66+
67+
Vous devrez peut-être installer Sharp. Si vous voyez une erreur au démarrage, essayez d’installer avec la commande suivante:
68+
69+
```
70+
pnpm install --include=optional sharp
71+
```
72+
73+
# paramètres de l’environnement
74+
75+
Vous devez ajouter des variables d’environnement à votre fichier.env pour vous connecter à différentes plates-formes:
76+
77+
```
78+
# Required environment variables
79+
DISCORD_APPLICATION_ID=
80+
DISCORD_API_TOKEN= # Bot token
81+
OPENAI_API_KEY=sk-* # OpenAI API key, starting with sk-
82+
ELEVENLABS_XI_API_KEY= # API key from elevenlabs
83+
84+
# ELEVENLABS SETTINGS
85+
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
86+
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
87+
ELEVENLABS_VOICE_STABILITY=0.5
88+
ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9
89+
ELEVENLABS_VOICE_STYLE=0.66
90+
ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false
91+
ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4
92+
ELEVENLABS_OUTPUT_FORMAT=pcm_16000
93+
94+
TWITTER_DRY_RUN=false
95+
TWITTER_USERNAME= # Account username
96+
TWITTER_PASSWORD= # Account password
97+
TWITTER_EMAIL= # Account email
98+
TWITTER_COOKIES= # Account cookies
99+
100+
X_SERVER_URL=
101+
XAI_API_KEY=
102+
XAI_MODEL=
103+
104+
105+
# For asking Claude stuff
106+
ANTHROPIC_API_KEY=
107+
108+
WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY
109+
WALLET_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY
110+
111+
BIRDEYE_API_KEY=
112+
113+
SOL_ADDRESS=So11111111111111111111111111111111111111112
114+
SLIPPAGE=1
115+
RPC_URL=https://api.mainnet-beta.solana.com
116+
HELIUS_API_KEY=
117+
118+
119+
## Telegram
120+
TELEGRAM_BOT_TOKEN=
121+
122+
TOGETHER_API_KEY=
123+
```
124+
125+
# paramètres locaux
126+
127+
### ensemble CUDA
128+
129+
Si vous avez une carte graphique nvidia haute performance, vous pouvez faire l’accélération locale avec la ligne de commande suivante CUDA
130+
131+
```
132+
pnpm install
133+
npx --no node-llama-cpp source download --gpu cuda
134+
```
135+
136+
Assurez-vous d’avoir le kit complet CUDA installé, y compris cuDNN et cuBLAS
137+
138+
### exécution locale
139+
140+
Ajoutez XAI_MODEL et définissez-le à l’une des options ci-dessus [use Llama run](#run-with-llama)
141+
Vous pouvez laisser X_SERVER_URL et XAI_API_KEY vides, qui téléchargera le modèle de huggingface et le consultera localement
142+
143+
# le client
144+
145+
Pour savoir comment configurer votre bot discord, vous pouvez consulter la documentation officielle de discord
146+
147+
# le développement
148+
149+
## le test
150+
151+
Ligne de commande pour plusieurs méthodes de test:
152+
153+
```bash
154+
pnpm test # Run tests once
155+
pnpm test:watch # Run tests in watch mode
156+
```
157+
158+
Pour les tests spécifiques à la base de données:
159+
160+
```bash
161+
pnpm test:sqlite # Run tests with SQLite
162+
pnpm test:sqljs # Run tests with SQL.js
163+
```
164+
165+
Les tests sont écrits en Jest et se trouvent dans le fichier SRC /\*_/_.test.ts. L’environnement de test est configuré comme suit:
166+
167+
- chargement des variables d’environnement de.env.test
168+
- utilisez un temps d’attente de 2 minutes pour exécuter des tests de longue durée
169+
- support du module ESM
170+
- exécuter les tests dans l’ordre (--runInBand)
171+
172+
Pour créer un nouveau test, ajoutez un fichier.test.ts à côté du code à tester.

README_JA.md

+174
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
# Eliza
2+
3+
<img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" />
4+
5+
## 機能
6+
7+
- 🛠 Discord、Twitter、Telegramのフル機能コネクタ
8+
- 👥 マルチエージェントおよびルームサポート
9+
- 📚 ドキュメントの簡単な取り込みと対話
10+
- 💾 検索可能なメモリおよびドキュメントストア
11+
- 🚀 高い拡張性 - 機能を拡張するための独自のアクションとクライアントを作成可能
12+
- ☁️ Llama、OpenAI、Anthropic、Groqなど、多くのモデルをサポート
13+
- 📦 すぐに使える!
14+
15+
## 何に使えるのか?
16+
17+
- 🤖 チャットボット
18+
- 🕵️ 自律エージェント
19+
- 📈 ビジネスプロセスの処理
20+
- 🎮 ビデオゲームのNPC
21+
22+
# 始め方
23+
24+
**必須条件:**
25+
26+
- [Node.js 22+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
27+
- [pnpm](https://pnpm.io/installation)
28+
29+
### .envファイルの編集
30+
31+
- .env.exampleを.envにコピーし、適切な値を入力
32+
- TWITTER環境変数を編集して、ボットのユーザー名とパスワードを追加
33+
34+
### キャラクターファイルの編集
35+
36+
- `src/core/defaultCharacter.ts`ファイルを確認 - これを変更可能
37+
- `pnpm start --characters="path/to/your/character.json"`を使用してキャラクターをロードし、複数のボットを同時に実行可能
38+
39+
.envファイルとキャラクターファイルを設定した後、以下のコマンドでボットを起動可能:
40+
41+
```
42+
pnpm i
43+
pnpm start
44+
```
45+
46+
# Elizaのカスタマイズ
47+
48+
### カスタムアクションの追加
49+
50+
コアディレクトリでのGitの競合を避けるために、カスタムアクションを`custom_actions`ディレクトリに追加し、それを`elizaConfig.yaml`ファイルに追加することをお勧めします。例については`elizaConfig.example.yaml`ファイルを参照してください。
51+
52+
## 異なるモデルでの実行
53+
54+
### Llamaでの実行
55+
56+
`XAI_MODEL`環境変数を`meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo`または`meta-llama/Meta-Llama-3.1-405B-Instruct`に設定することで、Llama 70Bまたは405Bモデルを実行可能
57+
58+
### Grokでの実行
59+
60+
`XAI_MODEL`環境変数を`grok-beta`に設定することで、Grokモデルを実行可能
61+
62+
### OpenAIでの実行
63+
64+
`XAI_MODEL`環境変数を`gpt-4o-mini`または`gpt-4o`に設定することで、OpenAIモデルを実行可能
65+
66+
## 追加の要件
67+
68+
Sharpをインストールする必要があるかもしれません。起動時にエラーが表示された場合は、以下のコマンドでインストールを試みてください:
69+
70+
```
71+
pnpm install --include=optional sharp
72+
```
73+
74+
# 環境設定
75+
76+
���まざまなプラットフォームに接続するために、.envファイルに環境変数を追加する必要があります:
77+
78+
```
79+
# 必須環境変数
80+
DISCORD_APPLICATION_ID=
81+
DISCORD_API_TOKEN= # ボットトークン
82+
OPENAI_API_KEY=sk-* # OpenAI APIキー、sk-で始まる
83+
ELEVENLABS_XI_API_KEY= # elevenlabsからのAPIキー
84+
85+
# ELEVENLABS設定
86+
ELEVENLABS_MODEL_ID=eleven_multilingual_v2
87+
ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
88+
ELEVENLABS_VOICE_STABILITY=0.5
89+
ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9
90+
ELEVENLABS_VOICE_STYLE=0.66
91+
ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false
92+
ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4
93+
ELEVENLABS_OUTPUT_FORMAT=pcm_16000
94+
95+
TWITTER_DRY_RUN=false
96+
TWITTER_USERNAME= # アカウントのユーザー名
97+
TWITTER_PASSWORD= # アカウントのパスワード
98+
TWITTER_EMAIL= # アカウントのメール
99+
TWITTER_COOKIES= # アカウントのクッキー
100+
101+
X_SERVER_URL=
102+
XAI_API_KEY=
103+
XAI_MODEL=
104+
105+
106+
# Claudeに質問するため
107+
ANTHROPIC_API_KEY=
108+
109+
WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY
110+
WALLET_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY
111+
112+
BIRDEYE_API_KEY=
113+
114+
SOL_ADDRESS=So11111111111111111111111111111111111111112
115+
SLIPPAGE=1
116+
RPC_URL=https://api.mainnet-beta.solana.com
117+
HELIUS_API_KEY=
118+
119+
120+
## Telegram
121+
TELEGRAM_BOT_TOKEN=
122+
123+
TOGETHER_API_KEY=
124+
```
125+
126+
# ローカル推論設定
127+
128+
### CUDA設定
129+
130+
NVIDIA GPUを持っている場合、CUDAをインストールしてローカル推論を大幅に高速化可能
131+
132+
```
133+
pnpm install
134+
npx --no node-llama-cpp source download --gpu cuda
135+
```
136+
137+
CUDA Toolkit、cuDNN、cuBLASをインストールしていることを確認してください。
138+
139+
### ローカルでの実行
140+
141+
XAI_MODELを追加し、[Llamaでの実行](#run-with-llama)のオプションのいずれかに設定 - X_SERVER_URLとXAI_API_KEYを空白のままにしておくと、huggingfaceからモデルをダウンロードし、ローカルでクエリを実行します。
142+
143+
# クライアント
144+
145+
## Discordボット
146+
147+
Discordボットの設定に関するヘルプについては、こちらを参照してください: https://discordjs.guide/preparations/setting-up-a-bot-application.html
148+
149+
# 開発
150+
151+
## テスト
152+
153+
テストスイートを実行するには:
154+
155+
```bash
156+
pnpm test # テストを一度実行
157+
pnpm test:watch # ウォッチモードでテストを実行
158+
```
159+
160+
データベース固有のテストの場合:
161+
162+
```bash
163+
pnpm test:sqlite # SQLiteでテストを実行
164+
pnpm test:sqljs # SQL.jsでテストを実行
165+
```
166+
167+
テストはJestを使用して記述されており、`src/**/*.test.ts`ファイルにあります。テスト環境は次のように構成されています:
168+
169+
- `.env.test`から環境変数をロード
170+
- 長時間実行されるテストのために2分のタイムアウトを使用
171+
- ESMモジュールをサポート
172+
- テストを順番に実行 (--runInBand)
173+
174+
新しいテストを作成するには、テストするコードの隣に`.test.ts`ファイルを追加します。

0 commit comments

Comments
 (0)