Langchain의 callbacks으로 묶으려고 하니까 OpenAI의 자연어 처리 API를 사용하는 것으로 확인이 되어 token을 count할 수 없었다
현재 사용하고 있는 llm은 aws의 claude2기 때문에, open ai와 맞지 않아 구글링 해본 결과 여러 개를 테스트해볼 수 있었다
1토큰 당 처리되는 글자가 언어에 따라 달라진다는 점. 영어의 경우 4글자당 1개 토큰을 사용하는 반면 한글은
1글자당 2~3개의 토큰을 사용한다. 챗GPT 최대 입력 글자 수로 계산했을 때 영어는 1만 5384자이나 한글은 1365자에 불과하다라고 한다.
- callback을 시도하려했으나 오류발생
ImportError: cannot import name 'ChainManagerMixin' from 'langchain.callbacks.base'
langchain의 version을 == 0.0.179 로 하면 해결될 것으로 보임
2. from anthropic_bedrock import AnthropicBedrock
!pip install anthropic_bedrock
from langchain.llms import Bedrock
from anthropic_bedrock import AnthropicBedrock
client = AnthropicBedrock()
bedrock = Bedrock(
model_id = 'anthropic.claude-v2',
client = bedrock,
model_kwargs = {
"max_tokens_to_sample":4096,
"temperature":0.5
}
)
https://python.langchain.com/docs/modules/callbacks/token_counting
langchain의 token counting
https://github.com/anthropics/anthropic-bedrock-python
반응형