跳到主要内容

llama-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 install 总是使用 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-FastAPI

源码目录

image-20240410092800214

需要将media_type="text/plain"变成text/event-stream,但是使用Postman,发现有问题~~

return StreamingResponse(event_generator(), media_type="text/plain")