|
1 |
| -# Eliza |
| 1 | +# Eliza 🤖 |
2 | 2 |
|
3 |
| -<img src="./docs/static/img/eliza_banner.jpg" alt="eliza banner" width="100%"/> |
| 3 | +<div align="center"> |
| 4 | + <img src="./docs/static/img/eliza_banner.jpg" alt="Eliza Banner" width="100%" /> |
| 5 | +</div> |
4 | 6 |
|
5 |
| -## 기능 |
| 7 | +<div align="center"> |
| 8 | + |
| 9 | + 📖 [문서](https://ai16z.github.io/eliza/) | 🎯 [예시](https://github.com/thejoven/awesome-eliza) |
| 10 | + |
| 11 | +</div> |
| 12 | + |
| 13 | +## ✨ 기능 |
6 | 14 |
|
7 | 15 | - 🛠 SNS 지원: 디스코드, 트위터, 텔레그램 모두 지원됩니다.
|
| 16 | +- 🔗 다양한 모델 지원 (Llama, Grok, OpenAI, Anthropic 등) |
8 | 17 | - 👥 다중 지원: 다중 에이전트 및 채팅방이 지원됩니다.
|
9 | 18 | - 📚 높은 유연성: 개발자가 쉽게 데이터를 추가하고, 이를 활용해 다양한 기능을 만들 수 있습니다.
|
10 | 19 | - 💾 검색 지원: 당신의 데이터와 작업을 쉽게 찾아볼 수 있도록, 검색 기능을 지원합니다.
|
11 | 20 | - 🚀 높은 확장성: 자신의 동작과 클라이언트를 만들어 기능을 확장할 수 있습니다.
|
12 | 21 | - ☁️ 다양한 AI 모델 지원: local Llama, OpenAI, Anthropic, Groq 등 다양한 AI 모델을 지원합니다
|
13 | 22 | - 📦 즐겁게 개발해 봐요!
|
14 | 23 |
|
15 |
| -## eliza로 어떤걸 만들 수 있을까요? |
| 24 | +## 🎯 eliza로 어떤걸 만들 수 있을까요? |
16 | 25 |
|
17 | 26 | - 🤖 챗봇 개발
|
18 | 27 | - 🕵 ️AI가 자율적으로 결과를 만들어줘요!
|
19 | 28 | - 📈 업무처리 자동화
|
20 | 29 | - 🎮 비디오 게임 NPC
|
| 30 | +- 🧠 트레이딩 |
21 | 31 |
|
22 |
| -# 사용시작 |
| 32 | +## 🚀 빠른 시작 |
23 | 33 |
|
24 |
| -**필수 요구사항:** |
| 34 | +### 필수 요구사항: |
25 | 35 |
|
26 | 36 | - [Python 2.7+](https://www.python.org/downloads/)
|
27 | 37 | - [Node.js 23.3+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
|
28 | 38 | - [pnpm](https://pnpm.io/installation)
|
29 | 39 |
|
30 |
| -## .env 파일 편집 |
| 40 | +> **Windows 사용자 참고:** [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual) 필요. |
31 | 41 |
|
32 |
| -- .env.example을 복사해서 필요한 값들을 채워넣어 .env파일을 만드세요. |
33 |
| -- 트위터 환경변수 값을 채워, 봇의 트위터 사용자 이름과 비밀번호를 설정하세요. |
| 42 | +### Starter 사용 (권장) |
34 | 43 |
|
35 |
| -## character file 편집 |
36 |
| - |
37 |
| -- 캐릭터 파일 경로: `src/core/defaultCharacter.ts ` - 캐릭터 파일을 필요에 맞게 수정하세요. |
38 |
| -- 동시 실행 지원: `pnpm start --characters="path/to/your/character.json"` - 다음의 명령어를 사용하면, 여러 캐릭터 파일을 한번에 불러와, 다양한 봇을 동시에 실행 시킬 수 있습니다. |
| 44 | +```bash |
| 45 | +git clone https://github.com/ai16z/eliza-starter.git |
39 | 46 |
|
40 |
| -모두 설정하셨으면, 아래의 커맨드를 입력하여 로봇을 실행시켜주세요: |
| 47 | +cp .env.example .env |
41 | 48 |
|
| 49 | +pnpm i && pnpm start |
42 | 50 | ```
|
43 |
| -pnpm i |
44 |
| -pnpm start |
45 |
| -``` |
46 |
| - |
47 |
| -# Eliza 커스텀하기 |
48 |
| - |
49 |
| -### 커스텀 기능 추가하기 |
50 |
| - |
51 |
| -메인 디렉토리의 git 충돌을 방지하기 위해 커스텀 동작은 `custom_actions` 디렉토리에 추가하신 후, 추가하신 내용을 `elizaConfig.yaml` 파일에 작성하세요. `elizaConfig.example.yaml` 파일에 예시가 있습니다. |
52 | 51 |
|
53 |
| -### AI 모델 실행 방법 |
| 52 | +[문서](https://ai16z.github.io/eliza/)를 참고하여 Eliza를 커스마이징 방법을 확인하세요. |
54 | 53 |
|
55 |
| -### Run with Llama |
| 54 | +### 직접 실행하기 (경험자만 권장) |
56 | 55 |
|
57 |
| -`XAI_MODEL`환경 변수를`meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo` 또는 `meta-llama/Meta-Llama-3.1-405B-Instruct`로 설정하여 Llama 70B 혹은 405B 모델을 실행시킬 수 있습니다. |
58 |
| - |
59 |
| -### Run with Grok |
| 56 | +```bash |
| 57 | +# 리포지토리 클론 |
| 58 | +git clone https://github.com/ai16z/eliza.git |
60 | 59 |
|
61 |
| -`XAI_MODEL` 환경변수를 `grok-beta`로 설정하여 Grok 모델을 실행시킬 수 있습니다. |
| 60 | +# 최신 릴리스로 체크아웃 |
| 61 | +# 프로젝트가 빠르게 수정되므로 최신 릴리스를 체크아웃하는 것을 권장합니다. |
| 62 | +git checkout $(git describe --tags --abbrev=0) |
| 63 | +``` |
62 | 64 |
|
63 |
| -### Run with OpenAI |
| 65 | +### Gitpod로 Eliza 시작 |
64 | 66 |
|
65 |
| -`XAI_MODEL` 환경변수를 `gpt-4o-mini` 혹은 `gpt-4o` 로 설정하여, OpenAI model을 실행시킬 수 있습니다. |
| 67 | +[](https://gitpod.io/#https://github.com/ai16z/eliza/tree/main) |
66 | 68 |
|
67 |
| -## 기타 요구 사항 |
| 69 | +### .env 파일 편집 |
68 | 70 |
|
69 |
| -시작시 오류가 발견되면, 아래의 명령어로 Sharp를 설치해보세요: |
| 71 | +.env.example을 복사해서 필요한 값들을 채워넣어 .env파일을 만드세요. |
70 | 72 |
|
71 | 73 | ```
|
72 |
| -pnpm install --include=optional sharp |
| 74 | +cp .env.example .env |
73 | 75 | ```
|
74 | 76 |
|
75 |
| -# 환경 셋업 |
| 77 | +참고: .env는 선택 사항입니다. 여러 개의 에이전트를 실행하려는 경우, 캐릭터 JSON 파일을 통해 비밀 변수를 전달할 수 있습니다. |
76 | 78 |
|
77 |
| -다양한 플랫폼에 연결하기 위해 .env 파일에 다음의 환경 변수들을 채워 넣어야 합니다: |
| 79 | +### Eliza 자동 시작 |
78 | 80 |
|
| 81 | +아래 명령은 프로젝트를 설정하고 기본 캐릭터와 함께 봇을 시작합니다. |
| 82 | +```bash |
| 83 | +sh scripts/start.sh |
79 | 84 | ```
|
80 |
| -# Required environment variables |
81 |
| -DISCORD_APPLICATION_ID= |
82 |
| -DISCORD_API_TOKEN= # Bot token |
83 |
| -OPENAI_API_KEY=sk-* # OpenAI API key, starting with sk- |
84 |
| -ELEVENLABS_XI_API_KEY= # API key from elevenlabs |
85 |
| -GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key |
86 |
| -
|
87 |
| -# ELEVENLABS SETTINGS |
88 |
| -ELEVENLABS_MODEL_ID=eleven_multilingual_v2 |
89 |
| -ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM |
90 |
| -ELEVENLABS_VOICE_STABILITY=0.5 |
91 |
| -ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9 |
92 |
| -ELEVENLABS_VOICE_STYLE=0.66 |
93 |
| -ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false |
94 |
| -ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4 |
95 |
| -ELEVENLABS_OUTPUT_FORMAT=pcm_16000 |
96 |
| -
|
97 |
| -TWITTER_DRY_RUN=false |
98 |
| -TWITTER_USERNAME= # Account username |
99 |
| -TWITTER_PASSWORD= # Account password |
100 |
| -TWITTER_EMAIL= # Account email |
101 |
| -TWITTER_COOKIES= # Account cookies |
102 |
| -
|
103 |
| -X_SERVER_URL= |
104 |
| -XAI_API_KEY= |
105 |
| -XAI_MODEL= |
106 |
| -
|
107 |
| -
|
108 |
| -# For asking Claude stuff |
109 |
| -ANTHROPIC_API_KEY= |
110 | 85 |
|
111 |
| -# EVM |
112 |
| -EVM_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY |
| 86 | +### character file 편집 |
113 | 87 |
|
114 |
| -# Solana |
115 |
| -SOLANA_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY |
116 |
| -SOLANA_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY |
| 88 | +1. `agent/src/character.ts`를 열어 기본 캐릭터를 수정하세요. 주석을 해제하고 수정하시면 됩니다. |
117 | 89 |
|
118 |
| -# Fallback Wallet Configuration (deprecated) |
119 |
| -WALLET_PRIVATE_KEY=EXAMPLE_WALLET_PRIVATE_KEY |
120 |
| -WALLET_PUBLIC_KEY=EXAMPLE_WALLET_PUBLIC_KEY |
| 90 | +2. 커스텀 캐릭터 로드하기: |
| 91 | + - `pnpm start --characters="path/to/your/character.json"`을 사용합니다. |
| 92 | + - 여러 캐릭터 파일을 동시에 로드할 수 있습니다. |
| 93 | +3. X (Twitter) 연결: |
| 94 | + - 캐릭터 파일에서 `"clients": []`를 `"clients": ["twitter"]`로 변경합니다. |
121 | 95 |
|
122 |
| -BIRDEYE_API_KEY= |
| 96 | +### Eliza 수동 시작 |
123 | 97 |
|
124 |
| -SOL_ADDRESS=So11111111111111111111111111111111111111112 |
125 |
| -SLIPPAGE=1 |
126 |
| -RPC_URL=https://api.mainnet-beta.solana.com |
127 |
| -HELIUS_API_KEY= |
128 |
| -
|
129 |
| -
|
130 |
| -## Telegram |
131 |
| -TELEGRAM_BOT_TOKEN= |
| 98 | +```bash |
| 99 | +pnpm i |
| 100 | +pnpm build |
| 101 | +pnpm start |
132 | 102 |
|
133 |
| -TOGETHER_API_KEY= |
| 103 | +# 프로젝트가 빠르게 수정되므로 프로젝트를 clean해야 할 수도 있습니다. |
| 104 | +pnpm clean |
134 | 105 | ```
|
135 | 106 |
|
136 |
| -# 로컬 인터페이스 설정 |
| 107 | +#### 추가 요구 사항 |
137 | 108 |
|
138 |
| -### CUDA 셋업 |
139 |
| - |
140 |
| -고성능 NVIDIA GPU를 가지고 있는 분들은, CUDA 를 설치하시면 당신의 로컬 인터페이스를 놀랍도록 가속 시킬 수 있습니다. |
| 109 | +시작 시 에러가 발생하면 Sharp를 설치해야 할 수 있습니다. 아래 명령어를 사용하여 설치하세요: |
141 | 110 |
|
142 | 111 | ```
|
143 |
| -pnpm install |
144 |
| -npx --no node-llama-cpp source download --gpu cuda |
| 112 | +pnpm install --include=optional sharp |
145 | 113 | ```
|
146 | 114 |
|
147 |
| -설치 후에는 당신의 CUDA Toolkit에 cuDNN and cuBLAS 이 포함되었는지 다시 한번 확인하세요. |
148 |
| - |
149 |
| -### 로컬 실행 |
150 |
| - |
151 |
| -다음 중 한가지 옵션을 선택하여 XAI_MODEL 을 추가하세요. [Run with |
152 |
| -Llama](#run-with-llama) - X_SERVER_URL 와 XAI_API_KEY 는 비워둬도 됩니다. |
153 |
| -이 파일을 통해 huggingface 에서 모델이 다운로드 되며, 로컬로 쿼리 됩니다. |
154 |
| - |
155 |
| -# 클라이언트 |
| 115 | +### Community & contact |
156 | 116 |
|
157 |
| -## Discord Bot |
| 117 | +- [깃헙 이슈](https://github.com/ai16z/eliza/issues). 용도: Eliza 사용 중 발견된 버그 리포트, 기능 제안. |
| 118 | +- [Discord](https://discord.gg/ai16z). 용도: 애플리케이션 공유 및 커뮤니티 활동. |
158 | 119 |
|
159 |
| -디스코드 봇을 세팅하는 방법을 알고싶으면 아래의 링크를 통해 확인하세요: |
160 |
| -https://discordjs.guide/preparations/setting-up-a-bot-application.html |
161 |
| - |
162 |
| -# 개발하기 |
163 |
| - |
164 |
| -## 테스트 방법 |
165 |
| - |
166 |
| -일반 테스트에 적합한 커맨드: |
167 |
| - |
168 |
| -```bash |
169 |
| -pnpm test # Run tests once |
170 |
| -pnpm test:watch # Run tests in watch mode |
171 |
| -``` |
172 |
| - |
173 |
| -데이터베이스에 특화된 테스트 커맨드: |
174 |
| - |
175 |
| -```bash |
176 |
| -pnpm test:sqlite # Run tests with SQLite |
177 |
| -pnpm test:sqljs # Run tests with SQL.js |
178 |
| -``` |
| 120 | +## 컨트리뷰터 |
179 | 121 |
|
180 |
| -테스트 결과는 Jest를 통해 작성되며, `src/**/*.test.ts` 파일에서 확인할 수 있습니다. |
181 |
| -테스트 환경 구성단계: |
| 122 | +<a href="https://github.com/ai16z/eliza/graphs/contributors"> |
| 123 | + <img src="https://contrib.rocks/image?repo=ai16z/eliza" /> |
| 124 | +</a> |
182 | 125 |
|
183 |
| -- `.env.test` 에서 환경변수가 불러와집니다. |
184 |
| -- 테스트 타임아웃 시간은 2분으로 설정되어있습니다. |
185 |
| -- ESM 모듈이 지원됩니다. |
186 |
| -- 순차적으로 테스트가 실행됩니다. (--runInBand) |
| 126 | +## 스타 기록 |
187 | 127 |
|
188 |
| -새 테스트를 만들려면, 테스트 중인 코드 옆에 `.test.ts` 파일을 추가하세요. |
| 128 | +[](https://star-history.com/#ai16z/eliza&Date) |
0 commit comments