New package: @chatcops/store-upstash-vector
Les mainteneurs répondent en général sous 1 jour
Évaluation
Cette issue n'a pas encore été évaluée.
Description
@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
- Langage dominant
- TypeScript
- Étoiles
- 13
- Forks
- 7
- Merge moyen
- 3 h 11 min
- PR mergées (30 j)
- 330
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de codercops/chatcops
-
Ingest: a crawl source for sites without a sitemapPeut-être pris @bhushan4work l’a pris il y a 1 jour. Ouverteenhancement
codercops/chatcops#586 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
fix(core): Cohere and Voyage rerankers bypass non-positive limit check on NaN topN and send invalid null payloadPeut-être pris @bhushan4work l’a pris il y a 2 jours. Ouvertebug
codercops/chatcops#582 · 1 commentaire · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Widget: a code block tagged `c++`, `c#` or `objective-c` shows part of the tag as codePeut-être pris @prakashNalla l’a pris il y a 3 jours. Ouvertebug widget
codercops/chatcops#578 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Docs: Astro, Nuxt and SvelteKit guides for the serverPeut-être pris @anurag2787 l’a pris il y a 3 jours. Ouvertedocumentation
codercops/chatcops#575 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
-
Server: chatcopsNext(), one catch-all route for Next.jsPeut-être pris @Saifjafri212213 l’a pris il y a 3 jours. Ouverteenhancement server
codercops/chatcops#574 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de codercops/chatcops
Issues similaires
-
unwrapDatabaseError masks real DB errors with TypeError: Cannot convert object to primitive valueOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
NEARBuilders/everything-dev#798 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
vercel-labs/durable-harness#53 ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Redesign tab bars ignore clicks on Linux: hidden chat layers keep window drag regionsPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
experiência: a doc manda subir para o Micro do Supabase, mas não diz que exige plano pago nem quanto custaPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertearea/docs area/ui enhancement
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
melgarafael/DeskcommCRM#4098 ·
Les mainteneurs répondent en général sous 1 jour
-
dependencies platform: ios
Difficulté 1/5 1-3 heures Accessibilité débutants 78/100
software-mansion/react-native-executorch#1617 ·
Les mainteneurs répondent en général sous 1 jour