Skip to content

Commit

Permalink
Merge branch 'main' into HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
guzus committed Dec 10, 2024
2 parents e4f2575 + 622000e commit 0ddc370
Show file tree
Hide file tree
Showing 86 changed files with 4,877 additions and 1,044 deletions.
47 changes: 35 additions & 12 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ DISCORD_VOICE_CHANNEL_ID= # The ID of the voice channel the bot should joi
# AI Model API Keys
# -----------------------------------
OPENAI_API_KEY= # OpenAI API key, starting with sk-
# Eternal AI's Decentralized Inference API
ETERNALAI_URL=
ETERNALAI_MODEL= # Default: "neuralmagic/Meta-Llama-3.1-405B-Instruct-quantized.w4a16"
ETERNALAI_API_KEY=
GROK_API_KEY= # GROK API Key
GROQ_API_KEY= # Starts with gsk_
Expand All @@ -18,6 +20,8 @@ GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key
ALI_BAILIAN_API_KEY= # Ali Bailian API Key
VOLENGINE_API_KEY= # VolEngine API Key

HYPERBOLIC_API_KEY= # Hyperbolic API Key

# -----------------------------------
# Speech Synthesis
# -----------------------------------
Expand Down Expand Up @@ -91,15 +95,23 @@ LARGE_OLLAMA_MODEL=hermes3:70b
# Google Configuration
# -----------------------------------
GOOGLE_MODEL=
SMALL_GOOGLE_MODEL=gemini-1.5-flash-latest
MEDIUM_GOOGLE_MODEL=gemini-1.5-flash-latest
LARGE_GOOGLE_MODEL=gemini-1.5-pro-latest
EMBEDDING_GOOGLE_MODEL=text-embedding-004
SMALL_GOOGLE_MODEL= # Default: gemini-1.5-flash-latest
MEDIUM_GOOGLE_MODEL= # Default: gemini-1.5-flash-latest
LARGE_GOOGLE_MODEL= # Default: gemini-1.5-pro-latest
EMBEDDING_GOOGLE_MODEL= # Default: text-embedding-004

# -----------------------------------
# Groq Configuration
# -----------------------------------
SMALL_GROQ_MODEL= # Default: llama-3.1-8b-instant
MEDIUM_GROQ_MODEL= # Default: llama-3.3-70b-versatile
LARGE_GROQ_MODEL= # Default: llama-3.2-90b-vision-preview
EMBEDDING_GROQ_MODEL= # Default: llama-3.1-8b-instant

# -----------------------------------
# LlamaLocal Configuration
# -----------------------------------
LLAMALOCAL_PATH= # Default: "" (current directory in plugin-node/dist/)
LLAMALOCAL_PATH= # Default: "" which is the current directory in plugin-node/dist/ which gets destroyed and recreated on every build

# -----------------------------------
# Additional API Keys
Expand All @@ -110,17 +122,28 @@ HEURIST_API_KEY= # Get from https://heurist.ai/dev-access
# -----------------------------------
# Heurist Models
# -----------------------------------
SMALL_HEURIST_LANGUAGE_MODEL=
MEDIUM_HEURIST_LANGUAGE_MODEL=
LARGE_HEURIST_LANGUAGE_MODEL=
HEURIST_IMAGE_MODEL=
SMALL_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct
MEDIUM_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct
LARGE_HEURIST_MODEL= # Default: meta-llama/llama-3.1-405b-instruct
HEURIST_IMAGE_MODEL= # Default: PepeXL

# -----------------------------------
# Gaianet Configuration
# -----------------------------------
GAIANET_MODEL=
GAIANET_SERVER_URL=

SMALL_GAIANET_MODEL= # Default: llama3b
SMALL_GAIANET_SERVER_URL= # Default: https://llama3b.gaia.domains/v1

MEDIUM_GAIANET_MODEL= # Default: llama
MEDIUM_GAIANET_SERVER_URL= # Default: https://llama8b.gaia.domains/v1

LARGE_GAIANET_MODEL= # Default: qwen72b
LARGE_GAIANET_SERVER_URL= # Default: https://qwen72b.gaia.domains/v1

GAIANET_EMBEDDING_MODEL=
USE_GAIANET_EMBEDDING= # Set to TRUE for GAIANET/768, leave blank for local

