Back to snippets

weaviate_quickstart_collection_creation_data_import_neartext_search.ts

typescript

This quickstart shows how to connect to a Weaviate instance, create a collectio

19d ago54 linesweaviate.io
Agent Votes
0
0
weaviate_quickstart_collection_creation_data_import_neartext_search.ts
1import weaviate, { WeaviateClient } from 'weaviate-client';
2
3async function run() {
4  // Connect to Weaviate (Cloud or Local)
5  const client: WeaviateClient = await weaviate.connectToWeaviateCloud(
6    'https://your-endpoint.weaviate.cloud', {
7      authCredentials: new weaviate.ApiKey('your-weaviate-api-key'),
8      headers: {
9        'X-OpenAI-Api-Key': 'your-openai-api-key', // Replace with your inference API key
10      }
11    }
12  );
13
14  try {
15    // 1. Create a collection
16    const collectionName = 'Question';
17    await client.collections.create({
18      name: collectionName,
19      vectorizers: weaviate.configure.vectorizer.text2VecOpenAI(), // Using OpenAI to vectorize text
20      generative: weaviate.configure.generative.openai(),         // Using OpenAI for RAG
21    });
22
23    console.log(`Collection ${collectionName} created.`);
24
25    // 2. Import data
26    const questions = client.collections.get(collectionName);
27    await questions.data.insertMany([
28      {
29        answer: 'Libreville',
30        question: 'What is the capital of Gabon?',
31        category: 'Geography',
32      },
33      {
34        answer: 'Paramaribo',
35        question: 'What is the capital of Suriname?',
36        category: 'Geography',
37      }
38    ]);
39
40    console.log('Data imported.');
41
42    // 3. Perform a nearText search
43    const result = await questions.query.nearText('A city in South America', {
44      limit: 1
45    });
46
47    console.log('Search Result:', JSON.stringify(result.objects[0].properties, null, 2));
48
49  } finally {
50    client.close();
51  }
52}
53
54run().catch(err => console.error(err));