Comments (3)
To add a new SQLTableSchema
to an existing ChromaDB embedding, you can use the add
method of the ChromaVectorStore
class. Here is an example based on your provided code:
from llama_index.core.objects import SQLTableSchema
from llama_index.vector_stores.chroma import ChromaVectorStore
# Assuming you have an existing ChromaVectorStore instance
vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
# Define your new SQLTableSchema
new_sql_table_schema = SQLTableSchema(
table_name="new_table",
columns=[
{"name": "column1", "type": "TEXT"},
{"name": "column2", "type": "INTEGER"},
],
primary_key="column1"
)
# Add the new SQLTableSchema to the existing ChromaDB embedding
vector_store.add([new_sql_table_schema])
This code snippet demonstrates how to create a new SQLTableSchema
and add it to an existing ChromaDB embedding using the add
method of the ChromaVectorStore
class [1].
To continue talking to Dosu, mention @dosu.
from llama_index.
To update the existing embedding if there is a change in just the column of an existing SQLTableSchema
, you would need to regenerate the TextNode
for the updated schema and then update the embedding in the ChromaVectorStore
. Here is how you can do it:
-
Regenerate the
TextNode
for the updated schema:from llama_index.core.objects import SQLTableNodeMapping, SQLTableSchema # Assuming you have an instance of SQLTableNodeMapping and an updated SQLTableSchema sql_table_node_mapping = SQLTableNodeMapping(sql_database) updated_schema = SQLTableSchema(table_name="your_table_name", context_str="new_context") # Generate the updated TextNode updated_node = sql_table_node_mapping.to_node(updated_schema)
-
Update the embedding in the
ChromaVectorStore
:from llama_index.vector_stores.chroma import ChromaVectorStore # Assuming you have an existing ChromaVectorStore instance vector_store = ChromaVectorStore(chroma_collection=chroma_collection) # Step 1: Delete the existing node vector_store.delete(ref_doc_id=updated_node.node_id) # Step 2: Add the updated node vector_store.add(nodes=[updated_node])
This approach ensures that the old embedding is removed and the new embedding is added to the collection, reflecting the updated schema changes [1][2].
To continue talking to Dosu, mention @dosu.
from llama_index.
Hi thanks for the response.
But could you please help me, on what if there was change in just the column. How to update the existing embedding for that tableschema, Please
from llama_index.
Related Issues (20)
- [Question]: How to insert/delete document to/from VectorStoreIndex when using IngestionPipeline? HOT 2
- Compatibility issue between Qdrant and DSPy when Qdrant is used as the VectorStoreIndex's storage context HOT 5
- [Question]: AttributeError: 'property' object has no attribute 'context_window' HOT 1
- [Question]: The created knowledge graph does not have edge relationships neo4j HOT 13
- [Documentation]: Some of the URL Not Working HOT 3
- [Question]: Unable to understand how document storage works in case nodes are deleted HOT 1
- [Documentation]: Broken 'Examples' Link HOT 3
- [Feature Request]: Add a notebook to show llamaindex agent works with graphRAG and Vertex AI
- [Bug]: File rename error in llama-index-finetuning/llama_index/finetuning/mistralai/utils.py HOT 1
- [Question]: How to enable "Calling function" print out after querying from Multi-Document Agent example HOT 3
- [Question]: Access LLM's response object CompleteResponse() attribute `additional_kwarg` in RAG HOT 2
- [Bug]: Error in initializing neo4j HOT 2
- Indexes cannot be created correctly using the MilvusVectorStore. HOT 12
- How should the dim parameter value of MilvusVectorStore be calculated? HOT 4
- [Bug]: ERROR: Failed building wheel for pystemmer HOT 1
- How to deploy open-source embedding models in auto-merging retriever: ValueError: shapes (1024,) and (384,) not aligned: 1024 (dim 0) != 384 (dim 0) HOT 3
- [Bug]: No module named 'llama_index.llms.openai.base HOT 1
- [Bug]: [OpenAILike] Cannot use llm_chat_callback on an instance without a callback_manager attribute HOT 4
- [Feature Request]: Version pinning for sub packages HOT 2
- I wonder how to use llama_index to retrieve the Milvus collection after it is created and indexed using the MilvusVectorStore. HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from llama_index.