Unverified Commit b5953039 authored by Jyong's avatar Jyong Committed by GitHub

recreate qdrant vector (#1049)

Co-authored-by: 's avatarjyong <jyong@dify.ai>
parent a43e80dd
...@@ -318,53 +318,55 @@ def create_qdrant_indexes(): ...@@ -318,53 +318,55 @@ def create_qdrant_indexes():
page += 1 page += 1
for dataset in datasets: for dataset in datasets:
try: if dataset.index_struct_dict:
click.echo('Create dataset qdrant index: {}'.format(dataset.id)) if dataset.index_struct_dict['type'] != 'qdrant':
try: try:
embedding_model = ModelFactory.get_embedding_model( click.echo('Create dataset qdrant index: {}'.format(dataset.id))
tenant_id=dataset.tenant_id, try:
model_provider_name=dataset.embedding_model_provider, embedding_model = ModelFactory.get_embedding_model(
model_name=dataset.embedding_model tenant_id=dataset.tenant_id,
) model_provider_name=dataset.embedding_model_provider,
except Exception: model_name=dataset.embedding_model
provider = Provider( )
id='provider_id', except Exception:
tenant_id=dataset.tenant_id, provider = Provider(
provider_name='openai', id='provider_id',
provider_type=ProviderType.CUSTOM.value, tenant_id=dataset.tenant_id,
encrypted_config=json.dumps({'openai_api_key': 'TEST'}), provider_name='openai',
is_valid=True, provider_type=ProviderType.CUSTOM.value,
) encrypted_config=json.dumps({'openai_api_key': 'TEST'}),
model_provider = OpenAIProvider(provider=provider) is_valid=True,
embedding_model = OpenAIEmbedding(name="text-embedding-ada-002", model_provider=model_provider) )
embeddings = CacheEmbedding(embedding_model) model_provider = OpenAIProvider(provider=provider)
embedding_model = OpenAIEmbedding(name="text-embedding-ada-002", model_provider=model_provider)
from core.index.vector_index.qdrant_vector_index import QdrantVectorIndex, QdrantConfig embeddings = CacheEmbedding(embedding_model)
index = QdrantVectorIndex( from core.index.vector_index.qdrant_vector_index import QdrantVectorIndex, QdrantConfig
dataset=dataset,
config=QdrantConfig( index = QdrantVectorIndex(
endpoint=current_app.config.get('QDRANT_URL'), dataset=dataset,
api_key=current_app.config.get('QDRANT_API_KEY'), config=QdrantConfig(
root_path=current_app.root_path endpoint=current_app.config.get('QDRANT_URL'),
), api_key=current_app.config.get('QDRANT_API_KEY'),
embeddings=embeddings root_path=current_app.root_path
) ),
if index: embeddings=embeddings
index_struct = { )
"type": 'qdrant', if index:
"vector_store": {"class_prefix": dataset.index_struct_dict['vector_store']['class_prefix']} index.create_qdrant_dataset(dataset)
} index_struct = {
dataset.index_struct = json.dumps(index_struct) "type": 'qdrant',
db.session.commit() "vector_store": {"class_prefix": dataset.index_struct_dict['vector_store']['class_prefix']}
index.create_qdrant_dataset(dataset) }
create_count += 1 dataset.index_struct = json.dumps(index_struct)
else: db.session.commit()
click.echo('passed.') create_count += 1
except Exception as e: else:
click.echo( click.echo('passed.')
click.style('Create dataset index error: {} {}'.format(e.__class__.__name__, str(e)), fg='red')) except Exception as e:
continue click.echo(
click.style('Create dataset index error: {} {}'.format(e.__class__.__name__, str(e)), fg='red'))
continue
click.echo(click.style('Congratulations! Create {} dataset indexes.'.format(create_count), fg='green')) click.echo(click.style('Congratulations! Create {} dataset indexes.'.format(create_count), fg='green'))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment