New package: @chatcops/store-upstash-vector
Mantenedores costumam responder em até 1 dia
Avaliação
Esta issue ainda não foi avaliada.
Descrição
@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
- Linguagem predominante
- TypeScript
- Estrelas
- 13
- Forks
- 7
- Merge médio
- 3h 11min
- PRs com merge (30d)
- 330
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de codercops/chatcops
-
Ingest: a crawl source for sites without a sitemapTalvez já em andamento @bhushan4work assumiu há 1 dia. Abertaenhancement
codercops/chatcops#586 · 1 comentário · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
fix(core): Cohere and Voyage rerankers bypass non-positive limit check on NaN topN and send invalid null payloadTalvez já em andamento @bhushan4work assumiu há 3 dias. Abertabug core
codercops/chatcops#582 · 3 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Widget: a code block tagged `c++`, `c#` or `objective-c` shows part of the tag as codeTalvez já em andamento @prakashNalla assumiu há 3 dias. Abertabug widget
codercops/chatcops#578 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Docs: Astro, Nuxt and SvelteKit guides for the serverTalvez já em andamento @anurag2787 assumiu há 4 dias. Abertadocumentation
codercops/chatcops#575 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
-
Server: chatcopsNext(), one catch-all route for Next.jsTalvez já em andamento @Saifjafri212213 assumiu há 4 dias. Abertaenhancement server
codercops/chatcops#574 · 2 comentários · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de codercops/chatcops
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
shoelace-style/webawesome#2979 ·
Mantenedores costumam responder em até 1 dia
-
Chip source filter and denial markers miss Storage rows when a Storage activity source is pickedAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
omdsh-dev/DSH-better-sidebar#1141 ·
Mantenedores costumam responder em até 2 dias