relevance js sdk
1.0.0
다음을 사용하여 NPM으로 설치하십시오.
npm i @relevanceai/dataset
Cloud.Relevanceai.com에서 계정을 작성하여 시작하십시오 - 벡터 데이터베이스 온 보드 옵션을 선택하십시오. 설정 한 후에는 API 키를 가져와 아래 스 니펫을 사용할 수 있습니다.
import { Client , QueryBuilder } from "@relevanceai/dataset" ;
const discovery = new Client ( {
project : '' ,
api_key : '' ,
endpoint : ''
} ) ;
const dataset = discovery . dataset ( '1000-movies' ) ;
const movies = [ { title : 'Lord of the Rings: The Fellowship of the Ring' , grenre : 'action' , budget : 100 } , ... ]
await dataset . insertDocuments ( movies , [ { model_name : 'text-embedding-ada-002' , field : 'title' } ] ) ;
const { results } = await dataset . search ( QueryBuilder ( ) . vector ( 'title_vector_' , { query : 'LOTR' , model : 'text-embeddings-ada-002' } ) ) ; 먼저 코드를 실행하기 전에 쉘의 환경 변수를 설정하십시오.
relatance_project를 프로젝트 이름으로 설정하십시오.
API 키로 antlance_api_key를 설정하십시오. 자세한 내용은 문서 문서를 참조하십시오 : 승인 문서
그녀는 Linux 환경에 복사하여 붙여 넣을 템플릿입니다.
export RELEVANCE_PROJECT= # ########
export RELEVANCE_API_KEY= # ########SDK는 API 호출을 할 때 이러한 변수를 사용합니다. 그런 다음 다음과 같이 클라이언트를 초기화 할 수 있습니다.
import { Client } from "@relevanceai/dataset" ;
const client = new Client ( { } ) ; import { Client } from "@relevanceai/dataset" ;
const client = new Client ( {
project : '########' ,
api_key : '########' ,
} ) ; import { QueryBuilder , Client , BulkInsertOutput } from "@relevanceai/dataset" ; const discovery = new Client ( { ... } ) ;
const dataset = discovery . dataset ( 'tshirts-prod' ) ;
// Here we create some demo data. Replace this with your real data
const fakeVector = [ ] ;
for ( let i = 0 ; i < 768 ; i ++ ) fakeVector . push ( 1 ) ;
const tshirtsData = [ ] ;
for ( let i = 0 ; i < 10000 ; i ++ ) {
tshirtsData . push ( { _id : `tshirt- ${ i } 1` , color : 'red' , price : i / 1000 , 'title-fake_vector_' : fakeVector } ) ;
tshirtsData . push ( { _id : `tshirt- ${ i } 2` , color : 'blue' , price : i / 1000 } ) ;
tshirtsData . push ( { _id : `tshirt- ${ i } 3` , color : 'orange' , price : i / 1000 } ) ;
}
const res = await dataset . insertDocuments ( tshirtsData , { batchSize : 10000 } ) ; { "inserted" : 30000 , "failed_documents" : [ ] } const builder = QueryBuilder ( ) ;
builder . query ( 'red' ) . text ( ) . vector ( 'title-fake_vector_' , 0.5 ) . minimumRelevance ( 0.1 ) ;
// .text() searches all fields. alternatively, use .text(field1).text(field2)... to search specific fields
const searchResults = await dataset . search ( builder ) ; const filters = QueryBuilder ( ) ;
filters . match ( 'color' , [ 'blue' , 'red' ] ) . range ( 'price' , { lessThan : 50 } ) ;
const filteredItems = await dataset . search ( filters ) ; {
results : [
{
color : 'red' ,
price : 0 ,
insert_date_ : '2021-11-16T03:14:28.509Z' ,
_id : 'tshirt-01' ,
_relevance : 0
}
. . .
] ,
resultsSize : 10200 ,
aggregations : { } ,
aggregates : { } ,
aggregateStats : { }
} ## Call raw api methods directly
```javascript
const discovery = new Client({ ... });
const dataset = discovery.dataset('tshirts-prod');
const {body} = await dataset.apiClient.FastSearch({filters:[{match:{key:'_id',value:`tshirt-01`}}]});
expect((body.results[0] as any).color).toBe('red')