Saltar al contenido principal

Herramientas llama-create

Uso

Crear un proyecto

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

Crear una base de datos en SupaBase y obtener la cadena de conexión de migración

Archivo. env

Cambiar al entorno de Condas

Cambiar al agente

Actualizar la versión de la biblioteca en 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"

Gestor de paquetes

Utilice poesía, pero la instalación de poesía siempre utiliza el entorno virtual de poesía, lo que es fácil de tener problemas.

No hay errores en la instalación con pip.

pip install .

Generación de índices

python app/engine/generate.py

Se produce un error con 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

Los cambios de entorno no se actualizan y se requiere una nueva ventana de línea de comandos.

Despliegue en Render

Compilación manteniendo por defecto: poesía instalar

Ejecución: python www.example.com

Ejemplo de proyecto - Leer a pie: Python - FastAPI

Directorio de código fuente

image-20240410092800214

Necesitaba cambiar media _ type = "text / plain" a 'text / event-stream', pero con Postman, encontré un problema ~ ~

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