티스토리 뷰
Chroma는 AI 기반 오픈소스 벡터 데이터베이스입니다.
시작하는 데 필요한 모든 것이 내장되어 있으며, 컴퓨터에서 실행됩니다.
참고URL 입니다. (원본)
https://docs.trychroma.com/getting-started
pip install chromadb
pip install numpy datasets
설치시 아래와 같은 오류메세지가 발생한다면.. 그이유는 pip 설치시 버전 문제일수 있습니다.
그래서 아래와 같이 버전을 중간정도로 진행한번 하고, 20.3버전으로 그리고 최신버전으로 업데이트 진행합니다.
root@nfs-server:/home/vagrant# pip install --upgrade pip==20.3 DEPRECATION: Python 2.7 reached the end of its life on January 1st, 202 0. Please upgrade your Python as Python 2.7 is no longer maintained. pi p 21.0 will drop support for Python 2.7 in January 2021. More details a bout Python 2 support in pip can be found at https://pip.pypa.io/en/lat est/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. Collecting pip==20.3 Downloading pip-20.3-py2.py3-none-any.whl (1.5 MB) |████████████████████████████████| 1.5 MB 10.0 MB/s Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 20.3.4 Uninstalling pip-20.3.4: Successfully uninstalled pip-20.3.4 Successfully installed pip-20.3 root@nfs-server:/home/vagrant# pip install --upgrade pip DEPRECATION: Python 2.7 reached the end of its life on January 1st, 202 0. Please upgrade your Python as Python 2.7 is no longer maintained. pi p 21.0 will drop support for Python 2.7 in January 2021. More details a bout Python 2 support in pip can be found at https://pip.pypa.io/en/lat est/development/release-process/#python-2-support pip 21.0 will remove support for this functionality. Collecting pip Using cached pip-20.3.4-py2.py3-none-any.whl (1.5 MB) Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 20.3 Uninstalling pip-20.3: Successfully uninstalled pip-20.3 Successfully installed pip-20.3.4 root@nfs-server:/home/vagrant# |
3. HuggingFace sciq 데이터셋 로드하기
# Get the SciQ dataset from HuggingFace
from datasets import load_dataset
dataset = load_dataset("sciq", split="train")
# Filter the dataset to only include questions with a support
dataset = dataset.filter(lambda x: x["support"] != "")
print("Number of questions with support: ", len(dataset))
결과를 조회해보면 아래와 같이 조회됩니다.
HuggingFace SciQ dataset load
실제 해당 데이터를 보시면 질문, 정답, 근거 등이 있습니다.
4. chroma DB에 데이터 저장
import chromadb
client = chromadb.Client()
collection = client.create_collection(name="my_collection")
여기서 Client()는 기본 설정인 Memory에 저장하는 EphemeralClient라고 보시면 됩니다.
chroma db에 100개의 근거를 저장해봅니다.
# Embed and store the first 100 supports for this demo
collection.add(
ids=[str(i) for i in range(0, 100)], # IDs are just strings
documents=dataset["support"][:100],
metadatas=[{"type": "support"} for _ in range(0, 100)
],
)
5. 쿼리 날리기
chroma db에 앞서 저장했던 근거를 바탕으로 10가지의 질문에 대한 관련성이 높은 근거를 조회해봅니다.
results = collection.query(
query_texts=dataset["question"][:10],
n_results=1)
# Print the question and the corresponding support
for i, q in enumerate(dataset['question'][:10]):
print(f"Question: {q}")
print(f"Retrieved support: {results['documents'][i][0]}")
print()
chroma db에 저장후 print
chroma DB에서 제공해주는 기본적인 사용법을 따라해보았습니다.
추후에는 chatgpt와 연계해서 사용할 수 있는 방법을 확인해봐야겠네요.
감사합니다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- startup 에러
- 코로나19
- 튜닝
- [오라클 튜닝] sql 튜닝
- 커널
- 쿠버네티스
- 우분투
- [오라클 튜닝] instance 튜닝2
- 테라폼
- Oracle
- K8s
- MSA
- 트리이스
- 오라클
- 오라클 홈디렉토리 copy 후 startup 에러
- 앤시블
- 스토리지 클레스
- 설치하기(HP-UX)
- 오라클 인스턴트클라이언트(InstantClient) 설치하기(HP-UX)
- 여러서버 컨트롤
- ubuntu
- 키알리
- 5.4.0.1072
- ORACLE 트러블 슈팅(성능 고도화 원리와 해법!)
- (InstantClient) 설치하기(HP-UX)
- 버쳐박스
- 오라클 트러블 슈팅(성능 고도화 원리와 해법!)
- directory copy 후 startup 에러
- CVE 취약점 점검
- pod 상태
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함