Open41

つくりながら学ぶ!AIアプリ開発入門 - LangChain & Streamlit による ChatGPT API 徹底活用 チャレンジ

ksk nksk n

02 まずは環境準備をしよう

ksk nksk n

pythonのverを確認する

python --version                                                                                                                                                                                                                
Python 2.7.16

⇨全く満たしておらず...

ksk nksk n

pyenvを入れる

brew install pyenv

⇨成功した模様

 ~  pyenv -v                                                                                                                                                                                                                             
pyenv 2.3.23

⇨入っている

ksk nksk n

pythonを入れる

pyenv install --list

今回の要件である、Python 3.8.1 以上を満たしてそう

どれが良いのかよく分からん

install

pyenv install 3.10

⇨成功

ksk nksk n
ksk nksk n

鍵は取れたのであとは環境変数に設定するのみ

ksk nksk n

tokenの概念が分からん
以下の配列形式のデータをどう読み解けば良いか分からん

print(tokens)  # [37271, 55031, 83, 1609, 5963, ...
ksk nksk n

Embeddings APIは与えられたテキストをEmbeddingに変換してくれるAPIです。

isなに?

ksk nksk n

token = 数値の合計ではなく、ベクトルの合計だと思われる。

print(tokens)  # [37271, 55031, 83, 1609, 5963, ...
ksk nksk n

Streamlit

ksk nksk n
  • PythonベースのOSSフレームワーク
  • フロントエンドの知識不要で、デプロイ環境も揃っているため、データサイエンティスト等が手軽にアプリをデプロイ可能である
ksk nksk n

入れたけど切り替えてなかった...

 ~  pyenv versions                                                                                                                                                                                                                     
* system (set by /Users/ksk/.pyenv/version)
  3.10.12
ksk nksk n

切り替えdone

 ~  pyenv global 3.10.12                                                                                                                                                                                                                  
 ~  pyenv versions                                                                                                                                                                                                                        
  system
* 3.10.12 (set by /Users/ksk/.pyenv/version)
ksk nksk n

globalのパスに通したが、ローカルで実行すると2.7代になる

ksk nksk n

pythonが参照している先がpyenvのものになっていない

 ~  which python                                                                                                                                                                                                                     
/usr/bin/python
 ~  pyenv versions                                                                                                                                                                                                                        
  system
* 3.10.12 (set by /Users/ksk/.python-version)
ksk nksk n

いけた!

 ~  eval "$(pyenv init -)"                                                                                                                                                                                                                
 ~  which python                                                                                                                                                                                                                          
/Users/ksk/.pyenv/shims/python
 ~  pyenv versions                                                                                                                                                                                                                        
  system
* 3.10.12 (set by /Users/ksk/.python-version)
 ~  python -V                                                                                                                                                                                                                             
Python 3.10.12
ksk nksk n

pythonをvimで書きたいから寄り道

ksk nksk n

以下の参考をそのまま設定してみるも動かず
https://github.com/hrsh7th/nvim-cmp#setup

  local capabilities = require('cmp_nvim_lsp').default_capabilities()
  -- Replace <YOUR_LSP_SERVER> with each lsp server you've enabled.
  require('lspconfig')['<YOUR_LSP_SERVER>'].setup {
    capabilities = capabilities
  }

確認したところYOUR_LSP_SERVER を設定する必要あり

ksk nksk n

そろそろluaが何なのかという問いから逃げれなくなってきた