メインコンテンツまでスキップ

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

ソースコードディレクトリ

image-20240410092800214

media_type="text/plain"をtext/event-streamにする必要があるが、Postmanを使用しているとがある。

return StreamingResponse event_generator media_type ="text/plain"