Skip to content

Commit

Permalink
Merge branch 'release/0.4.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Sunwood-ai-labs committed May 7, 2024
2 parents 69449c5 + db564fa commit 53fda02
Show file tree
Hide file tree
Showing 5 changed files with 131 additions and 9 deletions.
7 changes: 6 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,9 @@ AWS_REGION_NAME=us-west-2
AWS_DEFAULT_REGION=us-west-2
AWS_DEFAULT_OUTPUT=json

# ANTHROPIC_API_KEY=sk-ant-XXXXX
# ANTHROPIC_API_KEY=sk-ant-XXXXX

OLLAMA_BASE_URL=http://ollama:11434
WEBUI_SECRET_KEY=sk-1234
LITELLM_PROXY_HOST=0.0.0.0
OPEN_WEBUI_PORT=8080
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -159,4 +159,7 @@ cython_debug/
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

SourceSageAssets
SourceSageAssets

!data/ollama/.gitKeep
data/ollama
28 changes: 21 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
>[!IMPORTANT]
>このリポジトリは[SourceSage](https://github.com/Sunwood-ai-labs/SourceSage)を活用しており、リリースノートやREADME、コミットメッセージの9割は[SourceSage](https://github.com/Sunwood-ai-labs/SourceSage)[claude.ai](https://claude.ai/)で生成しています。

## 🌟 はじめに

MOA (Magic of AWS) は、初心者でも Docker を使って AWS CLI v2 を簡単に使えるようにすることを目的としたプロジェクトです。Docker を利用することで、AWS CLI がプリインストールされた独立した環境を作成でき、ローカルマシンの設定を変更する必要がなくなります。
Expand Down Expand Up @@ -62,14 +61,17 @@ AWS_REGION_NAME=your-preferred-region
AWS_DEFAULT_REGION=your-preferred-region
AWS_DEFAULT_OUTPUT=json
# Optionally add other API keys
# ANTHROPIC_API_KEY=your-anthropic-api-key
# GEMINI_API_KEY=your-gemini-api-key
# GOOGLE_API_KEY=your-google-api-key
OLLAMA_BASE_URL=http://ollama:11434
WEBUI_SECRET_KEY=sk-1234
LITELLM_PROXY_HOST=0.0.0.0
OPEN_WEBUI_PORT=8080
```

>[!IMPORTANT]
機密性の高い AWS 認証情報を誤ってコミットしないように、必ず `.env` ファイルを `.gitignore` に追加してください。
>.env.exampleファイルに新しい環境変数 `OLLAMA_BASE_URL`, `WEBUI_SECRET_KEY`, `LITELLM_PROXY_HOST`, `OPEN_WEBUI_PORT` が追加されました。APIキーの設定も更新されています。
>
>機密性の高い AWS 認証情報を誤ってコミットしないように、必ず `.env` ファイルを `.gitignore` に追加してください。

### 使い方

Expand All @@ -84,7 +86,7 @@ docker-compose up
3. コンテナが起動したら、次のコマンドを実行してコンテナ内で Bash シェルを開きます。

```bash
docker-compose run exec app /bin/bash
docker-compose exec app /bin/zsh
```

4. コンテナ内で、AWS CLI コマンドを使用できるようになりました。例えば、S3 バケットを作成してファイルをアップロードしてみましょう。
Expand All @@ -106,6 +108,17 @@ upload: ./.env_sample to s3://test-20210711/.env_sample
おめでとうございます!Docker コンテナ内で AWS CLI v2 を設定して使用することに成功しました。


## ollama webui

新しく `docker-compose.ollama.yml` ファイルが追加され、ollamaとwebuiサービスの詳細な構成が定義されました。
以下のコマンドでollamaのWebUIを起動できます。

```bash
docker-compose -f docker-compose.ollama.yml up
```

また、`config.yaml` ファイルに複数のモデル設定が追加されました。litellmの設定でモデルのAPIエンドポイントとキーを指定する方法が示され、各モデルについての詳細な設定情報が含まれています。

## 📚 サンプルスクリプト

AWS Bedrock やその他のサービスの使用例を示すサンプルスクリプトが `example` ディレクトリに含まれています。詳細については、[example/README.md](example/README.md) を参照してください。
Expand All @@ -125,6 +138,7 @@ AWS Bedrock やその他のサービスの使用例を示すサンプルスク
├── README.md # プロジェクトのドキュメント
├── app.py # メインアプリケーションファイル
├── docker-compose.yml # Docker Compose 設定
├── docker-compose.ollama.yml # ollama と webui の Docker Compose 設定
├── example/ # サンプルスクリプトディレクトリ
│ ├── 01_list_bedrock_models.py # Bedrock モデルの一覧を取得するサンプル
│ ├── 02_bedrock_text_generation.py # Bedrock を使用したテキスト生成のサンプル
Expand Down
52 changes: 52 additions & 0 deletions data/litellm/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@

litellm_settings:
drop_params: true
set_verbose: true

model_list:
- litellm_params:
api_base: http://ollama:11434/v1
api_key: sk-1234
model: openai/llama3
model_name: llama3

- litellm_params:
api_base: http://ollama:11434/v1
api_key: sk-1234
model: openai/llama2
model_name: llama2

- litellm_params:
api_base: http://ollama:11434/v1
api_key: sk-1234
model: openai/gemma
model_name: gemma

- litellm_params:
api_key: "os.environ/ANTHROPIC_API_KEY"
model: claude-3-haiku-20240307
model_name: claude-3-haiku-20240307

- litellm_params:
model: anthropic.claude-3-haiku-20240307-v1:0
### [OPTIONAL] SET AWS REGION ###
aws_region_name: us-west-2
model_name: aws_anthropic.claude-3-haiku-20240307-v1:0

- litellm_params:
model: anthropic.claude-3-haiku-20240307-v1:0
### [OPTIONAL] SET AWS REGION ###
aws_region_name: us-west-2
model_name: aws_anthropic.claude-3-haiku-20240307-v1:0

- litellm_params:
model: anthropic.claude-3-sonnet-20240229-v1:0
### [OPTIONAL] SET AWS REGION ###
aws_region_name: us-west-2
model_name: aws_anthropic.claude-3-sonnet-20240229-v1:0

- litellm_params:
model: anthropic.claude-3-sonnet-20240229-v1:0
### [OPTIONAL] SET AWS REGION ###
aws_region_name: us-west-2
model_name: aws_anthropic.claude-3-sonnet-20240229-v1:0
48 changes: 48 additions & 0 deletions docker-compose.ollama.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
version: '3.8'

services:
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ./data/ollama:/root/.ollama
env_file:
- .env
pull_policy: always
tty: true
restart: unless-stopped
deploy:
resources:
reservations:
devices:
- driver: ${OLLAMA_GPU_DRIVER-nvidia}
count: ${OLLAMA_GPU_COUNT-1}
capabilities:
- gpu

open-webui:
build:
context: .
args:
OLLAMA_BASE_URL: '/ollama'
dockerfile: Dockerfile
image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
volumes:
- open-webui:/app/backend/data
- ./data/litellm/config.yaml:/app/backend/data/litellm/config.yaml
depends_on:
- ollama
ports:
- ${OPEN_WEBUI_PORT-3000}:8080
- 14365:14365
env_file:
- .env

extra_hosts:
- host.docker.internal:host-gateway
restart: unless-stopped

volumes:
ollama: {}
open-webui: {}

0 comments on commit 53fda02

Please sign in to comment.