Kraken api - get token with python

Kraken api - get token with python an example of how you can generate a WebSocket authentication token using Python for Kraken's API: ```python import time import base64 import hashlib import hmac import urllib.request import json # Replace with your Kraken API public and private keys api_key = 'YOUR_API_PUBLIC_KEY' api_secret = 'YOUR_API_PRIVATE_KEY' # API endpoint and parameters api_path = '/0/private/GetWebSocketsToken' api_nonce = str(int(time.time() * 1000)) api_post = 'nonce=' + api_nonce # Create the SHA256 hash api_sha256 = hashlib.sha256(api_nonce.encode('utf-8') + api_post.encode('utf-8')).digest() # Create the HMAC signature api_hmac = hmac.new(base64.b64decode(api_secret), api_path.encode('utf-8') + api_sha256, hashlib.sha512) api_signature = base64.b64encode(api_hmac.digest()) # Create the request api_request = urllib.request.Request('https://api.kraken.com' + api_path, api_post.encode('utf-8')) ap

[인공지능] Llama2 AI모델을 이용한 검색 기술에 활용하기




Llama 2는 누구나 무료로 다운로드하여 사용할 수 있는 대규모 오픈 소스 언어 모델 입니다.

자율주행차부터 챗봇까지,  AI혁명으로 사회 전반의 삶의 변화가 일어나고 있습니다.  AI의 가장 흥미로운 발전 중 하나는 대규모 언어 모델의 생성입니다. 이러한 모델은 일관되고 이해하기 쉬운 새로운 텍스트를 생성하기 위해 기사 및 소셜 미디어 게시물과 같은 대량의 데이터에 대해 훈련되었습니다. 대규모 언어 모델의 잘 알려진 예로는 OpenAI의 ChatGPT, Google의 Google Bard, Meta의 Llama 2가 있습니다. Meta는 Microsoft와 협력하여 Lama 2 모델을 출시했습니다.


Lama2 AI모델에 대한 소개


Llama 2는 페이스북 모회사 메타의 AI 그룹에서 개발한 대규모 언어 모델입니다. 이 모델은 사전 학습된 매개변수 규모에 따라 3가지 버전으로 제공됩니다:

1. Llama-2-7B: 70억 개의 매개변수로 사전 학습 
2. Llama-2-13B: 130억 개의 매개변수로 사전 학습
3. Llama-2-70B: 700억 개의 매개변수로 사전 학습

이 모델들은 연구와 상업적인 용도로 완전 무료로 사용할 수 있으며, 매개변수 규모를 선택하여 다양한 작업에 활용할 수 있습니다. Llama 2는 기존 버전보다 더 많은 토큰으로 학습되었으며, 컨텍스트 길이도 증가하여 다양한 언어 처리 작업에서 효과적으로 활용할 수 있습니다.

Llama 2는 Amazon Web Services(AWS), Hugging Face 및 기타 제공업체를 통해서도 제공됩니다

 Llama 2의 우선 파트너로서 Microsoft와의 파트너십을 한 단계 더 발전시키고 생성 AI에 대한 노력을 확대하였습니다.
이제 Llama 2가 Azure AI 모델 카탈로그에서도 제공됩니다. Microsoft Azure를 사용하는 개발자는 Llama 2를 사용하여 구축하고 콘텐츠 필터링 및 안전 기능을 위한 클라우드 기반 도구를 활용할 수 있습니다.  또한 Windows에서 로컬로 실행되도록 최적화되어 개발자가 다양한 플랫폼에서 고객에게 생성적 AI 경험을 제공할 때 원활한 워크플로를 제공합니다.



Lama2를 이용한 검색 기술에 활용하기

Lama2   lama.search() 를 이용한 데이터 조회 조건 사용법 정리하여 보았습니다.


1. 단일 조건 검색 : lama.eq("key", "value")

# 특정 Key 값이 "Value"인 데이터를 찾는다.
criteria = lama.eq("key", "value")
search_result = lama.search(json_data, criteria)



2. 범위 기반 조회: lama.between("age", 25, 35)


# 연령이 25~35인 사람을 찾는다.
criteria = lama.between("age", 25, 35)
search_result = lama.search(json_data, criteria)



3. 부분 문자열 포함 여부 조회: lama.contains("name", "John")


# 이름이 john인 사람을 찾는다.
criteria = lama.contains("name", "John")
search_result = lama.search(json_data, criteria)



