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
Necesitaba cambiar media _ type = "text / plain" a 'text / event-stream', pero con Postman, encontré un problema ~ ~
return StreamingResponse(event_generator(), media_type="text/plain")