# -----------------------------------
# Blockchain Configurations
Expand Down Expand Up @@ -152,9 +175,7 @@ STARKNET_RPC_URL=
COINBASE_COMMERCE_KEY= # from coinbase developer portal
COINBASE_API_KEY= # from coinbase developer portal
COINBASE_PRIVATE_KEY= # from coinbase developer portal
# if not configured it will be generated and written to:
# runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_ID and
# runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_HEX_SEED
# if not configured it will be generated and written to runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_ID and runtime.character.settings.secrets.COINBASE_GENERATED_WALLET_HEX_SEED
COINBASE_GENERATED_WALLET_ID= # not your address but the wallet id from generating a wallet through the plugin
COINBASE_GENERATED_WALLET_HEX_SEED= # not your address but the wallet hex seed from generating a wallet through the plugin and calling export
# for webhook plugin the uri you want to send the webhook to for dummy ones use https://webhook.site
Expand Down Expand Up @@ -222,6 +243,8 @@ INTIFACE_WEBSOCKET_URL=ws://localhost:12345
FARCASTER_FID= # The FID associated with the account sending casts
FARCASTER_NEYNAR_API_KEY= # Neynar API key: https://neynar.com/
FARCASTER_NEYNAR_SIGNER_UUID= # Signer UUID for the account sending casts
FARCASTER_DRY_RUN=false # Set to true if you want to run the bot without actually publishing casts
FARCASTER_POLL_INTERVAL=120 # How often (in seconds) the bot should check for farcaster interactions (replies and mentions)

# -----------------------------------
# Galadriel Configuration
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@
</div>

<div align="center">

