🦙

【M1Mac】OpenInterpreterでローカルのCodeLlama実行してみたよ

2023/09/12に公開

こんにちは!OpenInterpreterがローカルで動いた衝撃に未だ驚いています。

今回は話題のOpenInterpreterをM1 MacOSに導入して、完全無料で使えるMeta社のCodeLlamaをローカルで実行してみました。

https://openinterpreter.com/

https://about.fb.com/news/2023/08/code-llama-ai-for-coding/

実行環境

MacBook Pro 14インチ、2021
Apple M1 Pro
メモリ16 GB
MacOS Ventura 13.2.1(22D68)

OpenInterpreterの一次ソース
一次ソース大事。これ絶対。
https://github.com/KillianLucas/open-interpreter
macOSへの導入手順
M1Proなのでこっちです。
https://github.com/KillianLucas/open-interpreter/blob/main/docs/MACOS.md

OpenInterpreterの導入

最初は一次ソースを見て導入をしましたが、つまづいてしまったのでこちらのnoteを参考にさせていただきました!本当にalexさんに感謝です。

参考にさせていただいたnoteでは

Open Interpreter will use Code Llama for local execution. Use your arrow keys to set up the model.

[?] Parameter count (smaller is faster, larger is more capable): 7B
 > 7B
   13B
   34B

[?] Quality (lower is faster, higher is more capable): Medium | Size: 4.24 GB, RAM usage: 6.74 GB
   Low | Size: 3.01 GB, RAM usage: 5.51 GB
 > Medium | Size: 4.24 GB, RAM usage: 6.74 GB
   High | Size: 7.16 GB, RAM usage: 9.66 GB

[?] Use GPU? (Large models might crash on GPU, but will run more quickly) (Y/n): Y


▌ Model set to Code-Llama

となっており、GPUをYESのYとしていますが
こちらではうまく実行できずにクラッシュしてしまったので
GPUを使わないようにNoのnと入力したらうまく実行することができました...!

=> % interpreter --local -y

Open Interpreter will use Code Llama for local execution. Use your arrow keys to set up the model. 

[?] Parameter count (smaller is faster, larger is more capable): 7B
 > 7B
   13B
   34B

[?] Quality (smaller is faster, larger is more capable): Small | Size: 2.6 GB, Estimated RAM usage: 5.1 GB
 > Small | Size: 2.6 GB, Estimated RAM usage: 5.1 GB
   Medium | Size: 3.8 GB, Estimated RAM usage: 6.3 GB
   Large | Size: 6.7 GB, Estimated RAM usage: 9.2 GB
   See More
   
[?] Use GPU? (Large models might crash on GPU, but will run more quickly) (Y/n): n

Model found at /Users/.../Library/Application Support/OpenInterpreter/models/codellama-7b-instruct.Q2_K.gguf   

▌ Model set to TheBloke/CodeLlama-7B-Instruct-GGUF  

OpenInterpreterの起動

interpreter --local -y

いつもこの呪文を唱えるとローカルでCodeLlmaを実行することができます!

早速使ってみましょう。

日本語で話してくれなかった...

他の方のブログを見た感じ日本語で話してくれそうだったので、CodeLlmaに頼んでみました。だめでした。

> please talk in Japansese

  Let's start with the first step of the plan. What is the first thing you want me to do?
  
> you can't speak japanese?

  Let me know if you have any questions or need help with anything else.       

しょうがないので英語で話しかけてみます。実行環境を聞いてみました。

> please show me about my Execution Environments
          
  Your execution environment is Darwin. This means that you are running macOS. 
  You can run code on your machine using the terminal or a text editor like Sublime Text or Atom.
  If you want to run code on your machine,
  you can write it in a markdown code block and I'll execute it for you. 

DeepLに投げる

> 私の実行環境について教えてください。

あなたの実行環境はDarwinです。
これは、あなたがmacOSを実行していることを意味します。
あなたのマシン上でコードを実行するにはターミナルやSublime TextやAtomのようなテキストエディタを使って。
あなたのマシンでコードを実行したい場合は、
マークダウンのコードブロックにコードを書いていただければ、私があなたの代わりに実行します。

実行してみようじゃないか!!!

railsのメモアプリを作ってください

> please create rails memo app on this directory

  Let's start with creating a new rails app.           
 
 rails new myapp
 
 ~いろんなファイルが生成されている(中略)~
 
  it looks like I have successfully created a new Rails app with the name "myapp". The output also mentions    
  that some gems were installed, such as rails, actionmailbox, and actiontext. Additionally, the output        
  includes a message about configuring importmap paths in config/importmap.rb.                                                                                   
  It looks like I have successfully set up my Rails app with the necessary dependencies and configuration for  
  using Stimulus and Turbo. However, there are still some steps that need to be taken to complete the setup    
  process, such as adding controllers and pinning all controllers.                                             
  To continue setting up my app, I can run rails generate controller to create a new controller, or rails      
  server to start the development server and access my app in the browser. 

DeepLに投げる

> このディレクトリにrailsメモアプリを作成してください。

新しいrailsアプリを作成するところから始めましょう。   

どうやら "myapp "という名前で新しいRailsアプリを作成できたようだ。

出力にはrails、actionmailbox、actiontextなどのgemsがインストールされたことが書かれています。
さらに、出力にはには、config/importmap.rbでimportmapのパスを設定するというメッセージが含まれています。
 
これで、StimulusとTurboを使用するために必要な依存関係と設定を備えたRailsアプリのセットアップに成功したようです。 
 
しかし、セットアップを完了するにはまだいくつかのステップが必要です。
たとえば、コントローラの追加やすべてのコントローラの固定などです。       

アプリのセットアップを続けるには、
rails generate controllerを実行して新しいコントローラを作成するか、
rails server を実行して開発サーバを起動し、ブラウザからアプリにアクセスします。
  

ちゃんとmyappがカレントディレクトリに作成されていました!

新しくターミナルを開き、指示通りにコントローラーを作成してみます。

=> %   rails g controller MemoController                                         

      create  app/controllers/memo_controller.rb
      invoke  erb
      create    app/views/memo
      invoke  test_unit
      create    test/controllers/memo_controller_test.rb
      invoke  helper
      create    app/helpers/memo_helper.rb
      invoke    test_unit

そしてローカルでサーバーを起動します。

=> % rails s                                                           

見事railsのアプリケーションが起動されました!!!

ここまでやってみた所感

何回も同じプロンプトが実行されてしまったり
クラッシュが時々起こったりしましたが
やりとり次第で、本当にrailsのメモアプリが作成できそうです。

コマンドを覚える手間が省けることや、
指示文さえ書けば自分で勝手に実行してくれるのは本当に驚きました。

また時間のあるときに色々試していこうと思います。

ここまで読んでいただいてありがとうございました〜!

GitHubで編集を提案

Discussion