Compare commits

...

48 Commits

Author SHA1 Message Date
Marcus Schiesser d99b1d61d7 llamaindex@0.0.47 2024-01-17 15:39:17 +07:00
Marcus Schiesser 844029d8e5 feat: Add streaming support for QueryEngine (and unify streaming interface with ChatEngine) (#393) 2024-01-17 14:29:27 +07:00
Huu Le (Lee) 9492cc64b5 Added option to automatically install dependencies (for Python and TS) (#381) 2024-01-16 16:12:37 +07:00
Alex Yang 5773f97e88 feat: add together AI vector index example (#390) 2024-01-15 21:52:15 -06:00
Marcus Schiesser 0784dc3a0a fix: replace missing import * as (#392) 2024-01-15 21:37:01 -06:00
Alex Yang 7993be7d0d RELEASING: Releasing 2 package(s)
Releases:
  llamaindex@0.0.46
  create-llama@0.0.15

[skip ci]
2024-01-15 14:21:18 -06:00
Alex Yang f22ce6e757 Revert "RELEASING: Releasing 2 package(s)"
This reverts commit 3c4347b247.
2024-01-15 14:21:18 -06:00
Alex Yang 3c4347b247 RELEASING: Releasing 2 package(s)
Releases:
  llamaindex@0.1.0
  create-llama@0.0.15

[skip ci]
2024-01-15 14:08:59 -06:00
Aziz Khoury 977f2840b9 fix: wrong import for path in SimpleKVStore.ts (#383)
Co-authored-by: Alex Yang <himself65@outlook.com>
2024-01-15 14:03:30 -06:00
Alex Yang 5d3bb6642e fix: default import (#386) 2024-01-15 13:59:31 -06:00
Marcus Schiesser 2001eb7ffb fix: format 2024-01-15 18:15:44 +07:00
Marcus Schiesser f18c9f69d4 refactor: update low-level streaming interface (#325) 2024-01-15 18:06:53 +07:00
Thuc Pham 8e124e5b63 feat: support showing image for chat message in NextJS (#368) 2024-01-15 17:57:20 +07:00
Nir Gazit 4ed5e544b0 docs: added openllmetry observability (#369) 2024-01-15 10:15:02 +07:00
Alex Yang b185bda5b1 RELEASING: Releasing 2 package(s)
Releases:
  create-llama@0.0.14
  llamaindex@0.0.45

[skip ci]
2024-01-14 18:14:55 -06:00
Alex Yang d79804e271 docs: update README.md (#376) 2024-01-14 18:10:55 -06:00
Alex Yang 2b356c8613 fix(create-llama): component choice (#377) 2024-01-14 18:10:33 -06:00
Alex Yang 2e6b36ef4b docs: update changelog (#374) 2024-01-12 18:49:53 -06:00
Alex Yang edd0f66234 feat: support Together AI (#373) 2024-01-12 18:41:48 -06:00
Alex Yang 2da407d66c fix: cover type check on all ts files (#372) 2024-01-12 15:36:04 -06:00
Alex Yang fa574f709e chore(core): use bunchee to bundle (#370) 2024-01-12 12:50:33 -06:00
Alex Yang 1e6171521b refactor: use crypto.randomUUID (#371)
Ref: https://nodejs.org/docs/latest/api/crypto.html#cryptorandomuuidoptions
2024-01-12 12:30:17 -06:00
Marcus Schiesser 3f3e4eca66 RELEASING: Releasing 1 package(s)
Releases:
  llamaindex@0.0.44

[skip ci]
2024-01-12 14:21:11 +07:00
Thuc Pham 648482b0f1 Feat: Add support for ChromaDB (#310)
Co-authored-by: Aarav Navani <38411399+oofmeister27@users.noreply.github.com>
2024-01-12 13:35:00 +07:00
Marcus Schiesser bb46afe33d RELEASING: Releasing 1 package(s)
Releases:
  create-llama@0.0.13

[skip ci]
2024-01-11 14:30:38 +07:00
Marcus Schiesser 80f5914abf fix: raise exception if PG_CONNECTION_STRING is empty (generated value) 2024-01-11 14:25:00 +07:00
Marcus Schiesser 1c4e7f9c3e chore: change release process 2024-01-11 13:22:54 +07:00
Marcus Schiesser e4ae6e9076 RELEASING: Releasing 1 package(s)
Releases:
  llamaindex@0.0.43

[skip ci]
2024-01-11 13:19:23 +07:00
Marcus Schiesser f93efa2ea1 fix: disabled sweep (was trying to work on a draft PR) 2024-01-11 11:02:24 +07:00
Thuc Pham 7d79365262 feat: add examples and docs for readers (#323) 2024-01-11 11:42:13 +08:00
Huu Le (Lee) 555692207e Feat[cl]: Add postgresql vector store for fastapi (#318) 2024-01-11 11:03:12 +08:00
Alex Yang fcc06b227a fix(perf): use regex to spilt texts (#364) 2024-01-10 17:27:50 -06:00
Thuc Pham 08a39790e4 fix: default separator not work for window os (#324) 2024-01-10 17:07:08 +08:00
Marcus Schiesser a8270082a0 fix: improve async handling in fastapi (#322) 2024-01-10 11:55:13 +08:00
Marcus Schiesser 85da798538 llamaindex@0.0.42 2024-01-08 17:06:22 +07:00
Marcus Schiesser b68d8697df fix: add missing metadata after node parsing (#317) 2024-01-08 17:48:44 +08:00
fatdoge 7704df5042 Update starter.md (#316)
Markdown link render error fix.
2024-01-08 17:03:46 +08:00
Marcus Schiesser 16f04c7e7e docs: add changeset 2024-01-08 15:58:58 +07:00
Marcus Schiesser 7c6b3117bf feat: use local embedding for sentence window example and log progress 2024-01-08 15:58:58 +07:00
Marcus Schiesser 7def68fb37 feat: added local embedding 2024-01-08 15:58:58 +07:00
Marcus Schiesser 03ed2b4129 feat: add sentenceWindow.ts example 2024-01-08 15:58:58 +07:00
Marcus Schiesser 733d62a699 feat: add MetadataReplacementPostProcessor 2024-01-08 15:58:58 +07:00
Marcus Schiesser f76e1d0796 feat: add sentence window node parser 2024-01-08 15:58:58 +07:00
Marcus Schiesser 88d42ccd8d refactor: move node parsers to own package 2024-01-08 15:58:58 +07:00
Thuc Pham a0686fb1f2 docs: remove serverComponentsExternalPackages config (#314) 2024-01-08 16:35:06 +08:00
Marcus Schiesser 3d198d94a6 llamaindex@0.0.41 2024-01-08 15:18:24 +07:00
Thuc Pham 036c00db73 Feat: add postgres vectordb (#308)
* feat: integrate create-llama with postgresql 
* fix: get data for verification before inserting
* feat: show available vector DBs based on framework
2024-01-05 14:13:52 +08:00
Alex Yang 548f0687f1 feat(core): init support for Ollama (#305) 2024-01-04 18:03:00 -06:00
207 changed files with 4035 additions and 2928 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.3.1/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"commit": true,
"fixed": [],
"linked": [],
"access": "public",
-5
View File
@@ -1,5 +0,0 @@
---
"llamaindex": patch
---
Use compromise as sentence tokenizer
-5
View File
@@ -1,5 +0,0 @@
---
"llamaindex": patch
---
Removed pdf-parse, and directly use latest pdf.js
+5
View File
@@ -0,0 +1,5 @@
---
"create-llama": patch
---
Added option to automatically install dependencies (for Python and TS)
-5
View File
@@ -1,5 +0,0 @@
---
"llamaindex": patch
---
Added pinecone vector DB
+12
View File
@@ -8,6 +8,9 @@ on:
- ".github/workflows/e2e.yml"
branches: [main]
env:
POETRY_VERSION: "1.6.1"
jobs:
e2e:
name: create-llama
@@ -16,10 +19,19 @@ jobs:
fail-fast: true
matrix:
node-version: [18, 20]
python-version: ["3.11"]
os: [macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: ${{ env.POETRY_VERSION }}
- uses: pnpm/action-setup@v2
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
+18
View File
@@ -18,3 +18,21 @@ jobs:
run: pnpm install
- name: Run tests
run: pnpm run test
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: ".nvmrc"
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm run build
working-directory: ./packages/core
- name: Run Type Check
run: pnpm run type-check
+1
View File
@@ -37,6 +37,7 @@ yarn-error.log*
.vercel
dist/
lib/
# vs code
.vscode/launch.json
+2 -1
View File
@@ -1,3 +1,4 @@
apps/docs/i18n
pnpm-lock.yaml
lib/
dist/
+5 -3
View File
@@ -1,5 +1,10 @@
# LlamaIndex.TS
[![NPM Version](https://img.shields.io/npm/v/llamaindex)](https://www.npmjs.com/package/llamaindex)
[![NPM License](https://img.shields.io/npm/l/llamaindex)](https://www.npmjs.com/package/llamaindex)
[![NPM Downloads](https://img.shields.io/npm/dm/llamaindex)](https://www.npmjs.com/package/llamaindex)
[![Discord](https://img.shields.io/discord/1059199217496772688)](https://discord.com/invite/eN6D2HQ4aX)
LlamaIndex is a data framework for your LLM application.
Use your own data with large language models (LLMs, OpenAI ChatGPT and others) in Typescript and Javascript.
@@ -105,9 +110,6 @@ const nextConfig = {
};
return config;
},
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Puts pdf-parse in actual NodeJS mode with NextJS App Router
},
};
module.exports = nextConfig;
+1
View File
@@ -7,6 +7,7 @@
# Generated files
.docusaurus
.cache-loader
lib
# Misc
.DS_Store
-14
View File
@@ -13,17 +13,3 @@ If you're using NextJS App Router route handlers/serverless functions, you'll ne
```js
export const runtime = "nodejs"; // default
```
and you'll need to add an exception for pdf-parse in your next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Puts pdf-parse in actual NodeJS mode with NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -11,7 +11,16 @@ const retriever = index.asRetriever();
const chatEngine = new ContextChatEngine({ retriever });
// start chatting
const response = await chatEngine.chat(query);
const response = await chatEngine.chat({ message: query });
```
The `chat` function also supports streaming, just add `stream: true` as an option:
```typescript
const stream = await chatEngine.chat({ message: query, stream: true });
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}
```
## Api References
@@ -8,7 +8,16 @@ A query engine wraps a `Retriever` and a `ResponseSynthesizer` into a pipeline,
```typescript
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query("query string");
const response = await queryEngine.query({ query: "query string" });
```
The `query` function also supports streaming, just add `stream: true` as an option:
```typescript
const stream = await queryEngine.query({ query: "query string", stream: true });
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}
```
## Sub Question Query Engine
@@ -35,13 +35,26 @@ const nodesWithScore: NodeWithScore[] = [
},
];
const response = await responseSynthesizer.synthesize(
"What age am I?",
const response = await responseSynthesizer.synthesize({
query: "What age am I?",
nodesWithScore,
);
});
console.log(response.response);
```
The `synthesize` function also supports streaming, just add `stream: true` as an option:
```typescript
const stream = await responseSynthesizer.synthesize({
query: "What age am I?",
nodesWithScore,
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}
```
## API Reference
- [ResponseSynthesizer](../../api/classes/ResponseSynthesizer.md)
@@ -0,0 +1 @@
label: Observability
@@ -0,0 +1,35 @@
# Observability
LlamaIndex provides **one-click observability** 🔭 to allow you to build principled LLM applications in a production setting.
A key requirement for principled development of LLM applications over your data (RAG systems, agents) is being able to observe, debug, and evaluate
your system - both as a whole and for each component.
This feature allows you to seamlessly integrate the LlamaIndex library with powerful observability/evaluation tools offered by our partners.
Configure a variable once, and you'll be able to do things like the following:
- View LLM/prompt inputs/outputs
- Ensure that the outputs of any component (LLMs, embeddings) are performing as expected
- View call traces for both indexing and querying
Each provider has similarities and differences. Take a look below for the full set of guides for each one!
## OpenLLMetry
[OpenLLMetry](https://github.com/traceloop/openllmetry-js) is an open-source project based on OpenTelemetry for tracing and monitoring
LLM applications. It connects to [all major observability platforms](https://www.traceloop.com/docs/openllmetry/integrations/introduction) and installs in minutes.
### Usage Pattern
```bash
npm install @traceloop/node-server-sdk
```
```js
import * as traceloop from "@traceloop/node-server-sdk";
traceloop.initialize({
apiKey: process.env.TRACELOOP_API_KEY,
disableBatch: true,
});
```
@@ -15,17 +15,3 @@ sidebar_position: 5
```js
export const runtime = "nodejs"; // الافتراضي
```
وستحتاج أيضًا إلى إضافة استثناء لـ pdf-parse في next.config.js الخاص بك
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // يضع pdf-parse في وضع NodeJS الفعلي مع NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -16,16 +16,3 @@ LlamaIndex в момента официално поддържа NodeJS 18 и No
export const runtime = "nodejs"; // по подразбиране
```
и ще трябва да добавите изключение за pdf-parse във вашия next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Поставя pdf-parse в реален режим на NodeJS с NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Si utilitzeu els gestors de rutes/funcions sense servidor de l'enrutador d'aplic
```js
export const runtime = "nodejs"; // per defecte
```
i haureu d'afegir una excepció per a pdf-parse al vostre next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Posiciona pdf-parse en el mode NodeJS real amb l'enrutador d'aplicacions NextJS
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Pokud používáte NextJS App Router pro zpracování tras/route a serverless fu
```js
export const runtime = "nodejs"; // výchozí hodnota
```
a budete muset přidat výjimku pro pdf-parse ve vašem next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Přepne pdf-parse do režimu NodeJS s NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Hvis du bruger NextJS App Router route handlers/serverless functions, skal du br
```js
export const runtime = "nodejs"; // standard
```
og du skal tilføje en undtagelse for pdf-parse i din next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Sætter pdf-parse i faktisk NodeJS-tilstand med NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Wenn Sie den NextJS App Router für Routen-Handler/Serverless-Funktionen verwend
```js
export const runtime = "nodejs"; // Standardwert
```
und Sie müssen eine Ausnahme für pdf-parse in Ihrer next.config.js hinzufügen:
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Setzt pdf-parse in den tatsächlichen NodeJS-Modus mit NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ sidebar_position: 5
```js
export const runtime = "nodejs"; // προεπιλογή
```
και θα πρέπει να προσθέσετε μια εξαίρεση για το pdf-parse στο next.config.js σας
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Βάζει το pdf-parse σε πραγματική λειτουργία NodeJS με τον δρομολογητή NextJS App
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Si estás utilizando los controladores de ruta/funciones sin servidor del enruta
```js
export const runtime = "nodejs"; // por defecto
```
y deberás agregar una excepción para pdf-parse en tu archivo next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Pone pdf-parse en el modo NodeJS real con el enrutador de aplicaciones NextJS
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Kui kasutate NextJS rakenduse marsruuteri marsruutide käsitlejaid/serverita fun
```js
export const runtime = "nodejs"; // vaikimisi
```
ja peate lisama erandi pdf-parse jaoks oma next.config.js failis
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Paneb pdf-parse tegelikult NodeJS režiimi koos NextJS rakenduse marsruuteriga
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ LlamaIndex در حال حاضر به طور رسمی NodeJS 18 و NodeJS 20 را
```js
export const runtime = "nodejs"; // پیش فرض
```
و برای pdf-parse باید یک استثناء در next.config.js اضافه کنید
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // pdf-parse را در حالت واقعی NodeJS با مسیریاب برنامه NextJS قرار می دهد
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Jos käytät NextJS-sovelluksen reitittimen reitinkäsittelijöitä/palveluttomi
```js
export const runtime = "nodejs"; // oletusarvo
```
ja sinun tulee lisätä poikkeus pdf-parse:lle next.config.js-tiedostossasi
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Asettaa pdf-parsen todelliseen NodeJS-tilaan NextJS-sovelluksen reitittimen kanssa
},
};
module.exports = nextConfig;
```
@@ -13,17 +13,3 @@ Si vous utilisez des gestionnaires de route du routeur d'application NextJS ou d
```js
export const runtime = "nodejs"; // par défaut
```
et vous devrez ajouter une exception pour pdf-parse dans votre fichier next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Met pdf-parse en mode NodeJS réel avec le routeur d'application NextJS
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ LlamaIndex כרגע תומך באופן רשמי ב-NodeJS 18 ו-NodeJS 20.
```js
export const runtime = "nodejs"; // ברירת מחדל
```
ועליך להוסיף יוצאת דופן עבור pdf-parse בקובץ next.config.js שלך
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // מעביר את pdf-parse למצב NodeJS האמיתי עם מסלולי הראוטר של NextJS App
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ LlamaIndex वर्तमान में NodeJS 18 और NodeJS 20 का आ
```js
export const runtime = "nodejs"; // डिफ़ॉल्ट
```
और आपको अपने next.config.js में pdf-parse के लिए एक अपवाद जोड़ने की आवश्यकता होगी
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // NextJS ऐप राउटर में pdf-parse को वास्तविक NodeJS मोड में रखता है
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Ako koristite NextJS App Router rukovatelje rutama/serverless funkcije, trebat
```js
export const runtime = "nodejs"; // zadano
```
i trebat ćete dodati iznimku za pdf-parse u vašem next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Stavlja pdf-parse u stvarni NodeJS način rada s NextJS App Routerom
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Ha a NextJS alkalmazás útválasztó útválasztó kezelőket/szerver nélküli
```js
export const runtime = "nodejs"; // alapértelmezett
```
és hozzá kell adnia egy kivételt a pdf-parse-hez a next.config.js fájlban
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // A pdf-parse-t valódi NodeJS módban helyezi el a NextJS alkalmazás útválasztó
},
};
module.exports = nextConfig;
```
@@ -16,16 +16,3 @@ Jika Anda menggunakan penangan rute/handler serverless NextJS App Router, Anda p
export const runtime = "nodejs"; // default
```
dan Anda perlu menambahkan pengecualian untuk pdf-parse di next.config.js Anda
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Menempatkan pdf-parse dalam mode NodeJS sebenarnya dengan NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Se stai utilizzando i gestori di route/router dell'app NextJS, dovrai utilizzare
```js
export const runtime = "nodejs"; // predefinito
```
e dovrai aggiungere un'eccezione per pdf-parse nel tuo next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Mette pdf-parse nella modalità NodeJS effettiva con il router dell'app NextJS
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ NextJSアプリケーションルーターのルートハンドラー/サーバ
```js
export const runtime = "nodejs"; // デフォルト
```
また、next.config.jsでpdf-parseの例外を追加する必要があります。
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // pdf-parseを実際のNodeJSモードに配置するためのNextJSアプリケーションルーター
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ NextJS 앱 라우터 라우트 핸들러/서버리스 함수를 사용하는 경
```js
export const runtime = "nodejs"; // 기본값
```
그리고 next.config.js에서 pdf-parse에 대한 예외를 추가해야합니다.
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // pdf-parse를 실제 NodeJS 모드로 NextJS 앱 라우터에 추가합니다.
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Jei naudojate NextJS Aplikacijos maršrutizatoriaus maršrutų tvarkyklės / ser
```js
export const runtime = "nodejs"; // numatytasis
```
ir turėsite pridėti išimtį pdf-parse savo next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Prideda pdf-parse į tikrąjį NodeJS režimą su NextJS Aplikacijos maršrutizatoriumi
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Ja izmantojat NextJS lietotnes maršrutētāja maršrutētājus/servera funkcija
```js
export const runtime = "nodejs"; // noklusējums
```
un jums būs jāpievieno izņēmums pdf-parse savā next.config.js failā
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Ievieto pdf-parse faktiskajā NodeJS režīmā ar NextJS lietotnes maršrutētāju
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Als je NextJS App Router route handlers/serverless functies gebruikt, moet je de
```js
export const runtime = "nodejs"; // standaard
```
en je moet een uitzondering toevoegen voor pdf-parse in je next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Zet pdf-parse in de werkelijke NodeJS-modus met NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Hvis du bruker NextJS App Router rutehåndterere/serverløse funksjoner, må du
```js
export const runtime = "nodejs"; // standard
```
og du må legge til et unntak for pdf-parse i next.config.js-filen din
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Setter pdf-parse i faktisk NodeJS-modus med NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Jeśli korzystasz z obsługi trasowania NextJS App Router lub funkcji bezserwero
```js
export const runtime = "nodejs"; // domyślnie
```
i będziesz musiał dodać wyjątek dla pdf-parse w pliku next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Umieszcza pdf-parse w rzeczywistym trybie NodeJS z NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Se você estiver usando os manipuladores de rota/funções serverless do Roteado
```js
export const runtime = "nodejs"; // padrão
```
e você precisará adicionar uma exceção para o pdf-parse no seu next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Coloca o pdf-parse no modo NodeJS real com o Roteador de Aplicativos NextJS
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Dacă utilizați handler-ele de rute/funcții serverless ale Routerului aplicaț
```js
export const runtime = "nodejs"; // implicit
```
și va trebui să adăugați o excepție pentru pdf-parse în fișierul next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Plasează pdf-parse în modul NodeJS real cu Routerul aplicației NextJS
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ LlamaIndex в настоящее время официально поддерж
```js
export const runtime = "nodejs"; // по умолчанию
```
и вам потребуется добавить исключение для pdf-parse в вашем файле next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Помещает pdf-parse в режим фактического NodeJS с помощью маршрутизатора приложений NextJS
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Ako koristite NextJS App Router rute handlera/serverless funkcija, moraćete kor
```js
export const runtime = "nodejs"; // podrazumevano
```
i moraćete dodati izuzetak za pdf-parse u vašem next.config.js fajlu
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Stavlja pdf-parse u stvarni NodeJS režim sa NextJS App Routerom
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ LlamaIndex trenutno uradno podpira NodeJS 18 in NodeJS 20.
```js
export const runtime = "nodejs"; // privzeto
```
in v datoteko next.config.js dodajte izjemo za pdf-parse
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Postavi pdf-parse v dejanski način NodeJS z usmerjevalnikom NextJS aplikacije
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Ak používate spracovatele trás/serveless funkcie NextJS App Router, budete po
```js
export const runtime = "nodejs"; // predvolené
```
a budete musieť pridať výnimku pre pdf-parse vo vašom next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Puts pdf-parse in actual NodeJS mode with NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Om du använder NextJS App Router route handlers/serverless functions måste du
```js
export const runtime = "nodejs"; // standard
```
och du måste lägga till ett undantag för pdf-parse i din next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Sätter pdf-parse i faktiskt NodeJS-läge med NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ LlamaIndex รองรับ NodeJS 18 และ NodeJS 20 อย่างเ
```js
export const runtime = "nodejs"; // ค่าเริ่มต้น
```
และคุณจะต้องเพิ่มข้อยกเว้นสำหรับ pdf-parse ใน next.config.js ของคุณ
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // ให้ pdf-parse ทำงานในโหมด NodeJS จริงๆ กับ NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Eğer NextJS Uygulama Yönlendirici rota işleyicileri/sunucusuz fonksiyonlar ku
```js
export const runtime = "nodejs"; // varsayılan
```
ve next.config.js dosyanıza pdf-parse için bir istisna eklemeniz gerekecektir:
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // pdf-parse'ı NextJS Uygulama Yönlendirici ile gerçek NodeJS modunda kullanır
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ LlamaIndex наразі офіційно підтримує NodeJS 18 та NodeJ
```js
export const runtime = "nodejs"; // за замовчуванням
```
і вам потрібно додати виняток для pdf-parse у вашому next.config.js
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Розміщує pdf-parse у фактичному режимі NodeJS з NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -15,17 +15,3 @@ Nếu bạn đang sử dụng NextJS App Router route handlers/serverless functi
```js
export const runtime = "nodejs"; // mặc định
```
và bạn sẽ cần thêm một ngoại lệ cho pdf-parse trong next.config.js của bạn
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // Đặt pdf-parse trong chế độ NodeJS thực tế với NextJS App Router
},
};
module.exports = nextConfig;
```
@@ -13,17 +13,3 @@ LlamaIndex 目前官方支持 NodeJS 18 和 NodeJS 20。
```js
export const runtime = "nodejs"; // 默认
```
并且您需要在 next.config.js 中为 pdf-parse 添加一个例外
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // 将 pdf-parse 置于实际的 NodeJS 模式与 NextJS 应用路由器
},
};
module.exports = nextConfig;
```
@@ -51,4 +51,4 @@ main();
npx ts-node example.ts
```
准备好了解更多吗?请查看我们的NextJS游乐场 https://llama-playground.vercel.app/。源代码可在 https://github.com/run-llama/ts-playground 获取。
准备好了解更多吗?请查看我们的NextJS游乐场 https://llama-playground.vercel.app/ 。源代码可在 https://github.com/run-llama/ts-playground 获取。
@@ -15,17 +15,3 @@ LlamaIndex 目前正式支援 NodeJS 18 和 NodeJS 20。
```js
export const runtime = "nodejs"; // 預設值
```
並且您需要在 next.config.js 中為 pdf-parse 添加一個例外:
```js
// next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
serverComponentsExternalPackages: ["pdf-parse"], // 將 pdf-parse 放在實際的 NodeJS 模式中與 NextJS 應用程式路由器一起使用
},
};
module.exports = nextConfig;
```
+2
View File
@@ -28,8 +28,10 @@
},
"devDependencies": {
"@docusaurus/module-type-aliases": "2.4.3",
"@docusaurus/theme-classic": "^2.4.3",
"@docusaurus/types": "^2.4.3",
"@tsconfig/docusaurus": "^2.0.1",
"@types/node": "^18.19.6",
"docusaurus-plugin-typedoc": "^0.19.2",
"typedoc": "^0.24.8",
"typedoc-plugin-markdown": "^3.16.0",
+6 -2
View File
@@ -1,7 +1,11 @@
{
// This file is not used in compilation. It is here just for a nice editor experience.
"extends": "@tsconfig/docusaurus/tsconfig.json",
"extends": "./node_modules/@tsconfig/docusaurus/tsconfig.json",
"compilerOptions": {
"baseUrl": "."
"baseUrl": ".",
"composite": true,
"incremental": true,
"outDir": "./lib",
"tsBuildInfoFile": "./lib/.tsbuildinfo"
}
}
+10 -8
View File
@@ -2,13 +2,15 @@ import { Anthropic } from "llamaindex";
(async () => {
const anthropic = new Anthropic();
const result = await anthropic.chat([
{ content: "You want to talk in rhymes.", role: "system" },
{
content:
"How much wood would a woodchuck chuck if a woodchuck could chuck wood?",
role: "user",
},
]);
const result = await anthropic.chat({
messages: [
{ content: "You want to talk in rhymes.", role: "system" },
{
content:
"How much wood would a woodchuck chuck if a woodchuck could chuck wood?",
role: "user",
},
],
});
console.log(result);
})();
+1 -1
View File
@@ -10,7 +10,7 @@ const collectionName = "movie_reviews";
async function main() {
try {
const reader = new PapaCSVReader(false);
const docs = await reader.loadData("astradb/data/movie_reviews.csv");
const docs = await reader.loadData("../data/movie_reviews.csv");
const astraVS = new AstraDBVectorStore();
await astraVS.create(collectionName, {
+3 -1
View File
@@ -18,7 +18,9 @@ async function main() {
const queryEngine = await index.asQueryEngine({ retriever });
const results = await queryEngine.query("What is the best reviewed movie?");
const results = await queryEngine.query({
query: "What is the best reviewed movie?",
});
console.log(results.response);
} catch (e) {
+5 -2
View File
@@ -25,8 +25,11 @@ async function main() {
while (true) {
const query = await rl.question("Query: ");
const response = await chatEngine.chat(query);
console.log(response.toString());
const stream = await chatEngine.chat({ message: query, stream: true });
console.log();
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}
}
}
+13
View File
@@ -0,0 +1,13 @@
# Chroma Vector Store Example
How to run `examples/chromadb/test.ts`:
Export your OpenAI API Key using `export OPEN_API_KEY=insert your api key here`
If you haven't installed chromadb, run `pip install chromadb`. Start the server using `chroma run`.
Now, open a new terminal window and inside `examples`, run `pnpx ts-node chromadb/test.ts`.
Here's the output for the input query `Tell me about Godfrey Cheshire's rating of La Sapienza.`:
`Godfrey Cheshire gave La Sapienza a rating of 4 out of 4, describing it as fresh and the most astonishing and important movie to emerge from France in quite some time.`
+40
View File
@@ -0,0 +1,40 @@
import {
ChromaVectorStore,
PapaCSVReader,
storageContextFromDefaults,
VectorStoreIndex,
} from "llamaindex";
const collectionName = "movie_reviews";
async function main() {
const sourceFile: string = "./data/movie_reviews.csv";
try {
console.log(`Loading data from ${sourceFile}`);
const reader = new PapaCSVReader(false, ", ", "\n", {
header: true,
});
const docs = await reader.loadData(sourceFile);
console.log("Creating ChromaDB vector store");
const chromaVS = new ChromaVectorStore({ collectionName });
const ctx = await storageContextFromDefaults({ vectorStore: chromaVS });
console.log("Embedding documents and adding to index");
const index = await VectorStoreIndex.fromDocuments(docs, {
storageContext: ctx,
});
console.log("Querying index");
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query({
query: "Tell me about Godfrey Cheshire's rating of La Sapienza.",
});
console.log(response.toString());
} catch (e) {
console.error(e);
}
}
main();
@@ -1,101 +1,101 @@
title,reviewid,creationdate,criticname,originalscore,reviewstate,reviewtext
Beavers,1145982,2003-05-23,Ivan M. Lincoln,3.5/4,fresh,"Timed to be just long enough for most youngsters' brief attention spans -- and it's packed with plenty of interesting activity, both on land and under the water."
Blood Mask,1636744,2007-06-02,The Foywonder,1/5,rotten,"It doesn't matter if a movie costs 300 million or only 300 dollars; good is good and bad is bad, and Bloodmask: The Possession of Nicole Lameroux is just plain bad."
City Hunter: Shinjuku Private Eyes,2590987,2019-05-28,Reuben Baron,,fresh,"The choreography is so precise and lifelike at points one might wonder whether the movie was rotoscoped, but no live-action reference footage was used. The quality is due to the skill of the animators and Kodama's love for professional wrestling."
City Hunter: Shinjuku Private Eyes,2558908,2019-02-14,Matt Schley,2.5/5,rotten,The film's out-of-touch attempts at humor may find them hunting for the reason the franchise was so popular in the first place.
Dangerous Men,2504681,2018-08-29,Pat Padua,,fresh,Its clumsy determination is endearing and sometimes wildly entertaining
Dangerous Men,2299284,2015-12-13,Eric Melin,4/5,fresh,"With every new minute, there's another head-scratching choice that's bound to elicit some amazing out-loud responses, so this feels like a true party flick."
Dangerous Men,2295858,2015-11-22,Matt Donato,7/10,fresh,"Emotionless reaction shots, zero characterization, guns that have absolutely no special effects when blasted - Dangerous Men is rare winning dish from a one star restaurant."
Dangerous Men,2295338,2015-11-19,Peter Keough,0.5/4,rotten,"Conceivably, it could serve as a primer for students on how not to make a movie, and perhaps as a deconstruction of filmic conventions for the more theoretical minded."
Dangerous Men,2294641,2015-11-16,Jason Wilson,3/10,rotten,"If you're not a fan of garbage cinema, even for the fun of it, Dangerous Men is best to be avoided."
Dangerous Men,2294129,2015-11-12,Soren Andersen,0/4,rotten,"""Dangerous Men,"" the picture's production notes inform, took 26 years to reach the big screen. After having seen it, I wonder: What was the rush?"
Dangerous Men,2293902,2015-11-12,Maitland McDonagh,,rotten,Will entertain some viewers and infuriate others with its clunky mix of feminist fury and awkward action sequences.
Dangerous Men,2293900,2015-11-12,Marjorie Baumgarten,1.5/5,rotten,"This is a bad movie, but one that awakens your senses every so often with flashes of originality and abundant self-belief."
Dangerous Men,2293815,2015-11-12,Katie Rife,B+,fresh,"Ridiculous, artless, and wildly entertaining, Dangerous Men is more than the sum of its fascinatingly misguided parts, although it will take a special sort of moviegoer to truly appreciate (or endure, depending on your perspective) its charms."
Dangerous Men,2293605,2015-11-11,Amy Nicholson,C,fresh,To sit through it feels like honoring the dreamers of the world who at least get shit done. Is it terrible? Of course. Is there belly-dancing? Duh.
Small Town Wisconsin,102711819,2022-07-22,Peter Gray,,fresh,Small Town Wisconsin could hit some home truths for viewers&#44; and though being faced with the truth isn&#8217;t always pleasant&#44; it feels necessary in growing towards a happier fruition&#46;
Small Town Wisconsin,102711545,2022-07-22,Tim Grierson,,fresh,"This low-key drama has lovely interludes and some nicely understated performances, although director Niels Mueller doesnt glean too many new insights from Jason Naczeks familiar story..."
Small Town Wisconsin,102700937,2022-06-16,Sumner Forbes,8.5/10,fresh,"Small Town Wisconsin is a success in almost every regard, and if you can see over the legions of cheeseheads in the rows ahead of you, it shouldnt be missed."
Small Town Wisconsin,102699897,2022-06-14,Tara McNamara,3/5,fresh,Just like Wayne&#44; Small Town Wisconsin has flaws&#44; but the poignancy of the story will stick with you for a long time&#46;
Small Town Wisconsin,102698744,2022-06-10,Rob Thomas,3/4,fresh,It&#8217;s a movie with its heart in the right place&#44; and does both small town and big city Wisconsin proud&#46;
Small Town Wisconsin,102698639,2022-06-10,Todd Jorgenson,,rotten,Despite some intriguing character dynamics and performances that generate sympathy for this fractured family&#44; the film stumbles when it veers into melodrama without the narrative dexterity to tackle its weightier ambitions&#46;
Small Town Wisconsin,102698482,2022-06-10,Jackie K. Cooper,7/10,fresh,This is the kind of movie that draws you so deeply into its story you are reluctant to let it end&#46;
Small Town Wisconsin,102698164,2022-06-09,Glenn Kenny,,fresh,"Muellers direction is patient and sensitive, the cast is accomplished and committed, and the pictures comedic aspects sometimes earn a chuckle."
Small Town Wisconsin,102697854,2022-06-08,Brian Orndorf,B+,fresh,Naczek isn&apos;t interested in making a soap opera with this examination of fallibility&#44; going somewhere much more authentic when exploring character aches and pains&#46;
Small Town Wisconsin,102695788,2022-06-02,Eddie Harrison,4/5,fresh,&#8230;a warm-hearted story of everyday life that&#8217;s easy to recommend for those who like films about people rather than portals and vortexes&#8230;
Small Town Wisconsin,102695250,2022-05-31,Laura Clifford,C,rotten,Debuting screenwriter Jason Naczek has concocted a manchild redemption story using metaphors as heavy as a hammer and a fairy godmother who makes everything alright with a seeming flip of the switch&#46;
Small Town Wisconsin,2733251,2020-10-12,Jared Mobarak,B,fresh,Small Town Wisconsin is always proving itself to be more than its familiar premise thanks to Naczek's ability to infuse a lot more drama into the mix than one custody battle.
Tejano,2564925,2019-03-07,Joe Friar,3/4,fresh,The story of a South Texas ranch hand who gets mixed up with a Mexican cartel moves with pulse-pounding velocity and features top performances from a talented cast of actors with Texas roots.
Tejano,2557738,2019-02-12,Cary Darling,4/5,fresh,"An entertaining blast of Texas noir that nods toward the work of the Coen brothers, Quentin Tarantino and fellow Austinite Greg Kwedar's 2016 low-budget thriller ""Transpecos"" as well as ""Breaking Bad."""
Tejano,2547231,2019-01-10,Danielle White,3/5,fresh,The story itself slithers with twists and turns and unexpected betrayals. It's almost ridiculous how many characters die in this film.
Tejano,2530119,2018-11-08,Chris Salce,9/10,fresh,"Tejano is one of those films that can be described as a hidden gem as it sneaks under the radar and will have you talking, telling your friends about it, and wanting to watch it again."
Death of a Salesman,2770637,2021-02-23,Michael Dougan,,fresh,"Miller has taken a small, intimate tale and expanded it into a treatise on larger themes, primarily the abuse of the American Dream."
Death of a Salesman,1950734,2011-01-02,Randy White,5/5,fresh,A classic American tragedy.
Death of a Salesman,1422415,2005-08-04,Jules Brenner,4/5,fresh,
Death of a Salesman,1409415,2005-07-05,Emanuel Levy,3/5,fresh,
Death of a Salesman,839546,2003-02-06,Frederic and Mary Ann Brussat,,fresh,"Death of a Salesman, directed by Volker Schlondorff, draws out the multiple meanings of this Pulitzer Prize-winning play by Arthur Miller about change, family and fatherhood, work and love."
Death of a Salesman,788410,2002-09-29,Dan Lybarger,4/5,fresh,"Schlndorff's artificial settings and some amazing performances help keep this from looking like a typical ""filmed play."""
Death of a Salesman,751951,2002-08-08,Cory Cheney,4/5,fresh,
Death of a Salesman,743794,2002-07-26,Bob Grimm,5/5,fresh,
Death of a Salesman,743291,2002-07-26,Scott Weinberg,5/5,fresh,They MAKE you watch it in English class for a good reason!
Sahara,1137710,2003-05-13,Dragan Antulov,5/10,fresh,
The Debt,2628192,2019-09-20,Diego Batlle,,fresh,A Bresson-esque movie that is always enigmatic. [Full Review in Spanish]
The Debt,2627988,2019-09-20,Gaspar Zimerman,,fresh,The story [Director Gustavo Fontán] tells is an excuse to give way to the exploration of feelings and sensations that avoid verbality. [Full review in Spanish]
Peppermint Candy,2725008,2020-09-16,A.S. Hamrah,,fresh,"South Korean political history of the previous twenty years, Peppermint Candy is not tempered by its hysterical edge, which adds unpredictable violence to its vignettes of romantic, domestic, and business failure."
Peppermint Candy,2541271,2018-12-16,Panos Kotzathanasis,,fresh,"Lee Chang-dong presents a melodrama that stands apart from the plethora of similar productions due to its intense political element, because it doesn't lose its seriousness at any point and because it doesn't become hyperbolic in his effort to draw tears"
Peppermint Candy,1883708,2010-05-11,Anton Bitel,,fresh,"This is Korea's millennial elegy, filtering its search for times past through a confection no less bittersweet than Proust's madeleine."
Peppermint Candy,1706014,2008-01-29,Beth Accomando,9/10,fresh,The film offers a heartbreaking drama told in reverse chronology and spanning twenty years in both the life of the main character and the political history of Korea.
Peppermint Candy,1231988,2003-12-22,Greg Muskewitz,2/5,rotten,
Peppermint Candy,1187104,2003-08-14,Joshua Tanzer,4/4,fresh,"It's a story about the original sin of a nation as well as one character. There has rarely been a better film made, ever"
Prison Girls,2475348,2018-05-03,Roger Ebert,,rotten,Prison Girls didn't have a lot of prison sets because it was a big-budget exploitation movie. Maybe.
Gimme the Power,2575688,2019-04-09,Afroxander,,fresh,"Rubio's film shows ambition where none is required, making Gimme the Power a lot like Molotov's music: politically engaged without having to take itself too seriously."
Paa,2673089,2020-02-27,Nikhat Kazmi,3.5/5,fresh,"The film, which peters off into vague sub-plots about slum redevelopment and unwarranted media-bashing in the first half, suddenly picks up and scales new heights in the second half."
Paa,2578129,2019-04-17,Shubhra Gupta,2/5,rotten,"Disappointingly, Paa is not as out-of-the-box as it could have been."
Paa,2429810,2017-10-24,Anil Sinanan,3/5,rotten,Will Auro survive to know his Pa and reunite his parents? Forget about the disease: this is a vanity vehicle designed to showcase the Big B's versatility.
Paa,1860476,2009-12-14,Frank Lovece,,rotten,This would-be tearjerker without the musical numbers of typical Bollywood fare is for die-hard Amitabh Bachchan fans only.
Paa,1860473,2009-12-14,David Chute,,fresh,"The film owes much of its interest to the alertness and sincerity of the younger Bachchan and the luminous Vidya Balan as the anguished parents, and to the soft wash of the tasteful playback songs supplied by Ilaiyaraaja."
Paa,1858964,2009-12-05,Avi Offer,5.85/10,rotten,"Well-acted, funny and occasionally witty with terrific make-up design. However, it's often convoluted, awkwardly paced and too uneven as a whole."
Paa,1858853,2009-12-04,Frank Lovece,,fresh,"A would-be tearjerker without the singing-dancing musical numbers of typical Bollywood fare seen in the U.S., the lackluster Paa is for die-hard Amitabh Bachchan fans only%u2014of which there is no small number."
Paa,1858816,2009-12-04,Rachel Saltz,3/5,fresh,Odd and sometimes oddly affecting.
Alraune (A Daughter of Destiny) (Mandrake) (Unholy Love),2835964,2021-10-30,Erich Hellmund-Waldow,,fresh,"The acting is not only artistic, it is also as realistic as can be possible in such a film."
Alraune (A Daughter of Destiny) (Mandrake) (Unholy Love),2357086,2016-10-17,C. Hooper Trask,,fresh,"Aimed straight for the gooseflesh, it strikes directly into the centre of the target."
Toorbos,2760593,2021-01-29,Neil Young,,fresh,Built around a luminous and intriguing central performance by dancer-actor Elani Dekker.
Toorbos,2752827,2020-12-21,Guy Lodge,,fresh,"A satisfying marriage of folky period romance and environmental parable from the misty, mossy depths of South Africa's Knysna forest region..."
Connors' War,1555113,2006-11-09,David Nusair,1.5/4,rotten,"...although Criss does show some potential as a performer, his efforts to step into the shoes of a blind character are laughable."
Connors' War,1539106,2006-09-19,Scott Weinberg,2/5,rotten,"Standard cable fodder all the way, with only a few solid action scenes and maybe one colorful performance in the whole thing."
Born to Kill,2710947,2020-08-05,Mike Massie,10/10,fresh,"One of the most acerbic of all films noir, boasting essentially no redeemable characters (or a wealth of deliciously evil villains) while also being utterly enthralling."
Born to Kill,2340106,2016-07-15,David Nusair,3/4,fresh,...a fairly typical film-noir premise that's employed to watchable yet entirely unmemorable effect by Robert Wise...
Born to Kill,1507021,2006-05-16,Nick Schager,B,fresh,Competent if slightly too tame for a supposedly sleazy story.
Born to Kill,1501617,2006-05-01,Fernando F. Croce,,fresh,"The usually meek Robert Wise trades his chameleonic tastefulness for full-on, jazzy misanthropy in this nasty melodrama."
Born to Kill,1433953,2005-09-09,Jeffrey M. Anderson,3/4,fresh,"Hard to watch, but effective and alluring nonetheless."
Born to Kill,1123980,2003-04-02,Dennis Schwartz,C,rotten,A revolting B film noir...
The Soong Sisters,1402087,2005-06-15,Emanuel Levy,3/5,fresh,
La Sapienza,102772380,2023-01-24,Vadim Rizov,,fresh,"Sapienza is a pretty lovely film. Symmetricities are everywhere, starting with that opening architectural showreel, which deliberately avoids perfect symmetricity..."
La Sapienza,2767839,2021-02-14,Dustin Chang,,fresh,Their sincere expression of these thoughts rings true and melts away its artificiality in its presentation soon enough. This is the beauty of La Sapienza and Green films in general.
La Sapienza,2598336,2019-06-18,C.J. Prince,,fresh,"It's a nice entry point into a peculiar cinematic universe, and those willing to open themselves to it will find a lot to enjoy."
La Sapienza,2503963,2018-08-28,Charles Mudede,,fresh,"If architecture aspires to the condition of music, the acting in La Sapienza aspires to the condition of architecture. You will love the ending of this very original and elegant and arty work."
La Sapienza,2314368,2016-03-12,Forrest Cardamenis,B,fresh,This startling architectural juxtaposition feels like a wake-up call.
La Sapienza,2275677,2015-08-03,Nicole Armour,,fresh,"While Green's film is dense with historical fact and theory, it's not averse to plumbing life's mysteries. Suffused with warmth, it expresses a potent admiration for human striving and accomplishment."
La Sapienza,2273804,2015-07-23,Norman Wilner,2/5,rotten,"The uncomplicated narrative resists stylization; Green's presentation turns everyone into mannequins, rendering their emotions theoretical. That may well be his point, but it didn't work for me."
La Sapienza,2269287,2015-06-26,Sam Lubell,,fresh,"On the surface, writer-director Eugne Green's film ""La Sapienza"" is slow, strange and awkward - but stick with it and it may win you over."
La Sapienza,2265997,2015-06-05,Rob Garratt,4/5,fresh,"Layered with reels of swirling shots of Rome's most beautiful buildings -- all crucially shot from the ground upwards, staring at the heavens-- La Sapienza is visually stunning."
La Sapienza,2265990,2015-06-05,Boyd van Hoeij,,fresh,"The Sapience juxtaposes insights on how people are emotionally connected with ruminations on the buildings and spaces through which they move, in which they live and, in Alexandre's case, which they also create."
La Sapienza,2265989,2015-06-05,Robert Horton,3/4,fresh,"If you can groove into this non-realistic mode, the film casts a spell."
La Sapienza,2265790,2015-06-04,Tom Keogh,3.5/4,fresh,A beautiful space for people and light.
La Sapienza,2255621,2015-04-09,Wesley Morris,,rotten,This kind of formalism needs to do more than walk through classical wonders. It should want to create cinema that can stand near or beside them. This movie defensively consecrates what's already there. You don't need a film to do that.
La Sapienza,2255195,2015-04-08,Scott Foundas,,fresh,"An exquisite rumination on life, love and art that tickles the heart and mind in equal measure."
La Sapienza,2252858,2015-03-23,Richard Brody,,fresh,"Green's richly textured, painterly images fuse with the story to evoke the essence of humane urbanity and the relationships that it fosters, whether educational, familial, or erotic."
La Sapienza,2252553,2015-03-20,Ignatiy Vishnevetsky,B+,fresh,"Green doesn't so much use his characters as mouthpieces as emotionally invest them in art, turning opinions into feelings."
La Sapienza,2252541,2015-03-20,Godfrey Cheshire,4/4,fresh,"""La Sapienza"" strikes this reviewer as easily the most astonishing and important movie to emerge from France in quite some time."
La Sapienza,2252452,2015-03-19,A.O. Scott,,fresh,The movie is an unapologetically rarefied undertaking and at the same time a gracious and inviting film.
La Sapienza,2252301,2015-03-19,David Noh,,rotten,"Pretentious, stuffy and slow. There's some beautiful scenery here but oh, what you must put up with to earn it!"
La Sapienza,2252028,2015-03-18,Noel Murray,3/5,fresh,"While La Sapienza is unsatisfying as drama, it's frequently beautiful just as a tour through architecturally significant Italian buildings."
La Sapienza,2251985,2015-03-17,David Ehrlich,3/5,fresh,La Sapienza alternately feels like a self-reflexive love story or a haunted history lesson -- its best scenes play like both.
La Sapienza,2251926,2015-03-17,Zachary Wigon,,fresh,A picture that balances heart and mind with nuance.
La Sapienza,2251650,2015-03-14,Harvey S. Karten,B+,fresh,"As in ""Who's Afraid of Virginia Woolf,"" both the younger couple and their older mentors are changed from a relationship."
La Sapienza,2250991,2015-03-12,Ben Sachs,,fresh,"This recalls Manoel de Oliveira and Eric Rohmer in its poker-faced style, deliberately archaic storytelling, and magisterial epiphanies."
La Sapienza,2225361,2014-09-28,Donald J. Levit,,fresh,"Although a love-fiction crossed with documentary lecture and superb Raphael O'Byrne cinematography, 'La Sapienza' is as close as celluloid can approach to architecture."
La Sapienza,2222032,2014-09-10,Carson Lund,3/4,fresh,"Eugne Green's mannered direction doesn't work for every situation it's homogenously applied to, but at its most effective it inspires an enhanced sensitivity to the import of every gesture, visual or verbal."
Uncle Tom,2713732,2020-08-14,Megan Basham,,fresh,Uncle Tom suffers from an overreliance on pundits. Its most compelling insights come from people who've never been quoted in a Twitter or Facebook battle.
Uncle Tom,2706229,2020-07-19,Matthew Pejkovic,4/5,fresh,"An incredibly relevant and insightful documentary that delves into the past, present, and future of the black American conservative movement."
title,reviewid,creationdate,criticname,originalscore,reviewstate,reviewtext
Beavers,1145982,2003-05-23,Ivan M. Lincoln,3.5/4,fresh,"Timed to be just long enough for most youngsters' brief attention spans -- and it's packed with plenty of interesting activity, both on land and under the water."
Blood Mask,1636744,2007-06-02,The Foywonder,1/5,rotten,"It doesn't matter if a movie costs 300 million or only 300 dollars; good is good and bad is bad, and Bloodmask: The Possession of Nicole Lameroux is just plain bad."
City Hunter: Shinjuku Private Eyes,2590987,2019-05-28,Reuben Baron,,fresh,"The choreography is so precise and lifelike at points one might wonder whether the movie was rotoscoped, but no live-action reference footage was used. The quality is due to the skill of the animators and Kodama's love for professional wrestling."
City Hunter: Shinjuku Private Eyes,2558908,2019-02-14,Matt Schley,2.5/5,rotten,The film's out-of-touch attempts at humor may find them hunting for the reason the franchise was so popular in the first place.
Dangerous Men,2504681,2018-08-29,Pat Padua,,fresh,Its clumsy determination is endearing and sometimes wildly entertaining
Dangerous Men,2299284,2015-12-13,Eric Melin,4/5,fresh,"With every new minute, there's another head-scratching choice that's bound to elicit some amazing out-loud responses, so this feels like a true party flick."
Dangerous Men,2295858,2015-11-22,Matt Donato,7/10,fresh,"Emotionless reaction shots, zero characterization, guns that have absolutely no special effects when blasted - Dangerous Men is rare winning dish from a one star restaurant."
Dangerous Men,2295338,2015-11-19,Peter Keough,0.5/4,rotten,"Conceivably, it could serve as a primer for students on how not to make a movie, and perhaps as a deconstruction of filmic conventions for the more theoretical minded."
Dangerous Men,2294641,2015-11-16,Jason Wilson,3/10,rotten,"If you're not a fan of garbage cinema, even for the fun of it, Dangerous Men is best to be avoided."
Dangerous Men,2294129,2015-11-12,Soren Andersen,0/4,rotten,"""Dangerous Men,"" the picture's production notes inform, took 26 years to reach the big screen. After having seen it, I wonder: What was the rush?"
Dangerous Men,2293902,2015-11-12,Maitland McDonagh,,rotten,Will entertain some viewers and infuriate others with its clunky mix of feminist fury and awkward action sequences.
Dangerous Men,2293900,2015-11-12,Marjorie Baumgarten,1.5/5,rotten,"This is a bad movie, but one that awakens your senses every so often with flashes of originality and abundant self-belief."
Dangerous Men,2293815,2015-11-12,Katie Rife,B+,fresh,"Ridiculous, artless, and wildly entertaining, Dangerous Men is more than the sum of its fascinatingly misguided parts, although it will take a special sort of moviegoer to truly appreciate (or endure, depending on your perspective) its charms."
Dangerous Men,2293605,2015-11-11,Amy Nicholson,C,fresh,To sit through it feels like honoring the dreamers of the world who at least get shit done. Is it terrible? Of course. Is there belly-dancing? Duh.
Small Town Wisconsin,102711819,2022-07-22,Peter Gray,,fresh,Small Town Wisconsin could hit some home truths for viewers&#44; and though being faced with the truth isn&#8217;t always pleasant&#44; it feels necessary in growing towards a happier fruition&#46;
Small Town Wisconsin,102711545,2022-07-22,Tim Grierson,,fresh,"This low-key drama has lovely interludes and some nicely understated performances, although director Niels Mueller doesnt glean too many new insights from Jason Naczeks familiar story..."
Small Town Wisconsin,102700937,2022-06-16,Sumner Forbes,8.5/10,fresh,"Small Town Wisconsin is a success in almost every regard, and if you can see over the legions of cheeseheads in the rows ahead of you, it shouldnt be missed."
Small Town Wisconsin,102699897,2022-06-14,Tara McNamara,3/5,fresh,Just like Wayne&#44; Small Town Wisconsin has flaws&#44; but the poignancy of the story will stick with you for a long time&#46;
Small Town Wisconsin,102698744,2022-06-10,Rob Thomas,3/4,fresh,It&#8217;s a movie with its heart in the right place&#44; and does both small town and big city Wisconsin proud&#46;
Small Town Wisconsin,102698639,2022-06-10,Todd Jorgenson,,rotten,Despite some intriguing character dynamics and performances that generate sympathy for this fractured family&#44; the film stumbles when it veers into melodrama without the narrative dexterity to tackle its weightier ambitions&#46;
Small Town Wisconsin,102698482,2022-06-10,Jackie K. Cooper,7/10,fresh,This is the kind of movie that draws you so deeply into its story you are reluctant to let it end&#46;
Small Town Wisconsin,102698164,2022-06-09,Glenn Kenny,,fresh,"Muellers direction is patient and sensitive, the cast is accomplished and committed, and the pictures comedic aspects sometimes earn a chuckle."
Small Town Wisconsin,102697854,2022-06-08,Brian Orndorf,B+,fresh,Naczek isn&apos;t interested in making a soap opera with this examination of fallibility&#44; going somewhere much more authentic when exploring character aches and pains&#46;
Small Town Wisconsin,102695788,2022-06-02,Eddie Harrison,4/5,fresh,&#8230;a warm-hearted story of everyday life that&#8217;s easy to recommend for those who like films about people rather than portals and vortexes&#8230;
Small Town Wisconsin,102695250,2022-05-31,Laura Clifford,C,rotten,Debuting screenwriter Jason Naczek has concocted a manchild redemption story using metaphors as heavy as a hammer and a fairy godmother who makes everything alright with a seeming flip of the switch&#46;
Small Town Wisconsin,2733251,2020-10-12,Jared Mobarak,B,fresh,Small Town Wisconsin is always proving itself to be more than its familiar premise thanks to Naczek's ability to infuse a lot more drama into the mix than one custody battle.
Tejano,2564925,2019-03-07,Joe Friar,3/4,fresh,The story of a South Texas ranch hand who gets mixed up with a Mexican cartel moves with pulse-pounding velocity and features top performances from a talented cast of actors with Texas roots.
Tejano,2557738,2019-02-12,Cary Darling,4/5,fresh,"An entertaining blast of Texas noir that nods toward the work of the Coen brothers, Quentin Tarantino and fellow Austinite Greg Kwedar's 2016 low-budget thriller ""Transpecos"" as well as ""Breaking Bad."""
Tejano,2547231,2019-01-10,Danielle White,3/5,fresh,The story itself slithers with twists and turns and unexpected betrayals. It's almost ridiculous how many characters die in this film.
Tejano,2530119,2018-11-08,Chris Salce,9/10,fresh,"Tejano is one of those films that can be described as a hidden gem as it sneaks under the radar and will have you talking, telling your friends about it, and wanting to watch it again."
Death of a Salesman,2770637,2021-02-23,Michael Dougan,,fresh,"Miller has taken a small, intimate tale and expanded it into a treatise on larger themes, primarily the abuse of the American Dream."
Death of a Salesman,1950734,2011-01-02,Randy White,5/5,fresh,A classic American tragedy.
Death of a Salesman,1422415,2005-08-04,Jules Brenner,4/5,fresh,
Death of a Salesman,1409415,2005-07-05,Emanuel Levy,3/5,fresh,
Death of a Salesman,839546,2003-02-06,Frederic and Mary Ann Brussat,,fresh,"Death of a Salesman, directed by Volker Schlondorff, draws out the multiple meanings of this Pulitzer Prize-winning play by Arthur Miller about change, family and fatherhood, work and love."
Death of a Salesman,788410,2002-09-29,Dan Lybarger,4/5,fresh,"Schlndorff's artificial settings and some amazing performances help keep this from looking like a typical ""filmed play."""
Death of a Salesman,751951,2002-08-08,Cory Cheney,4/5,fresh,
Death of a Salesman,743794,2002-07-26,Bob Grimm,5/5,fresh,
Death of a Salesman,743291,2002-07-26,Scott Weinberg,5/5,fresh,They MAKE you watch it in English class for a good reason!
Sahara,1137710,2003-05-13,Dragan Antulov,5/10,fresh,
The Debt,2628192,2019-09-20,Diego Batlle,,fresh,A Bresson-esque movie that is always enigmatic. [Full Review in Spanish]
The Debt,2627988,2019-09-20,Gaspar Zimerman,,fresh,The story [Director Gustavo Fontán] tells is an excuse to give way to the exploration of feelings and sensations that avoid verbality. [Full review in Spanish]
Peppermint Candy,2725008,2020-09-16,A.S. Hamrah,,fresh,"South Korean political history of the previous twenty years, Peppermint Candy is not tempered by its hysterical edge, which adds unpredictable violence to its vignettes of romantic, domestic, and business failure."
Peppermint Candy,2541271,2018-12-16,Panos Kotzathanasis,,fresh,"Lee Chang-dong presents a melodrama that stands apart from the plethora of similar productions due to its intense political element, because it doesn't lose its seriousness at any point and because it doesn't become hyperbolic in his effort to draw tears"
Peppermint Candy,1883708,2010-05-11,Anton Bitel,,fresh,"This is Korea's millennial elegy, filtering its search for times past through a confection no less bittersweet than Proust's madeleine."
Peppermint Candy,1706014,2008-01-29,Beth Accomando,9/10,fresh,The film offers a heartbreaking drama told in reverse chronology and spanning twenty years in both the life of the main character and the political history of Korea.
Peppermint Candy,1231988,2003-12-22,Greg Muskewitz,2/5,rotten,
Peppermint Candy,1187104,2003-08-14,Joshua Tanzer,4/4,fresh,"It's a story about the original sin of a nation as well as one character. There has rarely been a better film made, ever"
Prison Girls,2475348,2018-05-03,Roger Ebert,,rotten,Prison Girls didn't have a lot of prison sets because it was a big-budget exploitation movie. Maybe.
Gimme the Power,2575688,2019-04-09,Afroxander,,fresh,"Rubio's film shows ambition where none is required, making Gimme the Power a lot like Molotov's music: politically engaged without having to take itself too seriously."
Paa,2673089,2020-02-27,Nikhat Kazmi,3.5/5,fresh,"The film, which peters off into vague sub-plots about slum redevelopment and unwarranted media-bashing in the first half, suddenly picks up and scales new heights in the second half."
Paa,2578129,2019-04-17,Shubhra Gupta,2/5,rotten,"Disappointingly, Paa is not as out-of-the-box as it could have been."
Paa,2429810,2017-10-24,Anil Sinanan,3/5,rotten,Will Auro survive to know his Pa and reunite his parents? Forget about the disease: this is a vanity vehicle designed to showcase the Big B's versatility.
Paa,1860476,2009-12-14,Frank Lovece,,rotten,This would-be tearjerker without the musical numbers of typical Bollywood fare is for die-hard Amitabh Bachchan fans only.
Paa,1860473,2009-12-14,David Chute,,fresh,"The film owes much of its interest to the alertness and sincerity of the younger Bachchan and the luminous Vidya Balan as the anguished parents, and to the soft wash of the tasteful playback songs supplied by Ilaiyaraaja."
Paa,1858964,2009-12-05,Avi Offer,5.85/10,rotten,"Well-acted, funny and occasionally witty with terrific make-up design. However, it's often convoluted, awkwardly paced and too uneven as a whole."
Paa,1858853,2009-12-04,Frank Lovece,,fresh,"A would-be tearjerker without the singing-dancing musical numbers of typical Bollywood fare seen in the U.S., the lackluster Paa is for die-hard Amitabh Bachchan fans only%u2014of which there is no small number."
Paa,1858816,2009-12-04,Rachel Saltz,3/5,fresh,Odd and sometimes oddly affecting.
Alraune (A Daughter of Destiny) (Mandrake) (Unholy Love),2835964,2021-10-30,Erich Hellmund-Waldow,,fresh,"The acting is not only artistic, it is also as realistic as can be possible in such a film."
Alraune (A Daughter of Destiny) (Mandrake) (Unholy Love),2357086,2016-10-17,C. Hooper Trask,,fresh,"Aimed straight for the gooseflesh, it strikes directly into the centre of the target."
Toorbos,2760593,2021-01-29,Neil Young,,fresh,Built around a luminous and intriguing central performance by dancer-actor Elani Dekker.
Toorbos,2752827,2020-12-21,Guy Lodge,,fresh,"A satisfying marriage of folky period romance and environmental parable from the misty, mossy depths of South Africa's Knysna forest region..."
Connors' War,1555113,2006-11-09,David Nusair,1.5/4,rotten,"...although Criss does show some potential as a performer, his efforts to step into the shoes of a blind character are laughable."
Connors' War,1539106,2006-09-19,Scott Weinberg,2/5,rotten,"Standard cable fodder all the way, with only a few solid action scenes and maybe one colorful performance in the whole thing."
Born to Kill,2710947,2020-08-05,Mike Massie,10/10,fresh,"One of the most acerbic of all films noir, boasting essentially no redeemable characters (or a wealth of deliciously evil villains) while also being utterly enthralling."
Born to Kill,2340106,2016-07-15,David Nusair,3/4,fresh,...a fairly typical film-noir premise that's employed to watchable yet entirely unmemorable effect by Robert Wise...
Born to Kill,1507021,2006-05-16,Nick Schager,B,fresh,Competent if slightly too tame for a supposedly sleazy story.
Born to Kill,1501617,2006-05-01,Fernando F. Croce,,fresh,"The usually meek Robert Wise trades his chameleonic tastefulness for full-on, jazzy misanthropy in this nasty melodrama."
Born to Kill,1433953,2005-09-09,Jeffrey M. Anderson,3/4,fresh,"Hard to watch, but effective and alluring nonetheless."
Born to Kill,1123980,2003-04-02,Dennis Schwartz,C,rotten,A revolting B film noir...
The Soong Sisters,1402087,2005-06-15,Emanuel Levy,3/5,fresh,
La Sapienza,102772380,2023-01-24,Vadim Rizov,,fresh,"Sapienza is a pretty lovely film. Symmetricities are everywhere, starting with that opening architectural showreel, which deliberately avoids perfect symmetricity..."
La Sapienza,2767839,2021-02-14,Dustin Chang,,fresh,Their sincere expression of these thoughts rings true and melts away its artificiality in its presentation soon enough. This is the beauty of La Sapienza and Green films in general.
La Sapienza,2598336,2019-06-18,C.J. Prince,,fresh,"It's a nice entry point into a peculiar cinematic universe, and those willing to open themselves to it will find a lot to enjoy."
La Sapienza,2503963,2018-08-28,Charles Mudede,,fresh,"If architecture aspires to the condition of music, the acting in La Sapienza aspires to the condition of architecture. You will love the ending of this very original and elegant and arty work."
La Sapienza,2314368,2016-03-12,Forrest Cardamenis,B,fresh,This startling architectural juxtaposition feels like a wake-up call.
La Sapienza,2275677,2015-08-03,Nicole Armour,,fresh,"While Green's film is dense with historical fact and theory, it's not averse to plumbing life's mysteries. Suffused with warmth, it expresses a potent admiration for human striving and accomplishment."
La Sapienza,2273804,2015-07-23,Norman Wilner,2/5,rotten,"The uncomplicated narrative resists stylization; Green's presentation turns everyone into mannequins, rendering their emotions theoretical. That may well be his point, but it didn't work for me."
La Sapienza,2269287,2015-06-26,Sam Lubell,,fresh,"On the surface, writer-director Eugne Green's film ""La Sapienza"" is slow, strange and awkward - but stick with it and it may win you over."
La Sapienza,2265997,2015-06-05,Rob Garratt,4/5,fresh,"Layered with reels of swirling shots of Rome's most beautiful buildings -- all crucially shot from the ground upwards, staring at the heavens-- La Sapienza is visually stunning."
La Sapienza,2265990,2015-06-05,Boyd van Hoeij,,fresh,"The Sapience juxtaposes insights on how people are emotionally connected with ruminations on the buildings and spaces through which they move, in which they live and, in Alexandre's case, which they also create."
La Sapienza,2265989,2015-06-05,Robert Horton,3/4,fresh,"If you can groove into this non-realistic mode, the film casts a spell."
La Sapienza,2265790,2015-06-04,Tom Keogh,3.5/4,fresh,A beautiful space for people and light.
La Sapienza,2255621,2015-04-09,Wesley Morris,,rotten,This kind of formalism needs to do more than walk through classical wonders. It should want to create cinema that can stand near or beside them. This movie defensively consecrates what's already there. You don't need a film to do that.
La Sapienza,2255195,2015-04-08,Scott Foundas,,fresh,"An exquisite rumination on life, love and art that tickles the heart and mind in equal measure."
La Sapienza,2252858,2015-03-23,Richard Brody,,fresh,"Green's richly textured, painterly images fuse with the story to evoke the essence of humane urbanity and the relationships that it fosters, whether educational, familial, or erotic."
La Sapienza,2252553,2015-03-20,Ignatiy Vishnevetsky,B+,fresh,"Green doesn't so much use his characters as mouthpieces as emotionally invest them in art, turning opinions into feelings."
La Sapienza,2252541,2015-03-20,Godfrey Cheshire,4/4,fresh,"""La Sapienza"" strikes this reviewer as easily the most astonishing and important movie to emerge from France in quite some time."
La Sapienza,2252452,2015-03-19,A.O. Scott,,fresh,The movie is an unapologetically rarefied undertaking and at the same time a gracious and inviting film.
La Sapienza,2252301,2015-03-19,David Noh,,rotten,"Pretentious, stuffy and slow. There's some beautiful scenery here but oh, what you must put up with to earn it!"
La Sapienza,2252028,2015-03-18,Noel Murray,3/5,fresh,"While La Sapienza is unsatisfying as drama, it's frequently beautiful just as a tour through architecturally significant Italian buildings."
La Sapienza,2251985,2015-03-17,David Ehrlich,3/5,fresh,La Sapienza alternately feels like a self-reflexive love story or a haunted history lesson -- its best scenes play like both.
La Sapienza,2251926,2015-03-17,Zachary Wigon,,fresh,A picture that balances heart and mind with nuance.
La Sapienza,2251650,2015-03-14,Harvey S. Karten,B+,fresh,"As in ""Who's Afraid of Virginia Woolf,"" both the younger couple and their older mentors are changed from a relationship."
La Sapienza,2250991,2015-03-12,Ben Sachs,,fresh,"This recalls Manoel de Oliveira and Eric Rohmer in its poker-faced style, deliberately archaic storytelling, and magisterial epiphanies."
La Sapienza,2225361,2014-09-28,Donald J. Levit,,fresh,"Although a love-fiction crossed with documentary lecture and superb Raphael O'Byrne cinematography, 'La Sapienza' is as close as celluloid can approach to architecture."
La Sapienza,2222032,2014-09-10,Carson Lund,3/4,fresh,"Eugne Green's mannered direction doesn't work for every situation it's homogenously applied to, but at its most effective it inspires an enhanced sensitivity to the import of every gesture, visual or verbal."
Uncle Tom,2713732,2020-08-14,Megan Basham,,fresh,Uncle Tom suffers from an overreliance on pundits. Its most compelling insights come from people who've never been quoted in a Twitter or Facebook battle.
Uncle Tom,2706229,2020-07-19,Matthew Pejkovic,4/5,fresh,"An incredibly relevant and insightful documentary that delves into the past, present, and future of the black American conservative movement."
Uncle Tom,2698525,2020-06-24,Dante James,7/10,fresh,"It's a little misleading in some areas, especially if you know the players involved in this doc, but there are a lot of interesting historical facts about the breakdown of the Black family and how the whole welfare system targeted the Black community."
1 title reviewid creationdate criticname originalscore reviewstate reviewtext
2 Beavers 1145982 2003-05-23 Ivan M. Lincoln 3.5/4 fresh Timed to be just long enough for most youngsters' brief attention spans -- and it's packed with plenty of interesting activity, both on land and under the water.
3 Blood Mask 1636744 2007-06-02 The Foywonder 1/5 rotten It doesn't matter if a movie costs 300 million or only 300 dollars; good is good and bad is bad, and Bloodmask: The Possession of Nicole Lameroux is just plain bad.
4 City Hunter: Shinjuku Private Eyes 2590987 2019-05-28 Reuben Baron fresh The choreography is so precise and lifelike at points one might wonder whether the movie was rotoscoped, but no live-action reference footage was used. The quality is due to the skill of the animators and Kodama's love for professional wrestling.
5 City Hunter: Shinjuku Private Eyes 2558908 2019-02-14 Matt Schley 2.5/5 rotten The film's out-of-touch attempts at humor may find them hunting for the reason the franchise was so popular in the first place.
6 Dangerous Men 2504681 2018-08-29 Pat Padua fresh Its clumsy determination is endearing and sometimes wildly entertaining
7 Dangerous Men 2299284 2015-12-13 Eric Melin 4/5 fresh With every new minute, there's another head-scratching choice that's bound to elicit some amazing out-loud responses, so this feels like a true party flick.
8 Dangerous Men 2295858 2015-11-22 Matt Donato 7/10 fresh Emotionless reaction shots, zero characterization, guns that have absolutely no special effects when blasted - Dangerous Men is rare winning dish from a one star restaurant.
9 Dangerous Men 2295338 2015-11-19 Peter Keough 0.5/4 rotten Conceivably, it could serve as a primer for students on how not to make a movie, and perhaps as a deconstruction of filmic conventions for the more theoretical minded.
10 Dangerous Men 2294641 2015-11-16 Jason Wilson 3/10 rotten If you're not a fan of garbage cinema, even for the fun of it, Dangerous Men is best to be avoided.
11 Dangerous Men 2294129 2015-11-12 Soren Andersen 0/4 rotten "Dangerous Men," the picture's production notes inform, took 26 years to reach the big screen. After having seen it, I wonder: What was the rush?
12 Dangerous Men 2293902 2015-11-12 Maitland McDonagh rotten Will entertain some viewers and infuriate others with its clunky mix of feminist fury and awkward action sequences.
13 Dangerous Men 2293900 2015-11-12 Marjorie Baumgarten 1.5/5 rotten This is a bad movie, but one that awakens your senses every so often with flashes of originality and abundant self-belief.
14 Dangerous Men 2293815 2015-11-12 Katie Rife B+ fresh Ridiculous, artless, and wildly entertaining, Dangerous Men is more than the sum of its fascinatingly misguided parts, although it will take a special sort of moviegoer to truly appreciate (or endure, depending on your perspective) its charms.
15 Dangerous Men 2293605 2015-11-11 Amy Nicholson C fresh To sit through it feels like honoring the dreamers of the world who at least get shit done. Is it terrible? Of course. Is there belly-dancing? Duh.
16 Small Town Wisconsin 102711819 2022-07-22 Peter Gray fresh Small Town Wisconsin could hit some home truths for viewers&#44; and though being faced with the truth isn&#8217;t always pleasant&#44; it feels necessary in growing towards a happier fruition&#46;
17 Small Town Wisconsin 102711545 2022-07-22 Tim Grierson fresh This low-key drama has lovely interludes and some nicely understated performances, although director Niels Mueller doesn’t glean too many new insights from Jason Naczek’s familiar story...
18 Small Town Wisconsin 102700937 2022-06-16 Sumner Forbes 8.5/10 fresh Small Town Wisconsin is a success in almost every regard, and if you can see over the legions of cheeseheads in the rows ahead of you, it shouldn’t be missed.
19 Small Town Wisconsin 102699897 2022-06-14 Tara McNamara 3/5 fresh Just like Wayne&#44; Small Town Wisconsin has flaws&#44; but the poignancy of the story will stick with you for a long time&#46;
20 Small Town Wisconsin 102698744 2022-06-10 Rob Thomas 3/4 fresh It&#8217;s a movie with its heart in the right place&#44; and does both small town and big city Wisconsin proud&#46;
21 Small Town Wisconsin 102698639 2022-06-10 Todd Jorgenson rotten Despite some intriguing character dynamics and performances that generate sympathy for this fractured family&#44; the film stumbles when it veers into melodrama without the narrative dexterity to tackle its weightier ambitions&#46;
22 Small Town Wisconsin 102698482 2022-06-10 Jackie K. Cooper 7/10 fresh This is the kind of movie that draws you so deeply into its story you are reluctant to let it end&#46;
23 Small Town Wisconsin 102698164 2022-06-09 Glenn Kenny fresh Mueller’s direction is patient and sensitive, the cast is accomplished and committed, and the picture’s comedic aspects sometimes earn a chuckle.
24 Small Town Wisconsin 102697854 2022-06-08 Brian Orndorf B+ fresh Naczek isn&apos;t interested in making a soap opera with this examination of fallibility&#44; going somewhere much more authentic when exploring character aches and pains&#46;
25 Small Town Wisconsin 102695788 2022-06-02 Eddie Harrison 4/5 fresh &#8230;a warm-hearted story of everyday life that&#8217;s easy to recommend for those who like films about people rather than portals and vortexes&#8230;
26 Small Town Wisconsin 102695250 2022-05-31 Laura Clifford C rotten Debuting screenwriter Jason Naczek has concocted a manchild redemption story using metaphors as heavy as a hammer and a fairy godmother who makes everything alright with a seeming flip of the switch&#46;
27 Small Town Wisconsin 2733251 2020-10-12 Jared Mobarak B fresh Small Town Wisconsin is always proving itself to be more than its familiar premise thanks to Naczek's ability to infuse a lot more drama into the mix than one custody battle.
28 Tejano 2564925 2019-03-07 Joe Friar 3/4 fresh The story of a South Texas ranch hand who gets mixed up with a Mexican cartel moves with pulse-pounding velocity and features top performances from a talented cast of actors with Texas roots.
29 Tejano 2557738 2019-02-12 Cary Darling 4/5 fresh An entertaining blast of Texas noir that nods toward the work of the Coen brothers, Quentin Tarantino and fellow Austinite Greg Kwedar's 2016 low-budget thriller "Transpecos" as well as "Breaking Bad."
30 Tejano 2547231 2019-01-10 Danielle White 3/5 fresh The story itself slithers with twists and turns and unexpected betrayals. It's almost ridiculous how many characters die in this film.
31 Tejano 2530119 2018-11-08 Chris Salce 9/10 fresh Tejano is one of those films that can be described as a hidden gem as it sneaks under the radar and will have you talking, telling your friends about it, and wanting to watch it again.
32 Death of a Salesman 2770637 2021-02-23 Michael Dougan fresh Miller has taken a small, intimate tale and expanded it into a treatise on larger themes, primarily the abuse of the American Dream.
33 Death of a Salesman 1950734 2011-01-02 Randy White 5/5 fresh A classic American tragedy.
34 Death of a Salesman 1422415 2005-08-04 Jules Brenner 4/5 fresh
35 Death of a Salesman 1409415 2005-07-05 Emanuel Levy 3/5 fresh
36 Death of a Salesman 839546 2003-02-06 Frederic and Mary Ann Brussat fresh Death of a Salesman, directed by Volker Schlondorff, draws out the multiple meanings of this Pulitzer Prize-winning play by Arthur Miller about change, family and fatherhood, work and love.
37 Death of a Salesman 788410 2002-09-29 Dan Lybarger 4/5 fresh Schlndorff's artificial settings and some amazing performances help keep this from looking like a typical "filmed play."
38 Death of a Salesman 751951 2002-08-08 Cory Cheney 4/5 fresh
39 Death of a Salesman 743794 2002-07-26 Bob Grimm 5/5 fresh
40 Death of a Salesman 743291 2002-07-26 Scott Weinberg 5/5 fresh They MAKE you watch it in English class for a good reason!
41 Sahara 1137710 2003-05-13 Dragan Antulov 5/10 fresh
42 The Debt 2628192 2019-09-20 Diego Batlle fresh A Bresson-esque movie that is always enigmatic. [Full Review in Spanish]
43 The Debt 2627988 2019-09-20 Gaspar Zimerman fresh The story [Director Gustavo Fontán] tells is an excuse to give way to the exploration of feelings and sensations that avoid verbality. [Full review in Spanish]
44 Peppermint Candy 2725008 2020-09-16 A.S. Hamrah fresh South Korean political history of the previous twenty years, Peppermint Candy is not tempered by its hysterical edge, which adds unpredictable violence to its vignettes of romantic, domestic, and business failure.
45 Peppermint Candy 2541271 2018-12-16 Panos Kotzathanasis fresh Lee Chang-dong presents a melodrama that stands apart from the plethora of similar productions due to its intense political element, because it doesn't lose its seriousness at any point and because it doesn't become hyperbolic in his effort to draw tears
46 Peppermint Candy 1883708 2010-05-11 Anton Bitel fresh This is Korea's millennial elegy, filtering its search for times past through a confection no less bittersweet than Proust's madeleine.
47 Peppermint Candy 1706014 2008-01-29 Beth Accomando 9/10 fresh The film offers a heartbreaking drama told in reverse chronology and spanning twenty years in both the life of the main character and the political history of Korea.
48 Peppermint Candy 1231988 2003-12-22 Greg Muskewitz 2/5 rotten
49 Peppermint Candy 1187104 2003-08-14 Joshua Tanzer 4/4 fresh It's a story about the original sin of a nation as well as one character. There has rarely been a better film made, ever
50 Prison Girls 2475348 2018-05-03 Roger Ebert rotten Prison Girls didn't have a lot of prison sets because it was a big-budget exploitation movie. Maybe.
51 Gimme the Power 2575688 2019-04-09 Afroxander fresh Rubio's film shows ambition where none is required, making Gimme the Power a lot like Molotov's music: politically engaged without having to take itself too seriously.
52 Paa 2673089 2020-02-27 Nikhat Kazmi 3.5/5 fresh The film, which peters off into vague sub-plots about slum redevelopment and unwarranted media-bashing in the first half, suddenly picks up and scales new heights in the second half.
53 Paa 2578129 2019-04-17 Shubhra Gupta 2/5 rotten Disappointingly, Paa is not as out-of-the-box as it could have been.
54 Paa 2429810 2017-10-24 Anil Sinanan 3/5 rotten Will Auro survive to know his Pa and reunite his parents? Forget about the disease: this is a vanity vehicle designed to showcase the Big B's versatility.
55 Paa 1860476 2009-12-14 Frank Lovece rotten This would-be tearjerker without the musical numbers of typical Bollywood fare is for die-hard Amitabh Bachchan fans only.
56 Paa 1860473 2009-12-14 David Chute fresh The film owes much of its interest to the alertness and sincerity of the younger Bachchan and the luminous Vidya Balan as the anguished parents, and to the soft wash of the tasteful playback songs supplied by Ilaiyaraaja.
57 Paa 1858964 2009-12-05 Avi Offer 5.85/10 rotten Well-acted, funny and occasionally witty with terrific make-up design. However, it's often convoluted, awkwardly paced and too uneven as a whole.
58 Paa 1858853 2009-12-04 Frank Lovece fresh A would-be tearjerker without the singing-dancing musical numbers of typical Bollywood fare seen in the U.S., the lackluster Paa is for die-hard Amitabh Bachchan fans only%u2014of which there is no small number.
59 Paa 1858816 2009-12-04 Rachel Saltz 3/5 fresh Odd and sometimes oddly affecting.
60 Alraune (A Daughter of Destiny) (Mandrake) (Unholy Love) 2835964 2021-10-30 Erich Hellmund-Waldow fresh The acting is not only artistic, it is also as realistic as can be possible in such a film.
61 Alraune (A Daughter of Destiny) (Mandrake) (Unholy Love) 2357086 2016-10-17 C. Hooper Trask fresh Aimed straight for the gooseflesh, it strikes directly into the centre of the target.
62 Toorbos 2760593 2021-01-29 Neil Young fresh Built around a luminous and intriguing central performance by dancer-actor Elani Dekker.
63 Toorbos 2752827 2020-12-21 Guy Lodge fresh A satisfying marriage of folky period romance and environmental parable from the misty, mossy depths of South Africa's Knysna forest region...
64 Connors' War 1555113 2006-11-09 David Nusair 1.5/4 rotten ...although Criss does show some potential as a performer, his efforts to step into the shoes of a blind character are laughable.
65 Connors' War 1539106 2006-09-19 Scott Weinberg 2/5 rotten Standard cable fodder all the way, with only a few solid action scenes and maybe one colorful performance in the whole thing.
66 Born to Kill 2710947 2020-08-05 Mike Massie 10/10 fresh One of the most acerbic of all films noir, boasting essentially no redeemable characters (or a wealth of deliciously evil villains) while also being utterly enthralling.
67 Born to Kill 2340106 2016-07-15 David Nusair 3/4 fresh ...a fairly typical film-noir premise that's employed to watchable yet entirely unmemorable effect by Robert Wise...
68 Born to Kill 1507021 2006-05-16 Nick Schager B fresh Competent if slightly too tame for a supposedly sleazy story.
69 Born to Kill 1501617 2006-05-01 Fernando F. Croce fresh The usually meek Robert Wise trades his chameleonic tastefulness for full-on, jazzy misanthropy in this nasty melodrama.
70 Born to Kill 1433953 2005-09-09 Jeffrey M. Anderson 3/4 fresh Hard to watch, but effective and alluring nonetheless.
71 Born to Kill 1123980 2003-04-02 Dennis Schwartz C rotten A revolting B film noir...
72 The Soong Sisters 1402087 2005-06-15 Emanuel Levy 3/5 fresh
73 La Sapienza 102772380 2023-01-24 Vadim Rizov fresh Sapienza is a pretty lovely film. Symmetricities are everywhere, starting with that opening architectural showreel, which deliberately avoids perfect symmetricity...
74 La Sapienza 2767839 2021-02-14 Dustin Chang fresh Their sincere expression of these thoughts rings true and melts away its artificiality in its presentation soon enough. This is the beauty of La Sapienza and Green films in general.
75 La Sapienza 2598336 2019-06-18 C.J. Prince fresh It's a nice entry point into a peculiar cinematic universe, and those willing to open themselves to it will find a lot to enjoy.
76 La Sapienza 2503963 2018-08-28 Charles Mudede fresh If architecture aspires to the condition of music, the acting in La Sapienza aspires to the condition of architecture. You will love the ending of this very original and elegant and arty work.
77 La Sapienza 2314368 2016-03-12 Forrest Cardamenis B fresh This startling architectural juxtaposition feels like a wake-up call.
78 La Sapienza 2275677 2015-08-03 Nicole Armour fresh While Green's film is dense with historical fact and theory, it's not averse to plumbing life's mysteries. Suffused with warmth, it expresses a potent admiration for human striving and accomplishment.
79 La Sapienza 2273804 2015-07-23 Norman Wilner 2/5 rotten The uncomplicated narrative resists stylization; Green's presentation turns everyone into mannequins, rendering their emotions theoretical. That may well be his point, but it didn't work for me.
80 La Sapienza 2269287 2015-06-26 Sam Lubell fresh On the surface, writer-director Eugne Green's film "La Sapienza" is slow, strange and awkward - but stick with it and it may win you over.
81 La Sapienza 2265997 2015-06-05 Rob Garratt 4/5 fresh Layered with reels of swirling shots of Rome's most beautiful buildings -- all crucially shot from the ground upwards, staring at the heavens-- La Sapienza is visually stunning.
82 La Sapienza 2265990 2015-06-05 Boyd van Hoeij fresh The Sapience juxtaposes insights on how people are emotionally connected with ruminations on the buildings and spaces through which they move, in which they live and, in Alexandre's case, which they also create.
83 La Sapienza 2265989 2015-06-05 Robert Horton 3/4 fresh If you can groove into this non-realistic mode, the film casts a spell.
84 La Sapienza 2265790 2015-06-04 Tom Keogh 3.5/4 fresh A beautiful space for people and light.
85 La Sapienza 2255621 2015-04-09 Wesley Morris rotten This kind of formalism needs to do more than walk through classical wonders. It should want to create cinema that can stand near or beside them. This movie defensively consecrates what's already there. You don't need a film to do that.
86 La Sapienza 2255195 2015-04-08 Scott Foundas fresh An exquisite rumination on life, love and art that tickles the heart and mind in equal measure.
87 La Sapienza 2252858 2015-03-23 Richard Brody fresh Green's richly textured, painterly images fuse with the story to evoke the essence of humane urbanity and the relationships that it fosters, whether educational, familial, or erotic.
88 La Sapienza 2252553 2015-03-20 Ignatiy Vishnevetsky B+ fresh Green doesn't so much use his characters as mouthpieces as emotionally invest them in art, turning opinions into feelings.
89 La Sapienza 2252541 2015-03-20 Godfrey Cheshire 4/4 fresh "La Sapienza" strikes this reviewer as easily the most astonishing and important movie to emerge from France in quite some time.
90 La Sapienza 2252452 2015-03-19 A.O. Scott fresh The movie is an unapologetically rarefied undertaking and at the same time a gracious and inviting film.
91 La Sapienza 2252301 2015-03-19 David Noh rotten Pretentious, stuffy and slow. There's some beautiful scenery here but oh, what you must put up with to earn it!
92 La Sapienza 2252028 2015-03-18 Noel Murray 3/5 fresh While La Sapienza is unsatisfying as drama, it's frequently beautiful just as a tour through architecturally significant Italian buildings.
93 La Sapienza 2251985 2015-03-17 David Ehrlich 3/5 fresh La Sapienza alternately feels like a self-reflexive love story or a haunted history lesson -- its best scenes play like both.
94 La Sapienza 2251926 2015-03-17 Zachary Wigon fresh A picture that balances heart and mind with nuance.
95 La Sapienza 2251650 2015-03-14 Harvey S. Karten B+ fresh As in "Who's Afraid of Virginia Woolf," both the younger couple and their older mentors are changed from a relationship.
96 La Sapienza 2250991 2015-03-12 Ben Sachs fresh This recalls Manoel de Oliveira and Eric Rohmer in its poker-faced style, deliberately archaic storytelling, and magisterial epiphanies.
97 La Sapienza 2225361 2014-09-28 Donald J. Levit fresh Although a love-fiction crossed with documentary lecture and superb Raphael O'Byrne cinematography, 'La Sapienza' is as close as celluloid can approach to architecture.
98 La Sapienza 2222032 2014-09-10 Carson Lund 3/4 fresh Eugne Green's mannered direction doesn't work for every situation it's homogenously applied to, but at its most effective it inspires an enhanced sensitivity to the import of every gesture, visual or verbal.
99 Uncle Tom 2713732 2020-08-14 Megan Basham fresh Uncle Tom suffers from an overreliance on pundits. Its most compelling insights come from people who've never been quoted in a Twitter or Facebook battle.
100 Uncle Tom 2706229 2020-07-19 Matthew Pejkovic 4/5 fresh An incredibly relevant and insightful documentary that delves into the past, present, and future of the black American conservative movement.
101 Uncle Tom 2698525 2020-06-24 Dante James 7/10 fresh It's a little misleading in some areas, especially if you know the players involved in this doc, but there are a lot of interesting historical facts about the breakdown of the Black family and how the whole welfare system targeted the Black community.
+49
View File
@@ -0,0 +1,49 @@
---
title: "Planets in the Solar System"
author: "Your Name"
date: "January 10, 2024"
---
# Introduction
Our Solar System comprises several diverse and fascinating planets. Let's explore them below.
## Sun
The Sun is the central star of the solar system, holding all planets and other objects in space through gravitational force.
## Mercury
Mercury is the closest planet to the Sun and also the smallest in the solar system.
## Venus
Venus is a planet similar in size and structure to Earth but has a thick atmosphere and high temperatures.
## Earth
Earth is the only known planet with life. It has water and an atmosphere that supports living organisms.
## Mars
Mars is known for its red appearance. Research indicates the possibility of water in liquid and ice forms.
## Jupiter
Jupiter is the largest planet in the solar system and has a complex system of natural satellites and a prominent ring system.
## Saturn
Saturn is famous for its beautiful atmospheric rings and has multiple ring systems.
## Uranus
Uranus rotates on its side, creating a unique appearance in the solar system.
## Neptune
Neptune, the last large planet in the solar system, has an atmosphere rich in methane gas.
# Conclusion
The planets in the solar system form a complex and diverse system. Each planet has unique and interesting characteristics, making the solar system an attractive subject for research and exploration.
Binary file not shown.
+3 -3
View File
@@ -25,12 +25,12 @@ import { ChatMessage, LlamaDeuce, OpenAI } from "llamaindex";
while (true) {
const next = history.length % 2 === 1 ? gpt4 : l2;
const r = await next.chat(
history.map(({ content, role }) => ({
const r = await next.chat({
messages: history.map(({ content, role }) => ({
content,
role: next === l2 ? role : role === "user" ? "assistant" : "user",
})),
);
});
history.push({
content: r.message.content,
role: next === l2 ? "assistant" : "user",
+46
View File
@@ -0,0 +1,46 @@
import fs from "node:fs/promises";
import {
Document,
HuggingFaceEmbedding,
HuggingFaceEmbeddingModelType,
VectorStoreIndex,
serviceContextFromDefaults,
} from "llamaindex";
async function main() {
// Load essay from abramov.txt in Node
const path = "node_modules/llamaindex/examples/abramov.txt";
const essay = await fs.readFile(path, "utf-8");
// Create Document object with essay
const document = new Document({ text: essay, id_: path });
// Use Local embedding from HuggingFace
const embedModel = new HuggingFaceEmbedding({
modelType: HuggingFaceEmbeddingModelType.XENOVA_ALL_MPNET_BASE_V2,
});
const serviceContext = serviceContextFromDefaults({
embedModel,
});
// Split text and create embeddings. Store them in a VectorStoreIndex
const index = await VectorStoreIndex.fromDocuments([document], {
serviceContext,
});
// Query the index
const queryEngine = index.asQueryEngine();
const stream = await queryEngine.query({
query: "What did the author do in college?",
stream: true,
});
// Output response
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}
}
main().catch(console.error);
+14 -12
View File
@@ -21,18 +21,20 @@ async function main() {
action_items: ["action item 1", "action item 2"],
};
const response = await llm.chat([
{
role: "system",
content: `You are an expert assistant for summarizing and extracting insights from sales call transcripts.\n\nGenerate a valid JSON in the following format:\n\n${JSON.stringify(
example,
)}`,
},
{
role: "user",
content: `Here is the transcript: \n------\n${transcript}\n------`,
},
]);
const response = await llm.chat({
messages: [
{
role: "system",
content: `You are an expert assistant for summarizing and extracting insights from sales call transcripts.\n\nGenerate a valid JSON in the following format:\n\n${JSON.stringify(
example,
)}`,
},
{
role: "user",
content: `Here is the transcript: \n------\n${transcript}\n------`,
},
],
});
const json = JSON.parse(response.message.content);
+3 -3
View File
@@ -20,9 +20,9 @@ async function main() {
mode,
}),
});
const response = await queryEngine.query(
"What did the author do growing up?",
);
const response = await queryEngine.query({
query: "What did the author do growing up?",
});
console.log(response.toString());
});
}
+3 -1
View File
@@ -2,6 +2,8 @@ import { DeuceChatStrategy, LlamaDeuce } from "llamaindex";
(async () => {
const deuce = new LlamaDeuce({ chatStrategy: DeuceChatStrategy.META });
const result = await deuce.chat([{ content: "Hello, world!", role: "user" }]);
const result = await deuce.chat({
messages: [{ content: "Hello, world!", role: "user" }],
});
console.log(result);
})();
+7 -4
View File
@@ -27,9 +27,12 @@ import {
},
];
const response = await responseSynthesizer.synthesize(
"What age am I?",
const stream = await responseSynthesizer.synthesize({
query: "What age am I?",
nodesWithScore,
);
console.log(response.response);
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.response);
}
})();
+3 -1
View File
@@ -11,7 +11,9 @@ async function main() {
// Query the index
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query("What does the example code do?");
const response = await queryEngine.query({
query: "What does the example code do?",
});
// Output response
console.log(response.toString());
+11 -10
View File
@@ -27,7 +27,7 @@ async function rag(llm: LLM, embedModel: BaseEmbedding, query: string) {
// Query the index
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query(query);
const response = await queryEngine.query({ query });
return response.response;
}
@@ -43,19 +43,20 @@ async function rag(llm: LLM, embedModel: BaseEmbedding, query: string) {
// chat api (non-streaming)
const llm = new MistralAI({ model: "mistral-tiny" });
const response = await llm.chat([
{ content: "What is the best French cheese?", role: "user" },
]);
const response = await llm.chat({
messages: [{ content: "What is the best French cheese?", role: "user" }],
});
console.log(response.message.content);
// chat api (streaming)
const stream = await llm.chat(
[{ content: "Who is the most renowned French painter?", role: "user" }],
undefined,
true,
);
const stream = await llm.chat({
messages: [
{ content: "Who is the most renowned French painter?", role: "user" },
],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk);
process.stdout.write(chunk.delta);
}
// rag
+1 -1
View File
@@ -54,7 +54,7 @@ async function main() {
break;
}
const response = await queryEngine.query(query);
const response = await queryEngine.query({ query });
// Output response
console.log(response.toString());
+3 -3
View File
@@ -24,9 +24,9 @@ async function query() {
const retriever = index.asRetriever({ similarityTopK: 20 });
const queryEngine = index.asQueryEngine({ retriever });
const result = await queryEngine.query(
"What does the author think of web frameworks?",
);
const result = await queryEngine.query({
query: "What does the author think of web frameworks?",
});
console.log(result.response);
await client.close();
}
+3 -3
View File
@@ -46,9 +46,9 @@ async function main() {
responseSynthesizer: new MultiModalResponseSynthesizer({ serviceContext }),
retriever: index.asRetriever({ similarityTopK: 3, imageSimilarityTopK: 1 }),
});
const result = await queryEngine.query(
"Tell me more about Vincent van Gogh's famous paintings",
);
const result = await queryEngine.query({
query: "Tell me more about Vincent van Gogh's famous paintings",
});
console.log(result.response, "\n");
images.forEach((image) =>
console.log(`Image retrieved and used in inference: ${image.toString()}`),
+41
View File
@@ -0,0 +1,41 @@
import { Ollama } from "llamaindex";
(async () => {
const llm = new Ollama({ model: "llama2", temperature: 0.75 });
{
const response = await llm.chat({
messages: [{ content: "Tell me a joke.", role: "user" }],
});
console.log("Response 1:", response.message.content);
}
{
const response = await llm.complete({ prompt: "How are you?" });
console.log("Response 2:", response.text);
}
{
const response = await llm.chat({
messages: [{ content: "Tell me a joke.", role: "user" }],
stream: true,
});
console.log("Response 3:");
for await (const message of response) {
process.stdout.write(message.delta); // no newline
}
console.log(); // newline
}
{
const response = await llm.complete({
prompt: "How are you?",
stream: true,
});
console.log("Response 4:");
for await (const message of response) {
process.stdout.write(message.text); // no newline
}
console.log(); // newline
}
{
const embedding = await llm.getTextEmbedding("Hello world!");
console.log("Embedding:", embedding);
}
})();
+5 -5
View File
@@ -4,12 +4,12 @@ import { OpenAI } from "llamaindex";
const llm = new OpenAI({ model: "gpt-4-1106-preview", temperature: 0.1 });
// complete api
const response1 = await llm.complete("How are you?");
console.log(response1.message.content);
const response1 = await llm.complete({ prompt: "How are you?" });
console.log(response1.text);
// chat api
const response2 = await llm.chat([
{ content: "Tell me a joke.", role: "user" },
]);
const response2 = await llm.chat({
messages: [{ content: "Tell me a joke.", role: "user" }],
});
console.log(response2.message.content);
})();
+4 -3
View File
@@ -1,14 +1,15 @@
{
"version": "0.0.3",
"private": true,
"name": "simple",
"name": "examples",
"dependencies": {
"@notionhq/client": "^2.2.13",
"@datastax/astra-db-ts": "^0.1.2",
"@notionhq/client": "^2.2.14",
"@pinecone-database/pinecone": "^1.1.2",
"chromadb": "^1.7.3",
"commander": "^11.1.0",
"llamaindex": "latest",
"dotenv": "^16.3.1",
"llamaindex": "latest",
"mongodb": "^6.2.0"
},
"devDependencies": {
+23 -6
View File
@@ -1,19 +1,36 @@
# Postgres Vector Store
There are two scripts available here: load-docs.ts and query.ts
There are two scripts available here: `load-docs.ts` and `query.ts`
## Prerequisites
### Start a DB Instance
You'll need a postgres database instance against which to run these scripts. A simple docker command would look like this:
> `docker run -d --rm --name vector-db -p 5432:5432 -e "POSTGRES_HOST_AUTH_METHOD=trust" ankane/pgvector`
Set the PGHOST and PGUSER (and PGPASSWORD) environment variables to match your database setup.
You'll also need a value for OPENAI_API_KEY in your environment.
**NOTE:** Using `--rm` in the example docker command above means that the vector store will be deleted every time the container is stopped. For production purposes, use a volume to ensure persistence across restarts.
If you prefer using a managed service, you can use [Timescale](https://docs.timescale.com/use-timescale/latest/services/create-a-service/?ref=timescale.com) to create a PostgreSQL database instance in the cloud as an alternative.
### Set up Environment
Having created a DB instance, you can then set up environment variables for your database connection:
```bash
export PGHOST=your database host
export PGUSER=your database user
export PGPASSWORD=your database password
export PGDATABASE=your database name
export PGPORT=your database port
export OPENAI_API_KEY=your openai api key
```
Set the environment variables above to match your database setup.
Note that you'll also need an OpenAI key (`OPENAI_API_KEY`) in your environment.
You're now ready to start the scripts.
## Setup and Loading Docs
Read and follow the instructions in the README.md file located one directory up to make sure your JS/TS dependencies are set up. The commands listed below are also run from that parent directory.
@@ -22,7 +39,7 @@ To import documents and save the embedding vectors to your database:
> `npx ts-node pg-vector-store/load-docs.ts data`
where data is the directory containing your input files. Using the _data_ directory in the example above will read all of the files in that directory using the llamaindexTS default readers for each file type.
where data is the directory containing your input files. Using the `data` directory in the example above will read all of the files in that directory using the LlamaIndexTS default readers for each file type.
## RAG Querying
+1 -1
View File
@@ -31,7 +31,7 @@ async function main() {
}
try {
const answer = await queryEngine.query(question);
const answer = await queryEngine.query({ query: question });
console.log(answer.response);
} catch (error) {
console.error("Error:", error);
+1 -1
View File
@@ -29,7 +29,7 @@ async function main() {
}
try {
const answer = await queryEngine.query(question);
const answer = await queryEngine.query({ query: question });
console.log(answer.response);
} catch (error) {
console.error("Error:", error);
+8 -6
View File
@@ -1,7 +1,6 @@
import { Portkey } from "llamaindex";
(async () => {
const llms = [{}];
const portkey = new Portkey({
mode: "single",
llms: [
@@ -13,11 +12,14 @@ import { Portkey } from "llamaindex";
},
],
});
const result = portkey.stream_chat([
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Tell me a joke." },
]);
const result = await portkey.chat({
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Tell me a joke." },
],
stream: true,
});
for await (const res of result) {
process.stdout.write(res);
process.stdout.write(res.delta);
}
})();
+61
View File
@@ -0,0 +1,61 @@
## Reader Examples
These examples show how to use a specific reader class by loading a document and running a test query.
1. Make sure you are in `examples` directory
```bash
cd ./examples
```
2. Prepare `OPENAI_API_KEY` environment variable:
```bash
export OPENAI_API_KEY=your_openai_api_key
```
3. Run the following command to load documents and test query:
- MarkdownReader Example
```bash
npx ts-node readers/load-md.ts
```
- DocxReader Example
```bash
npx ts-node readers/load-docx.ts
```
- PdfReader Example
```bash
npx ts-node readers/load-pdf.ts
```
- HtmlReader Example
```bash
npx ts-node readers/load-html.ts
```
- CsvReader Example
```bash
npx ts-node readers/load-csv.ts
```
- NotionReader Example
```bash
export NOTION_TOKEN=your_notion_token
npx ts-node readers/load-notion.ts
```
- AssemblyAI Example
```bash
export ASSEMBLYAI_API_KEY=your_assemblyai_api_key
npx ts-node readers/load-assemblyai.ts
```
@@ -48,7 +48,7 @@ program
break;
}
const response = await queryEngine.query(query);
const response = await queryEngine.query({ query });
console.log(response.toString());
}
@@ -38,9 +38,9 @@ Given the CSV file, generate me Typescript code to answer the question: ${query}
const queryEngine = index.asQueryEngine({ responseSynthesizer });
// Query the index
const response = await queryEngine.query(
"What is the correlation between survival and age?",
);
const response = await queryEngine.query({
query: "What is the correlation between survival and age?",
});
// Output response
console.log(response.toString());
+22
View File
@@ -0,0 +1,22 @@
import { DocxReader, VectorStoreIndex } from "llamaindex";
const FILE_PATH = "./data/stars.docx";
const SAMPLE_QUERY = "Information about Zodiac";
async function main() {
// Load docx file
console.log("Loading data...");
const reader = new DocxReader();
const documents = await reader.loadData(FILE_PATH);
// Create embeddings
console.log("Creating embeddings...");
const index = await VectorStoreIndex.fromDocuments(documents);
// Test query
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query({ query: SAMPLE_QUERY });
console.log(`Test query > ${SAMPLE_QUERY}:\n`, response.toString());
}
main();
@@ -10,9 +10,9 @@ async function main() {
// Query the index
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query(
"What were the notable changes in 18.1?",
);
const response = await queryEngine.query({
query: "What were the notable changes in 18.1?",
});
// Output response
console.log(response.toString());
+22
View File
@@ -0,0 +1,22 @@
import { MarkdownReader, VectorStoreIndex } from "llamaindex";
const FILE_PATH = "./data/planets.md";
const SAMPLE_QUERY = "List all planets";
async function main() {
// Load markdown file
console.log("Loading data...");
const reader = new MarkdownReader();
const documents = await reader.loadData(FILE_PATH);
// Create embeddings
console.log("Creating embeddings...");
const index = await VectorStoreIndex.fromDocuments(documents);
// Test query
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query({ query: SAMPLE_QUERY });
console.log(`Test query > ${SAMPLE_QUERY}:\n`, response.toString());
}
main();
@@ -79,7 +79,7 @@ program
break;
}
const response = await queryEngine.query(query);
const response = await queryEngine.query({ query });
// Output response
console.log(response.toString());
@@ -10,7 +10,9 @@ async function main() {
// Query the index
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query("What mistakes did they make?");
const response = await queryEngine.query({
query: "What mistakes did they make?",
});
// Output response
console.log(response.toString());
+42
View File
@@ -0,0 +1,42 @@
import {
Document,
HuggingFaceEmbedding,
MetadataReplacementPostProcessor,
SentenceWindowNodeParser,
VectorStoreIndex,
serviceContextFromDefaults,
} from "llamaindex";
import essay from "./essay";
async function main() {
const document = new Document({ text: essay, id_: "essay" });
// create service context with sentence window parser
// and local embedding from HuggingFace
const nodeParser = new SentenceWindowNodeParser({
windowSize: 3,
windowMetadataKey: "window",
originalTextMetadataKey: "original_text",
});
const embedModel = new HuggingFaceEmbedding();
const serviceContext = serviceContextFromDefaults({ nodeParser, embedModel });
// Split text and create embeddings. Store them in a VectorStoreIndex
const index = await VectorStoreIndex.fromDocuments([document], {
serviceContext,
logProgress: true,
});
// Query the index
const queryEngine = index.asQueryEngine({
nodePostprocessors: [new MetadataReplacementPostProcessor("window")],
});
const response = await queryEngine.query({
query: "What did the author do in college?",
});
// Output response
console.log(response.toString());
}
main().catch(console.error);
+6 -6
View File
@@ -20,9 +20,9 @@ async function main() {
// Query the index
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query(
"What did the author do in college?",
);
const response = await queryEngine.query({
query: "What did the author do in college?",
});
// Output response
console.log(response.toString());
@@ -35,9 +35,9 @@ async function main() {
storageContext: secondStorageContext,
});
const loadedQueryEngine = loadedIndex.asQueryEngine();
const loadedResponse = await loadedQueryEngine.query(
"What did the author do growing up?",
);
const loadedResponse = await loadedQueryEngine.query({
query: "What did the author do growing up?",
});
console.log(loadedResponse.toString());
}
+3 -3
View File
@@ -18,9 +18,9 @@ import essay from "./essay";
],
});
const response = await queryEngine.query(
"How was Paul Grahams life different before and after YC?",
);
const response = await queryEngine.query({
query: "How was Paul Grahams life different before and after YC?",
});
console.log(response.toString());
})();
+3 -3
View File
@@ -20,9 +20,9 @@ async function main() {
const queryEngine = index.asQueryEngine({
retriever: index.asRetriever({ mode: SummaryRetrieverMode.LLM }),
});
const response = await queryEngine.query(
"What did the author do growing up?",
);
const response = await queryEngine.query({
query: "What did the author do growing up?",
});
console.log(response.toString());
}
+29
View File
@@ -0,0 +1,29 @@
import { TogetherEmbedding, TogetherLLM } from "llamaindex";
// process.env.TOGETHER_API_KEY is required
const together = new TogetherLLM({
model: "mistralai/Mixtral-8x7B-Instruct-v0.1",
});
(async () => {
const generator = await together.chat({
messages: [
{
role: "system",
content: "You are an AI assistant",
},
{
role: "user",
content: "Tell me about San Francisco",
},
],
stream: true,
});
console.log("Chatting with Together AI...");
for await (const message of generator) {
process.stdout.write(message.delta);
}
const embedding = new TogetherEmbedding();
const vector = await embedding.getTextEmbedding("Hello world!");
console.log("vector:", vector);
})();
+39
View File
@@ -0,0 +1,39 @@
import fs from "node:fs/promises";
import {
Document,
TogetherEmbedding,
TogetherLLM,
VectorStoreIndex,
serviceContextFromDefaults,
} from "llamaindex";
async function main() {
const apiKey = process.env.TOGETHER_API_KEY;
if (!apiKey) {
throw new Error("Missing TOGETHER_API_KEY");
}
const path = require.resolve("llamaindex/examples/abramov.txt");
const essay = await fs.readFile(path, "utf-8");
const document = new Document({ text: essay, id_: path });
const serviceContext = serviceContextFromDefaults({
llm: new TogetherLLM({ model: "mistralai/Mixtral-8x7B-Instruct-v0.1" }),
embedModel: new TogetherEmbedding(),
});
const index = await VectorStoreIndex.fromDocuments([document], {
serviceContext,
});
const queryEngine = index.asQueryEngine();
const response = await queryEngine.query({
query: "What did the author do in college?",
});
console.log(response.toString());
}
main().catch(console.error);
+12
View File
@@ -0,0 +1,12 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"target": "es2016",
"module": "commonjs",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true
},
"include": ["./**/*.ts"]
}

Some files were not shown because too many files have changed in this diff Show More