New package: @chatcops/store-upstash-vector
I maintainer di solito rispondono entro 1 giorno
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
@chatcops/core now has a VectorStore interface (#333). This adds a new package with a VectorStore backed by Upstash Vector, for serverless sites (Vercel, Netlify) that already use Upstash Redis through @chatcops/store-redis.
What every vector store needs
- Implement
VectorStorefrom@chatcops/core(packages/core/src/storage/types.ts):dimensions,upsert,query(cosine similarity, best first),deleteBySource, andkeywordQuerywhere the backend has full-text search. - Expose it as
vectorson the storage the package already returns, sorunStorageConformancepicks it up. Its vector section (inpackages/core/src/testing/conformance.ts) is the spec: run it from the package'stests/conformance.test.ts, with at least 4 dimensions. - Filters follow
MetadataFilter: every key must match, a value matches only the same type (1is not"1"), an array means any of its values, and a record without the key never matches. memoryVectors(packages/core/src/storage/memory-vectors.ts) is the reference implementation, andsegmentWordsthere splits text into words withIntl.Segmenter(use it so Japanese and Chinese keyword search works).- Add a short section for your store under "Vector stores" in
website/src/content/docs/server/storage.mdx, and a changeset for the package (minor).
For this package
- Start from
packages/store-redisfor the layout:package.json("private": truefor now,@upstash/vectoras a peer dependency),tsconfig.json,vitest.config.ts,README.md,CHANGELOG.md. The rootvitest.config.tsandpnpm-workspace.yamlpick up new packages underpackages/on their own. - Export
upstashVectors({ index, dimensions })returning aVectorStore, whereindexis an@upstash/vectorIndex. - Upstash filters are a string syntax (
locale = 'de' AND collection IN ('docs', 'pricing')). Build it fromMetadataFilterwith proper quoting, so a value can't change the filter. keywordQueryonly if the index type supports full-text (hybrid or sparse indexes). Otherwise leave it out.- There's no local Upstash Vector emulator, so: unit tests with a fake
Indexfor the logic (filter building, mapping, deletes), and the conformance suite gated onCHATCOPS_TEST_UPSTASH_VECTOR_URLandCHATCOPS_TEST_UPSTASH_VECTOR_TOKEN, skipped without them. Upstash has a free tier if you'd like to run it yourself.
Acceptance criteria
- New package builds, type-checks and passes its tests in CI
- Conformance passes against a real index when the env variables are set (say in the PR whether you ran it)
- Filter strings are quoted safely, with a test for a value containing a quote
- README, a docs section and a changeset
-
pnpm test:coverageandpnpm lintpass
- Lingua principale
- TypeScript
- Stelle
- 13
- Fork
- 7
- Merge medio
- 3h 11m
- PR unite (30g)
- 330
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di codercops/chatcops
-
Ingest: a crawl source for sites without a sitemapForse già presa @bhushan4work l’ha presa 1 giorno fa. Apertaenhancement
codercops/chatcops#586 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
fix(core): Cohere and Voyage rerankers bypass non-positive limit check on NaN topN and send invalid null payloadForse già presa @bhushan4work l’ha presa 3 giorni fa. Apertabug core
codercops/chatcops#582 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Widget: a code block tagged `c++`, `c#` or `objective-c` shows part of the tag as codeForse già presa @prakashNalla l’ha presa 3 giorni fa. Apertabug widget
codercops/chatcops#578 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: Astro, Nuxt and SvelteKit guides for the serverForse già presa @anurag2787 l’ha presa 4 giorni fa. Apertadocumentation
codercops/chatcops#575 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Server: chatcopsNext(), one catch-all route for Next.jsForse già presa @Saifjafri212213 l’ha presa 3 giorni fa. Apertaenhancement server
codercops/chatcops#574 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di codercops/chatcops
Issue simili
-
Cleanup SetupForse già presa @AlexanderKaran l’ha presa oggi. Apertadocumentation enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
e18e/framework-tracker#769 ·
I maintainer di solito rispondono entro 1 giorno
-
fix(docker): correct stale --db-path comments in fetch/git Dockerfiles and clarify git READMEApertabug v2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
modelcontextprotocol/servers#5483 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
XiaomiMiMo/MiMo-Code#2783 ·
I maintainer di solito rispondono entro 1 giorno
-
area: web bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
kinqsradio/orbyn-engineering#227 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
joeldesante/TurfBuilder#258 ·
I maintainer di solito rispondono entro 1 giorno