📖 [Documentation](https://ai16z.github.io/eliza/) | 🎯 [Examples](https://github.com/thejoven/awesome-eliza)

</div>

## 🌍 README Translations

[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Français](./README_FR.md) | [Português](./README_PTBR.md) | [Türkçe](./README_TR.md) | [Русский](./README_RU.md) | [Español](./README_ES.md) | [Italiano](./README_IT.md)
[中文说明](./README_CN.md) | [日本語の説明](./README_JA.md) | [한국어 설명](./README_KOR.md) | [Français](./README_FR.md) | [Português](./README_PTBR.md) | [Türkçe](./README_TR.md) | [Русский](./README_RU.md) | [Español](./README_ES.md) | [Italiano](./README_IT.md) | [ไทย](./README_TH.md)

## ✨ Features

Expand Down
2 changes: 1 addition & 1 deletion README_KOR.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ pnpm install --include=optional sharp

### Community & contact

- [깃헙 이슈](https://github.com/ai16z/eliza/issues). 용도: Eliza 사용 중 발견된 버그 리포트, 기능 제안.
- [Github Issues](https://github.com/ai16z/eliza/issues). 용도: Eliza 사용 중 발견된 버그 리포트, 기능 제안.
- [Discord](https://discord.gg/ai16z). 용도: 애플리케이션 공유 및 커뮤니티 활동.

## 컨트리뷰터
Expand Down
130 changes: 130 additions & 0 deletions README_TH.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
# Eliza (อีไลซ่า) 🤖

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

<div align="center">

📖 [คู่มือ](https://ai16z.github.io/eliza/) | 🎯 [ตัวอย่าง](https://github.com/thejoven/awesome-eliza)

</div>

## ✨ ฟีเจอร์

- 🛠️ สามารถเชื่อมต่อ Discord, Twitter และ Telegram ได้
- 🔗 ซัพพอร์ตครบทุกโมเดล (Llama, Grok, OpenAI, Anthropic, ฯลฯ)
- 👥 มัลติเอเจนต์และห้องสนทนา
- 📚 ง่ายต่อการดึงและเข้าถึงข้อมูลเอกสาร
- 💾 มีหน่วยความจำและที่จัดเก็บข้อมูล
- 🚀 ง่ายต่อการปรับแต่งไม่ว่าจะเป็นการสร้าง clients หรือกำหนด action
- ☁️ รองรับหลายโมเดล (local Llama, OpenAI, Anthropic, Groq, ฯลฯ)
- 📦 ครบเครื่องเรื่อง AI agent!

## 🎯 ตัวอย่างการนำไปใช้

- 🤖 แชทบอท
- 🕵️ เอเจนต์อิสระ (Autonomous Agent)
- 📈 จัดการฝั่งธุรกิจ
- 🎮 ตัวละครในเกมที่ไม่ใช่ผู้เล่น (NPC)
- 🧠 การเทรด

## 🚀 เริ่มต้นการใช้งาน

### สิ่งที่จำเป็นก่อนเริ่มใช้งาน

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

> **หมายเหตุสำหรับผู้ใช้ Windows:** จำเป็นต้องมี [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual)
### เริ่มใช้งานด้วยตัวอย่าง (แนะนำ)

```bash
git clone https://github.com/ai16z/eliza-starter.git

cp .env.example .env

pnpm i && pnpm start
```

จากนั้นอ่าน [คู่มือ](https://ai16z.github.io/eliza/) เพื่อศึกษาวิธีการปรับแต่ง Eliza

### เริ่มใช้งาน Eliza ด้วยตนเอง (แนะนำสำหรับคนที่มีประสบการณ์)

```bash
# โคลน repo
git clone https://github.com/ai16z/eliza.git

# Checkout release ล่าสุด
# โปรเจกต์นี้มีการอัปเดตอยู่บ่อยครั้ง เราแนะนำให้ checkout release ล่าสุดเสมอ
git checkout $(git describe --tags --abbrev=0)
```

### เริ่มใช้งาน Eliza ผ่าน Gitpod

[![เปิดใน Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/ai16z/eliza/tree/main)

### แก้ไขไฟล์ .env

คัดลอก .env.example ไปเป็น .env และระบุค่าที่เหมาะสม

```
cp .env.example .env
```

หมายเหตุ: ไม่จำเป็นต้องใช้ .env หากคุณอยากใช้งานเอเจนต์หลายๆตัวพร้อมกัน คุณสามารถส่ง secrets ผ่าน JSON ของตัวละครได้

### เริ่มใช้งาน Eliza แบบอัตโนมัติ

จะทำการติดตั้งโปรเจกต์ทั้งหมด และเริ่มต้น bot ด้วยตัวละครแบบค่าเริ่มต้น

```bash
sh scripts/start.sh
```

### แก้ไขไฟล์ตัวละคร

1. เปิด `agent/src/character.ts` เพื่อแก้ไขตัวละครเริ่มต้น นำคอมเม้นออกและเริ่มแก้ไข


2. การโหลดตัวละคร custom:
- ใช้ `pnpm start --characters="path/to/your/character.json"`
- สามารถโหลดหลายๆตัวละครพร้อมกันได้
3. เชื่อมต่อกับ X (Twitter)
- เปลี่ยน `"clients": []` เป็น `"clients": ["twitter"]` ในไฟล์ตัวละครเพื่อเชื่อมต่อกับ X (Twitter)

### เริ่มใช้งาน Eliza ด้วยตนเอง

```bash
pnpm i
pnpm build
pnpm start

# โปรเจกต์นี้มีการอัปเดตอยู่บ่อยครั้ง บางครั้งอาจต้องทำการ clean โปรเจกต์ถ้าหากกลับมาทำใหม่
pnpm clean
```

#### สิ่งที่จำเป็นเพิ่มเติม

คุณอาจต้องติดตั้ง Sharp ถ้าหากคุณเห็นข้อความ error เมื่อเริ่มต้น สามารถลองติดตั้งด้วยคำสั่งต่อไปนี้:

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

### ชุมชนและข้อมูลการติดต่อ

- [GitHub Issues](https://github.com/ai16z/eliza/issues). เหมาะสำหรับ: เมื่อปัญหาที่พบเมื่อใช้ Eliza และข้อเสนอแนะเกี่ยวกับฟีเจอร์เพิ่มเติม
- [Discord](https://discord.gg/ai16z). เหมาะสำหรับ: แชร์ผลงานแอปพลิเคชั่นและพบปะกับคอมมูนิตี้

## ผู้มีส่วนร่วม

<a href="https://github.com/ai16z/eliza/graphs/contributors">
<img src="https://contrib.rocks/image?repo=ai16z/eliza" />
</a>

## ประวัติดาว

[![Star History Chart](https://api.star-history.com/svg?repos=ai16z/eliza&type=Date)](https://star-history.com/#ai16z/eliza&Date)
8 changes: 7 additions & 1 deletion agent/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import {
tradePlugin,
tokenContractPlugin,
webhookPlugin,
advancedTradePlugin,
} from "@ai16z/plugin-coinbase";
import { confluxPlugin } from "@ai16z/plugin-conflux";
import { imageGenerationPlugin } from "@ai16z/plugin-image-generation";
Expand Down Expand Up @@ -269,6 +270,11 @@ export function getTokenForProvider(
character.settings?.secrets?.VOLENGINE_API_KEY ||
settings.VOLENGINE_API_KEY
);
case ModelProviderName.HYPERBOLIC:
return (
character.settings?.secrets?.HYPERBOLIC_API_KEY ||
settings.HYPERBOLIC_API_KEY
);
}
}

Expand Down Expand Up @@ -400,7 +406,7 @@ export function createAgent(
: null,
...(getSecret(character, "COINBASE_API_KEY") &&
getSecret(character, "COINBASE_PRIVATE_KEY")
? [coinbaseMassPaymentsPlugin, tradePlugin, tokenContractPlugin]
? [coinbaseMassPaymentsPlugin, tradePlugin, tokenContractPlugin, advancedTradePlugin]
: []),
getSecret(character, "COINBASE_API_KEY") &&
getSecret(character, "COINBASE_PRIVATE_KEY") &&
Expand Down
Loading

0 comments on commit 0ddc370

Please sign in to comment.