lama-createツール
使用する。
プロジェクトの作成
npx create-llama@latest
✔ Which template would you like to use? › Chat
✔ Which framework would you like to use? › FastAPI (Python)
✔ Would you like to generate a NextJS frontend for your FastAPI (Python) backend? … No
✔ Which model would you like to use? › gpt-3.5-turbo-0125
✔ Which embedding model would you like to use? › text-embedding-3-small
✔ Which data source would you like to use? › Use an example PDF
✔ Would you like to add another data source? › No
✔ Would you like to use LlamaParse (improved parser for RAG - requires API key)? … yes
✔ Please provide your LlamaIndex Cloud API key (leave blank to skip): …
✔ Would you like to use a vector database? › PostgreSQL
SupaBaseでデータベースを作成し、Migration connection stringを取得する
.envファイルの作成
Conda環境への切り替え
エージェントに切り替える。
pyproject.toml
内のライブラリのバージョンを更新する
[tool]
[tool.poetry]
name = "app"
version = "0.1.0"
description = ""
authors = [ "Marcus Schiesser <mail@marcusschiesser.de>" ]
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.11,<3.12"
fastapi = "^0.110.1"
python-dotenv = "^1.0.0"
llama-index = "0.10.28"
llama-index-core = "0.10.28"
llama-index-agent-openai = "0.2.2"
[tool.poetry.dependencies.uvicorn]
extras = [ "standard" ]
version = "^0.29.0"
[tool.poetry.dependencies.llama-index-vector-stores-postgres]
version = "^0.1.1"
[tool.poetry.dependencies.llama-index-vector-stores-pinecone]
version = "^0.1.3"
[tool.poetry.dependencies.docx2txt]
version = "^0.8"
[build-system]
requires = [ "poetry-core" ]
build-backend = "poetry.core.masonry.api"
パッケージマネージャ。
poetryインストールは常にpoetry仮想環境を使用します。
pipでインストールするとエラーはありません。
pip install .
索引の生成
python app/engine/generate.py
text-embedding-3-largeを使用するとエラーになります。
File "/Users/yanghaibin/anaconda3/envs/LI311-b/lib/python3.11/site-packages/pgvector/utils/__init__.py", line 35, in to_db
raise ValueError('expected %d dimensions, not %d' % (dim, len(value)))
sqlalchemy.exc.StatementError: (builtins.ValueError) expected 1536 dimensions, not 3072
環境の変更は更新されず、新しいコマンドラインウィンドウを開く必要があります。
Renderへの配備
コンパイルはデフォルトのまま:poetry install
Python main.pyで実行
プロジェクト例-チュートリアル:Python-Fast API
ソースコードディレクトリ
media_type="text/plain"をtext/event-stream
にする必要があるが、Postmanを使用しているとがある。
return StreamingResponse event_generator media_type ="text/plain"