4. 여러 조건을 AND로 결합하여 조회: lama.and_( 조건1, 조건2)

  -  조건 1 과 조건 2를 만족하는 데이터를 찾는다.

# 30세 이상의 여성을 찾는다.
criteria = lama.and_(lama.eq("gender", "Female"), lama.gte("age", 30))
search_result = lama.search(json_data, criteria)


5. OR 연산자를 사용한 조회:  lama.or_( 조건1, 조건 2)

  -  조건 1 또는  조건 2를 만족하는 데이터를 찾는다.

# 도시 뉴욕 또는 로스엔젤런스에 거주하는 사람을 찾는다.
criteria = lama.or_(lama.eq("city", "New York"), lama.eq("city", "Los Angeles"))
search_result = lama.search(json_data, criteria)


6. 리스트 내 요소 조회: lama.contains("interests", "Skiing")

    - 리스트에 포함된 데이터를 찾는다.

# interests 리스트에서 "Skiing"가 포함된 경우를 찾는다.
criteria = lama.contains("interests", "Skiing")
search_result = lama.search(json_data, criteria)



예시 1 - Lama2를 이용한 jaon data 검색 

- 예시  JSON 데이터를 확장하여 30세 이상의 여성 중 스키를 좋아하는 사람을 찾는다.


from lama2 import Lama

# Lama 객체 생성
lama = Lama()

# 검색할 JSON 데이터 (예시)
json_data = {
    "name": "Jane Smith",
    "age": 35,
    "gender": "Female",
    "interests": ["Skiing", "Hiking"],
    "city": "Mountain Town"
}

# Lama를 사용하여 확장된 조건으로 검색 수행
criteria = lama.and_(
    lama.gte("age", 30),
    lama.eq("gender", "Female"),
    lama.contains("interests", "Skiing")
)

search_result = lama.search(json_data, criteria)

# 결과 출력
print("검색 결과:", search_result)



예시 2 - Lama2를 이용한 jaon data 검색 

단순한 문장보다 정확한 결과를 도출하고자 Lama2의 데이터 검색으로 json data로 찾는 조건을 제공하여 조회하는 방법을 작성해 보았습니다.

  - json_input_data로 찾는 조건을 만들어 유사한 데이터 찾는 예시입니다.

from lama2 import Lama

# Lama 객체 생성
lama = Lama()

from lama2 import Lama

# Json_input_data
json_input_data = {
    "age": "above 30",
    "interests": ["Movie", "Skiing"]
}

# 검색할 JSON 데이터
json_data = [
    {
        "id": 201,
        "name": "Jane Smith",
        "age": 35,
        "gender": "Female",
        "interests": ["Skiing", "Hiking"],
        "city": "Mountain Town"
    },
    {
        "id": 202,
        "name": "James Mason",
        "age": 31,
        "gender": "Male",
        "interests": ["Soccer", "Skiing", "Hiking"],
        "city": "EmberHouse Avenue"
    },
    {
        "id": 203,
        "name": "Malcom Edison",
        "age": 29,
        "gender": "Male",
        "interests": ["Soccer", "Baseball"],
        "city": "Mountain Town"
    },
    {
        "id": 205,
        "name": "Elise Mire",
        "age": 40,
        "gender": "Female",
        "interests": ["Movie", "Musical"],
        "city": "EmberHouse Avenue"
    }
]

# Lama 객체 생성
lama = Lama()

# Json_input_data를 Lama의 criteria로 변환
criteria = lama.and_(
    lama.gte("age", 30),
    lama.contains_all("interests", json_input_data["interests"])
)

# 결과를 저장할 리스트 초기화
matching_people = []

# Lama를 사용하여 검색 수행
for person in json_data:
    if lama.match(person, criteria):
        matching_people.append({"id": person["id"], "name": person["name"]})

# 결과 출력
print("유사한 사람들:", matching_people)




댓글

이 블로그의 인기 게시물

SSL/TLS 인증서 오류를 해결- 리눅스명령모음 - SSL certificate problem

(truffle 환경 설정) 스마트 계약 배포 와 truffle deploy 오류 해결 - Error: Could not find artifacts for SimpleStorage from any sources

자기주권 신원 (SSI Self-Sovereign Identity) 인증의 발전 그리고 정보 민주화 (Information Democratization)