見出し画像

流行りの OpenInterpreter を試してみた

OpenInterpreter を試す

今週流行っている OpenInterpreter を試してみました。OpenInterpreterを使うとLLMが生成したコードをそのまま実行出来ます(ユーザーがy/nで実行するかどうかは選択できます)。ChatGPTのCode Interpreterのローカル版ですね。

Github はこちらです:
https://github.com/KillianLucas/open-interpreter/

ローカル環境で試す

以下、CursorのIDE内のTerminalを開いて実行してみました。

pip install --upgrade open-interpreter

実行してみます。

interpreter
▌ Model set to GPT-4

Tip: To run locally, use interpreter --local

Open Interpreter will require approval before running code. Use interpreter -y to bypass this.

Press CTRL-C to exit.

コード実行に関して毎回自動で実行してOKの場合は `interpreter -y` で走らせると自動で実行してくれるようです。ちょっと怖いので一旦 `-y` はつけずに実行してみます。

試しに日本語で質問

質問をしてみます。

> 日本で大きな産業は何ですか?
日本の大きな産業には以下のようなものがあります:

   1 自動車産業:トヨタ、ホンダ、日産など、世界的に有名な自動車メーカーが多数存在します。
   2 電子機器産業:ソニー、パナソニック、シャープなど、高品質な電子機器を製造しています。
   3 鉄鋼産業:日本製鉄、JFEスチールなど、世界的に有名な鉄鋼メーカーがあります。
   4 化学産業:旭化成、住友化学など、化学製品の製造においても世界的に有名です。
   5 IT産業:ソフトバンク、ラクテンなど、IT関連の企業も多く存在します。

  これらは一部の例であり、他にも多くの産業が日本で活動しています。

>

  何か他にお手伝いできることがありますか?

明示的に OpenAI の API キーを設定していなかったのに解答がきました。何のキーを使っているのだろう?ソースコードをみたら環境変数のに 'OPENAI_API_KEY' がある場合はそれを拾っているようでした。[source]

Github にある例をコンソールで試してみる。


Plot APPL and META's normalized stock prices

(Python で実行する場合は `interpreter.chat("Plot APPL and META's normalized stock prices") `)

 To plot the normalized stock prices of APPL (Apple Inc.) and META (Meta Platforms Inc., formerly Facebook Inc.), we will need to follow these steps:

   1 Install necessary packages: We will need pandas, yfinance, and matplotlib. Pandas is a data manipulation library, yfinance is used to fetch historical market data from Yahoo finance, and matplotlib is used for creating static, animated, and interactive
     visualizations in Python.
   2 Fetch the stock data: We will fetch the historical stock data for APPL and META using yfinance.
   3 Normalize the stock prices: We will normalize the stock prices to compare them on the same scale.
   4 Plot the normalized stock prices: We will plot the normalized stock prices using matplotlib.

  Let's start with the first step, which is installing the necessary packages.



  pip install pandas yfinance matplotlib


  Would you like to run this code? (y/n)

実行するために `y` を入力。

The necessary packages have been installed successfully. Now, let's move on to the next step which is fetching the historical stock data for APPL (Apple Inc.) and META (Meta Platforms Inc.) using yfinance. We will fetch the data for the last 5 years.



  import yfinance as yf
  import pandas as pd

  # Define the ticker symbols
  tickers = ['AAPL', 'META']

  # Fetch the data
  data = yf.download(tickers, start='2017-01-01', end='2022-12-31')

  # Keep only the 'Adj Close' column
  data = data['Adj Close']

  # Display the first few rows of the dataframe
  data.head()


  Would you like to run this code? (y/n)

もう一度 `y` を入力。

import yfinance as yf

  import yfinance as yf
  import pandas as pd

  import yfinance as yf
  import pandas as pd


  import yfinance as yf
  import pandas as pd

  # Define the ticker symbols

  import yfinance as yf
  import pandas as pd

  # Define the ticker symbols

  import yfinance as yf
  import pandas as pd


  import yfinance as yf
  import pandas as pd

  # Define the ticker symbols
  tickers = ['AAPL', 'META']

  # Fetch the data
  data = yf.download(tickers, start='2017-01-01', end='2022-12-31')

  # Keep only the 'Adj Close' column
  data = data['Adj Close']

  # Display the first few rows of the dataframe
  data.head()


  [                       0%%                      ]
  [*********************100%%**********************]  2 of 2 completed
  AAPL        META
  Date
  2017-01-03  27.059311  116.860001
  2017-01-04  27.029024  118.690002
  2017-01-05  27.166477  120.669998
  2017-01-06  27.469330  123.410004
  2017-01-09  27.720940  124.900002


  We have successfully fetched the historical stock data for APPL (Apple Inc.) and META (Meta Platforms Inc.) for the last 5 years. The data includes the adjusted close prices for each trading day.

  Next, we will normalize the stock prices. Normalization is a scaling technique where the values are shifted and rescaled so that they end up ranging between 0 and 1. It is also known as Min-Max scaling. Here, we will normalize the stock prices so that the initial
  price for each stock is 1, and all subsequent prices are relative to the initial price. This will allow us to compare the performance of the two stocks on the same scale.



  # Normalize the stock prices
  data_normalized = data / data.iloc[0]

  # Display the first few rows of the normalized data
  data_normalized.head()


  Would you like to run this code? (y/n)

もう一度 `y` を入力。

# Normalize the stock prices
  data_normalized = data / data.iloc[0]

  # Display the first few rows of the normalized data
  data_normalized.head()


  AAPL      META
  Date
  2017-01-03  1.000000  1.000000
  2017-01-04  0.998881  1.015660
  2017-01-05  1.003960  1.032603
  2017-01-06  1.015153  1.056050
  2017-01-09  1.024451  1.068800


  The stock prices for APPL (Apple Inc.) and META (Meta Platforms Inc.) have been successfully normalized. The initial price for each stock is 1, and all subsequent prices are relative to the initial price.

  Finally, let's plot the normalized stock prices using matplotlib. This will allow us to visually compare the performance of the two stocks over the last 5 years.



  import matplotlib.pyplot as plt

  # Create a new figure
  plt.figure(figsize=(14, 7))

  # Plot the normalized stock prices
  for ticker in tickers:
      plt.plot(data_normalized[ticker], label=ticker)

  # Add a title and labels
  plt.title('Normalized Stock Prices (2017-2022)')
  plt.xlabel('Date')
  plt.ylabel('Normalized Price')
  plt.legend()

  # Display the plot
  plt.show()


  Would you like to run this code? (y/n)

もう一度 `y` を入力。

# Normalize the stock prices
data_normalized = data / data.iloc[0]

# Display the first few rows of the normalized data
data_normalized.head()


AAPL      META
Date
2017-01-03  1.000000  1.000000
2017-01-04  0.998881  1.015660
2017-01-05  1.003960  1.032603
2017-01-06  1.015153  1.056050
2017-01-09  1.024451  1.068800


The stock prices for APPL (Apple Inc.) and META (Meta Platforms Inc.) have been successfully normalized. The initial price for each stock is 1, and all subsequent prices are relative to the initial price.

Finally, let's plot the normalized stock prices using matplotlib. This will allow us to visually compare the performance of the two stocks over the last 5 years.



import matplotlib.pyplot as plt

# Create a new figure
plt.figure(figsize=(14, 7))

# Plot the normalized stock prices
for ticker in tickers:
    plt.plot(data_normalized[ticker], label=ticker)

# Add a title and labels
plt.title('Normalized Stock Prices (2017-2022)')
plt.xlabel('Date')
plt.ylabel('Normalized Price')
plt.legend()

# Display the plot
plt.show()


Would you like to run this code? (y/n)

もう一度 `y` を入力。


import matplotlib.pyplot as plt

import matplotlib.pyplot as plt

import matplotlib.pyplot as plt

import matplotlib.pyplot as plt

import matplotlib.pyplot as plt

# Create a new figure

import matplotlib.pyplot as plt

# Create a new figure

import matplotlib.pyplot as plt

# Create a new figure

plt.figure(figsize=(14, 7))

import matplotlib.pyplot as plt

# Create a new figure

plt.figure(figsize=(14, 7))

import matplotlib.pyplot as plt

# Create a new figure

plt.figure(figsize=(14, 7))

import matplotlib.pyplot as plt

# Create a new figure

plt.figure(figsize=(14, 7))

# Plot the normalized stock prices

for ticker in tickers:
plt.plot(data_normalized[ticker], label=ticker)

# Add a title and labels

plt.title('Normalized Stock Prices (2017-2022)')
plt.xlabel('Date')
plt.ylabel('Normalized Price')
plt.legend()

# Display the plot

plt.show()
█

  <Figure size 1400x700 with 0 Axes>
  [<matplotlib.lines.Line2D object at 0x1675058d0>]
  [<matplotlib.lines.Line2D object at 0x16be2d710>]
  Text(0.5, 1.0, 'Normalized Stock Prices (2017-2022)')
  Text(0.5, 0, 'Date')
  Text(0, 0.5, 'Normalized Price')
  <matplotlib.legend.Legend object at 0x16764b310>

無事グラフが生成されました!

閉じたあとに、下記が出ました。


Here is the plot of the normalized stock prices for APPL (Apple Inc.) and META (Meta Platforms Inc.) from 2017 to 2022. As you can see, both stocks have shown significant growth over this period, but the growth has not been linear and there have been periods of
both increase and decrease.

Please note that this is a simplified analysis and does not take into account many factors that could influence the performance of these stocks. For a more comprehensive analysis, you may want to consider other factors such as earnings reports, economic indicators,
and market trends.

Is there anything else you would like to know or do?

終わりに

OpenInterpreterですが、ChatGPTのCode Interpreterと似た感覚で使え非常に便利そうでした。
これだけ流行っているのもうなずけます。
Terminal上で動くのでインプットファイルを使った編集などもかなり楽そうでした。

まだ試してませんが、Pythonで走らせることもできるみたいです。


import interpreter

interpreter.chat("Plot APPL and META's normalized stock prices") # Executes a single command
interpreter.chat() # Starts an interactive chat

Githubを見ると、他にも色々と設定できるみたいでした。

以上、お読みいただきありがとうございます。少しでも参考になればと思います。
もし今回の記事が楽しんでいただけたのであれば、note と Twitter でフォローしていただけると嬉しいです。

関連

参考文献


この記事が気に入ったらサポートをしてみませんか?