2024. 8. 7. 20:02ㆍ관심있는 주제/LLM
LangChain 제품들 요약(LangChain, LangGraph, LangSmith, LangServe)
LangChain 제품과 각각의 주요 내용을 정리하면 다음과 같습니다:
- LangChain: 대형 언어 모델(LLM)을 활용한 애플리케이션 개발 프레임워크입니다.
- 개발: 오픈소스 구성 요소와 LangGraph를 사용하여 상태 유지 에이전트를 구축합니다.
- 생산화: LangSmith를 사용하여 체인을 검사, 모니터링, 평가하고 최적화합니다.
- 배포: LangGraph Cloud를 통해 생산 준비가 된 API 및 Assistant로 변환합니다.
- LangChain의 구성 요소:
- langchain-core: 기본 추상화 및 LangChain 표현 언어.
- langchain-community: 서드파티 통합.
(https://api.python.langchain.com/en/latest/community_api_reference.html#) - 파트너 패키지: 특정 통합을 위한 경량 패키지.
(https://api.python.langchain.com/en/latest/ollama_api_reference.html) - LangGraph: 멀티 액터 애플리케이션을 그래프 모델로 구축.
- LangServe: REST API로 LangChain 체인 배포.
- LangSmith: LLM 애플리케이션의 디버깅, 테스트, 평가, 모니터링 플랫폼.
LangChain의 제품과 기능을 체계적으로 정리하면 다음과 같습니다:
제품 | 설명 | 주요 기능 |
LangChain | 대형 언어 모델(LLM)을 사용한 애플리케이션 개발 프레임워크 | - 상호 운용 가능한 컴포넌트 체인 - 문맥 인식 및 추론 애플리케이션 구축 - 서드파티 통합 지원 |
LangGraph | 상태 유지 에이전트를 구축하고 관리하는 프레임워크 | - 멀티 액터 애플리케이션 구축 - 그래프 모델로 워크플로우 구성 - LangChain과의 원활한 통합 |
LangSmith | LLM 애플리케이션의 디버깅, 테스트, 배포 및 모니터링 플랫폼 | - 체인의 검사, 모니터링, 평가 - 개발 효율성 향상 - 생산성 증가 및 오류 감소 |
LangChain 제품의 구성 요소
구성 요소 | 설명 |
langchain-core | 기본 추상화 및 LangChain 표현 언어 |
langchain-community | 서드파티 통합 라이브러리 |
파트너 패키지 | 특정 통합을 위한 경량 패키지(e.g., langchain-openai) |
LangGraph | 에이전트 및 멀티 액터 애플리케이션 구축 도구 |
LangServe | LangChain 체인을 REST API로 배포 |
LangSmith | LLM 애플리케이션의 디버깅, 테스트, 평가, 모니터링 도구 |
제품 라이프사이클
단계 | 설명 |
개발 | LangChain의 오픈소스 구성 요소를 사용하여 애플리케이션을 구축 |
생산화 | LangSmith를 사용하여 체인을 검사, 모니터링, 평가하여 최적화 |
배포 | LangGraph Cloud를 통해 생산 준비가 된 API 및 Assistant로 변환 |
기능별 주요 요소
기능 | 설명 |
Retrieval | 데이터 검색 인터페이스 |
Agents | 고급 지시사항에 따라 도구를 선택하는 구성 요소 |
Evaluation | 애플리케이션의 성능을 평가하고 테스트 |
조금 더 자세한 그림은 다음과 같습니다.
LangChain이란?
LangChain은 언어 모델(LLM)을 활용하여 애플리케이션을 개발하는 프레임워크입니다. 이 프레임워크는 다양한 컴포넌트와 도구들을 체인 형태로 연결하여 복잡한 자연어 처리 작업을 간편하게 수행할 수 있게 합니다.
LangChain은 개발, 배포, 모니터링 등 애플리케이션의 전체 라이프사이클을 간소화하는 데 중점을 두고 있습니다.
그렇다면 일단 이러한 component를 연결해주는 lcel은 다음과 같습니다.
LCEL
LangChain Expression Language(LCEL)는 LangChain 컴포넌트를 체인 형태로 연결하는 선언적 방법입니다. LCEL은 프로토타입부터 생산 환경까지 일관된 방식으로 애플리케이션을 구축하고 관리할 수 있도록 설계되었습니다.
LCEL 주요 장점
장점 | 설명 |
스트리밍 지원 | 첫 토큰 응답 시간을 최적화하여 빠른 응답을 제공합니다. LLM에서 스트리밍 출력 파서로 직접 토큰을 스트리밍하여, LLM 제공자가 원시 토큰을 출력하는 속도와 동일한 속도로 파싱된 증분 출력 조각을 반환합니다. |
비동기 지원 | 동기 및 비동기 API 모두를 지원하여 프로토타입과 생산 환경에서 동일한 코드를 사용할 수 있습니다. 이는 뛰어난 성능을 제공하며, 많은 동시 요청을 처리할 수 있게 합니다. |
병렬 실행 최적화 | LCEL 체인이 병렬로 실행될 수 있는 단계가 있을 경우, 동기 및 비동기 인터페이스 모두에서 최소한의 지연 시간으로 자동으로 병렬 실행됩니다. |
재시도 및 폴백 구성 | LCEL 체인의 모든 부분에 대해 재시도 및 폴백을 구성할 수 있습니다. 이는 대규모에서 체인의 신뢰성을 높이는 데 유용합니다. 스트리밍 지원이 추가되면 지연 시간 없이도 신뢰성을 높일 수 있습니다. |
중간 결과 접근 | 복잡한 체인의 경우 최종 출력이 생성되기 전에 중간 단계의 결과에 접근하는 것이 유용합니다. 이를 통해 최종 결과가 나오기 전 사용자에게 진행 상황을 알리거나 체인을 디버그할 수 있습니다. 중간 결과를 스트리밍할 수 있으며, 이는 모든 LangServe 서버에서 가능합니다. |
입력 및 출력 스키마 | 입력 및 출력 스키마는 모든 LCEL 체인에 Pydantic 및 JSONSchema 스키마를 제공합니다. 이는 입력 및 출력의 유효성을 검사하는 데 사용되며, LangServe의 중요한 부분입니다. |
LangSmith 추적 | 체인이 복잡해질수록 각 단계에서 무슨 일이 일어나고 있는지 이해하는 것이 중요합니다. LCEL을 사용하면 모든 단계가 자동으로 LangSmith에 로깅되어 최대한의 관찰 가능성과 디버깅 기능을 제공합니다. |
Components 및 Providers
지금 아래에는 Components 과 provider(langchain-{provider}) 에 대한 것을 보면 다음과 같다.
많은 기업에서 참여하고 있는 것을 알구 있고, 구성요소도 다양하게 가지고 있는 것을 알 수 있습니다.
LangChain은 언어 모델(LLM)을 활용한 애플리케이션을 개발하기 위한 프레임워크로, 다양한 컴포넌트와 도구를 제공합니다. 아래는 LangChain의 주요 요소와 그 기능을 정리한 테이블입니다.
그룹 | 요소 | 설명 | 주요 기능 |
Model I/O | Chat Models | 메시지를 입력으로 받아 채팅 메시지를 출력하는 언어 모델 | - 여러 역할 지원 (AI, 사용자, 시스템 메시지) - API 키, 모델 이름, 최대 토큰 등 표준 매개변수 사용 - 다중 모달 입력(이미지, 오디오, 비디오) 지원 |
LLMs | 문자열을 입력으로 받아 문자열을 출력하는 언어 모델 | - 메시지를 문자열로 변환하여 처리 - 써드파티 통합 사용 |
|
Messages | 다양한 유형의 메시지 (사용자, AI, 시스템 등) | - 메시지의 역할, 콘텐츠 및 응답 메타데이터 포함 - 도구 호출을 통한 함수 호출 결과 포함 |
|
Prompt Templates | 사용자 입력과 매개변수를 언어 모델의 지침으로 변환 | - 문자열 및 채팅 메시지 템플릿 지원 - 메시지 목록을 특정 위치에 삽입할 수 있는 MessagesPlaceholder 지원 |
|
Example Selectors | 프롬프트에 예제를 동적으로 선택하여 포함 | - 다양한 예제 선택 클래스 제공 | |
Output Parsers | 모델의 텍스트 출력을 구조화된 형식으로 변환 | - JSON, XML, CSV, Pydantic 등 다양한 파서 지원 | |
Chat History | 대화의 이전 메시지를 기록하고 참조 | - 체인 입력으로 과거 메시지를 포함 | |
Retrieval | Documents | 데이터에 대한 정보를 담은 객체 | - 문서 콘텐츠와 메타데이터 포함 |
Document Loaders | 다양한 데이터 소스에서 문서를 로드 | - 통합된 데이터 소스 지원 (Slack, Notion, Google Drive 등) | |
Text Splitters | 긴 문서를 더 작은 조각으로 분할 | - 사용자 정의 문자, 토큰, HTML 등으로 분할 | |
Embedding Models | 텍스트를 벡터 표현으로 변환 | - 다양한 임베딩 모델 제공 (OpenAI, Cohere 등) | |
Vector Stores | 임베딩된 데이터를 저장하고 검색 | - 메타데이터 필터링 및 유사성 검색 지원 | |
Retrievers | 비정형 쿼리를 기반으로 문서를 반환 | - 위키백과 검색, Amazon Kendra 등 지원 | |
Key-value Stores | 임의의 데이터를 저장하는 인터페이스 | - 여러 키-값 쌍을 동시에 수정 가능 | |
Composition | Tools | 모델이 호출할 수 있는 유틸리티 | - 도구의 이름, 설명, JSON 스키마 정의 |
Toolkits | 특정 작업을 위해 함께 사용되는 도구 모음 | - 도구 목록 반환 | |
Agents | LLM을 사용하여 작업을 수행하는 시스템 | - LangGraph를 통한 에이전트 생성 | |
Callbacks | LLM 애플리케이션의 다양한 단계에 연결할 수 있는 시스템 | - 로깅, 모니터링, 스트리밍 등에 유용 |
Model I/O
메시지, 프롬프트, LLM과 ChatModel의 차이점, 출력 파서에 대한 설명이 포함됩니다.
LangChain을 사용하기 전에 이 섹션을 읽어야 합니다.
- Messages: 다양한 유형의 메시지를 정의합니다. 예를 들어 사용자 메시지, AI 메시지, 시스템 메시지 등이 있습니다.
- Prompts: 사용자의 입력과 매개변수를 언어 모델이 이해할 수 있는 지침으로 변환합니다.
- LLMs vs ChatModels:
- LLMs: 텍스트 문자열을 입력으로 받아 텍스트 문자열을 반환하는 모델입니다.
- ChatModels: 메시지 목록을 입력으로 받아 메시지를 반환하는 모델입니다.
- Output Parsers: 모델의 출력을 구조화된 데이터로 변환합니다.
Retrieval
Document Loaders
- 설명: 다양한 소스에서 문서를 로드합니다. LangChain은 여러 종류의 문서 로더를 제공하며 Unstructured와 같은 주요 제공업체와의 통합도 지원합니다.
- 주요 기능:
- HTML, PDF, 코드 등 모든 종류의 문서를 로드
- 사설 S3 버킷, 공공 웹사이트 등 다양한 위치에서 문서 로드
Text Splitting
- 설명: 검색의 중요한 부분은 문서의 관련 부분만 가져오는 것입니다. 이를 위해 문서를 작은 조각으로 분할하는 것이 필요합니다.
- 주요 기능:
- 다양한 알고리즘을 사용하여 문서를 분할
- 코드, 마크다운 등 특정 문서 유형에 최적화된 논리 제공
Text Embedding Models
- 설명: 텍스트의 의미를 캡처하여 유사한 다른 텍스트 조각을 빠르고 효율적으로 찾을 수 있게 합니다.
- 주요 기능:
- 오픈 소스부터 독점 API까지 다양한 임베딩 제공업체와 방법 통합
- 표준 인터페이스를 노출하여 모델 간의 손쉬운 전환 가능
Vector Stores
- 설명: 임베딩을 효율적으로 저장하고 검색할 수 있는 데이터베이스가 필요합니다.
- 주요 기능:
- 오픈 소스 로컬 벡터 스토어부터 클라우드 호스팅 독점 벡터 스토어까지 다양한 벡터 스토어 통합
- 표준 인터페이스를 노출하여 벡터 스토어 간의 손쉬운 전환 가능
Retrievers
- 설명: 데이터베이스에 있는 데이터를 검색하는 알고리즘을 지원합니다.
- 주요 기능:
- 간단한 시맨틱 검색부터 고성능 알고리즘까지 다양한 검색 방법 제공
- 부모 문서 검색기: 부모 문서당 여러 임베딩을 생성하여 더 큰 문맥을 반환
- 자가 쿼리 검색기: 쿼리의 시맨틱 부분과 메타데이터 필터를 구분하여 처리
Composition
LangChain의 Composition 섹션에서는 외부 API 및 서비스와 LangChain의 기본 요소들을 결합하는 고수준의 컴포넌트를 다룹니다. 이 섹션에서는 LangChain Expression Language와 시퀀스를 구성하는 다양한 원시 요소에 익숙해지는 것이 좋습니다.
주요 컴포넌트
Tools
- 설명: LLM 및 기타 컴포넌트가 다른 시스템과 상호 작용할 수 있는 인터페이스를 제공합니다.
- 예시:
- Wikipedia: 위키백과에서 정보를 검색하고 제공
- Calculator: 수학 계산을 수행
- Python REPL: 파이썬 코드 실행
Agents
- 설명: 언어 모델을 사용하여 수행할 작업을 결정하는 시스템으로, 종종 도구에 의해 정의됩니다.
- 구성 요소:
- Executor: 에이전트의 런타임으로, 에이전트를 호출하고 선택한 도구를 실행하며, 작업 출력을 에이전트에 전달하고 반복하는 역할을 합니다.
- 에이전트: 이전 결과에서 출력을 파싱하고 다음 단계를 선택하는 역할을 담당합니다.
Chains
- 설명: 다른 원시 요소 및 컴포넌트를 조합하여 블록 형태로 구성된 시스템입니다.
- 주요 기능:
- 다양한 LangChain 컴포넌트 및 외부 시스템을 연결하여 복잡한 작업을 수행할 수 있는 구성 요소를 생성합니다.
LangGraph
LangGraph는 LangChain을 기반으로 하는 AI 라이브러리로, 상태를 유지하는 다중 행위자 애플리케이션을 구축하기 위한 도구입니다.
LLM(대규모 언어 모델) 애플리케이션에서 상태, 메모리, 컨텍스트의 부족을 보완하여 더 나은 출력과 성능을 제공합니다. LangGraph는 사이클 데이터 흐름과 고수준의 추상을 통해 복잡하고 맞춤화된 LLM 애플리케이션을 쉽게 구축하고 관리할 수 있습니다.
LangGraph의 주요 기능 및 장점
주요 기능
기능 | 설명 |
사이클 및 분기(Cycles and Branching) | 애플리케이션에서 루프와 조건문을 구현할 수 있습니다. 노드가 이전 입력과 출력에서 피드백을 받아 출력을 정제합니다. |
지속성(Persistence) | 그래프의 각 단계 후 상태를 자동으로 저장하여 실행을 일시 중지하고 재개할 수 있습니다. 에러 복구, 인간의 개입, 메모리 기능을 지원합니다. |
인간의 개입(Human-in-the-Loop) | 에이전트가 계획한 다음 작업을 승인하거나 수정할 수 있도록 그래프 실행을 중단할 수 있습니다. |
스트리밍 지원(Streaming Support) | 각 노드가 출력하는 데이터를 실시간으로 스트리밍할 수 있습니다. |
LangChain과의 통합(Integration with LangChain) | LangChain 및 LangSmith와 원활하게 통합되지만 독립적으로도 사용할 수 있습니다. |
장점
장점 | 설명 |
유연성(Flexibility) | 고수준의 추상을 통해 행위자, LLM, 상호작용을 그래프 기반의 표현으로 정의하고 관리할 수 있습니다. 복잡하고 정교한 애플리케이션을 쉽게 생성할 수 있습니다. |
확장성(Scalability) | LangChain을 기반으로 한 분산 네트워크를 통해 애플리케이션을 쉽게 확장할 수 있습니다. |
사이클 데이터 흐름(Cyclic Data Flows) | 노드가 이전 출력과 입력에서 피드백을 받아 메모리를 유지하고 출력의 품질을 향상시킵니다. |
사용 용이성(Ease of Use) | 간단하고 직관적인 API를 통해 빠르게 상태를 유지하는 다중 행위자 애플리케이션을 만들 수 있습니다. |
LangGraph를 활용한 에이전트 런타임의 개선
기존의 에이전트 런타임은 에이전트 EX 클래스와 같은 고정된 구조와 선형 프로세스로 인해 유연성이 부족했습니다. 이는 다중 행위자 LLM 애플리케이션의 개발을 어렵게 했습니다. LangGraph는 순환 그래프를 사용하여 에이전트의 런타임을 보다 효율적으로 만들며, 동적이고 상호작용하는 시나리오를 지원합니다. LangGraph는 여러 계산 단계를 순환적으로 조정하여 불확실한 상황에서도 언어 모델을 더 잘 제어할 수 있게 합니다.
LangServe
LangServe는 LangChain의 실행 가능한 객체와 체인을 REST API로 배포하는 데 도움을 주는 라이브러리입니다. FastAPI와 통합되어 있으며, 데이터 유효성 검사를 위해 pydantic을 사용합니다.
아주 쉽게 서빙할 수 있게 할 수 있는 것을 확인할 수 있습니다.
주요 기능
- 입력 및 출력 스키마 자동 유추:
- LangChain 객체에서 자동으로 입력 및 출력 스키마를 유추하고, 모든 API 호출에서 이를 강제하며 풍부한 오류 메시지를 제공합니다.
- API 문서 페이지:
- JSONSchema 및 Swagger를 포함한 API 문서 페이지를 제공합니다.
- 효율적인 엔드포인트:
- /invoke, /batch, /stream 엔드포인트는 단일 서버에서 많은 동시 요청을 지원합니다.
- /stream_log 엔드포인트는 체인/에이전트의 모든 (또는 일부) 중간 단계를 스트리밍합니다.
- 버전 0.0.40부터 /stream_events 엔드포인트를 지원하여 /stream_log의 출력을 파싱할 필요 없이 스트리밍을 쉽게 할 수 있습니다.
- 플레이그라운드 페이지:
- /playground/에서 스트리밍 출력과 중간 단계를 확인할 수 있는 페이지를 제공합니다.
- LangSmith 추적:
- API 키를 추가하기만 하면 LangSmith로의 내장(옵션) 추적 기능을 사용할 수 있습니다.
- 신뢰할 수 있는 오픈 소스 Python 라이브러리 사용:
- FastAPI, Pydantic, uvloop, asyncio와 같은 검증된 오픈 소스 Python 라이브러리를 사용합니다.
- 클라이언트 SDK:
- LangServe 서버를 로컬에서 실행되는 Runnable처럼 호출하거나 HTTP API를 직접 호출할 수 있는 클라이언트 SDK를 제공합니다
# server
#!/usr/bin/env python
from fastapi import FastAPI
from langchain.prompts import ChatPromptTemplate
from langchain.chat_models import ChatAnthropic, ChatOpenAI
from langserve import add_routes
app = FastAPI(
title="LangChain Server",
version="1.0",
description="A simple api server using Langchain's Runnable interfaces",
)
add_routes(
app,
ChatOpenAI(model="gpt-3.5-turbo-0125"),
path="/openai",
)
add_routes(
app,
ChatAnthropic(model="claude-3-haiku-20240307"),
path="/anthropic",
)
model = ChatAnthropic(model="claude-3-haiku-20240307")
prompt = ChatPromptTemplate.from_template("tell me a joke about {topic}")
add_routes(
app,
prompt | model,
path="/joke",
)
if __name__ == "__main__":
import uvicorn
uvicorn.run(app, host="localhost", port=8000)
# client
from langchain.schema import SystemMessage, HumanMessage
from langchain.prompts import ChatPromptTemplate
from langchain.schema.runnable import RunnableMap
from langserve import RemoteRunnable
openai = RemoteRunnable("http://localhost:8000/openai/")
anthropic = RemoteRunnable("http://localhost:8000/anthropic/")
joke_chain = RemoteRunnable("http://localhost:8000/joke/")
joke_chain.invoke({"topic": "parrots"})
# or async
await joke_chain.ainvoke({"topic": "parrots"})
prompt = [
SystemMessage(content='Act like either a cat or a parrot.'),
HumanMessage(content='Hello!')
]
# Supports astream
async for msg in anthropic.astream(prompt):
print(msg, end="", flush=True)
prompt = ChatPromptTemplate.from_messages(
[("system", "Tell me a long story about {topic}")]
)
# Can define custom chains
chain = prompt | RunnableMap({
"openai": openai,
"anthropic": anthropic,
})
chain.batch([{"topic": "parrots"}, {"topic": "cats"}])
LangSmith
LangSmith는 LLM(대규모 언어 모델) 애플리케이션 개발, 모니터링 및 테스트를 위한 플랫폼입니다. LangSmith는 애플리케이션 개발 수명 주기의 각 단계를 지원하는 다양한 워크플로우를 제공하여 개발자가 강력한 플랫폼을 최적의 방식으로 활용할 수 있도록 합니다.
langsmith-sdk 사용할 떄 API-KEY가 따로 필요하지만 자유롭게 쓸 수 있다고 합니다.
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_API_KEY=<your-api-key>
주요 기능
기능 | 설명 | 주요 기능 |
사이클 및 분기 | 애플리케이션에서 루프와 조건문을 구현할 수 있습니다. | - 노드가 이전 입력과 출력에서 피드백을 받아 출력을 정제합니다. |
지속성 | 그래프의 각 단계 후 상태를 자동으로 저장하여 실행을 일시 중지하고 재개할 수 있습니다. | - 에러 복구, 인간의 개입, 메모리 기능을 지원합니다. |
인간의 개입 | 에이전트가 계획한 다음 작업을 승인하거나 수정할 수 있도록 그래프 실행을 중단할 수 있습니다. | - 피드백 수집 및 주석 기능 제공. |
스트리밍 지원 | 각 노드가 출력하는 데이터를 실시간으로 스트리밍할 수 있습니다. | - /stream_log, /stream_events 엔드포인트 제공. |
LangChain 통합 | LangChain 및 LangSmith와 원활하게 통합됩니다. | - 독립적으로도 사용 가능. |
장점
장점 | 설명 |
유연성 | 고수준의 추상을 통해 행위자, LLM, 상호작용을 그래프 기반의 표현으로 정의하고 관리할 수 있습니다. |
확장성 | LangChain을 기반으로 한 분산 네트워크를 통해 애플리케이션을 쉽게 확장할 수 있습니다. |
사이클 데이터 흐름 | 노드가 이전 출력과 입력에서 피드백을 받아 메모리를 유지하고 출력의 품질을 향상시킵니다. |
사용 용이성 | 간단하고 직관적인 API를 통해 빠르게 상태를 유지하는 다중 행위자 애플리케이션을 만들 수 있습니다. |
LangChain 제품 요약
LangChain
- 설명: 대형 언어 모델(LLM)을 활용한 애플리케이션 개발 프레임워크.
- 주요 기능: 문맥 인식, 추론 애플리케이션 구축, 서드파티 통합 지원.
LangGraph
- 설명: 상태를 유지하는 멀티 액터 애플리케이션을 그래프 모델로 구축하는 도구.
- 주요 기능: 루프와 조건문 구현, 지속성, 인간의 개입, 스트리밍 지원, LangChain과의 원활한 통합.
LangSmith
- 설명: LLM 애플리케이션의 디버깅, 테스트, 평가, 모니터링 플랫폼.
- 주요 기능: 체인의 검사, 모니터링, 평가, 개발 효율성 향상, 생산성 증가 및 오류 감소.
LangServe
- 설명: LangChain 체인을 REST API로 배포하는 라이브러리.
- 주요 기능: 입력 및 출력 스키마 자동 유추, API 문서 페이지 제공, 효율적인 엔드포인트 제공, 스트리밍 지원.
결론
이번 시간에 자세히 알아보기다는 전체 제품들이 하는 역할에 대해서 알아보았습니다.
이걸 보면서 생각한 것은 LLM을 위해 정말 많은 기업들이 참여해서 개발하고 있다는 점과, 수많은 모듈을 공유해가면서 하나의 거대한 구조가 만들어진 것 같습니다.
초기에는 LangChain 으로 여러 모델들을 연결해주고, 다양한 모듈들을 사용할 수 있게 하는 구조에서, 이제는 점점 더 복잡한 시스템을 위한 LangGraph로의 구축과 해당 에플리케이션을 잘 테스트 하기 위한 LangSmith 그리고 배포하기 위한 LangServe로 점점 확장되는 것 같습니다.
여러 provider들을 품으면서 제공하는 라이브러리도 다양해지면서, 에플리케이션까지 동시에 확장하고 있습니다.
지금은 langsmith를 pricing을 통해 수익화를 생각하는 것 같은데, 차별점을 주기 위해서 컨설팅을 한다던지...
추후에는 먼가 좀 더 속도나 최적화 측면에서 개선해서 제공하는 걸로 수익화하지 않을까 싶습니다. 이렇게 다 오픈해서 제공하는데, 어떤 걸로 돈을 벌지 궁금하네요...
암튼 잘 알아봤고, 더 잘 사용하기 위해 세부 내용들도 다시 살펴봐야할 것 같습니다.
출처
'관심있는 주제 > LLM' 카테고리의 다른 글
LLM) HuggingFace 모델 다운로드부터 gguf 및 quantization 수행 후 vLLM 서빙하는 순서 정리해보기 (테스트 필요) (1) | 2024.11.16 |
---|---|
LLM) LLAVA 13b로 caption(설명) 또는 table 텍스트 데이터 생성해보기 (1) | 2024.07.30 |
Layout LM(=Language Model) 알아보기 - TODO (1) | 2024.07.23 |
논문 정리) Searching for Best Practices in Retrieval-Augmented Generation (0) | 2024.07.05 |
LangGraph) LangGraph에 대한 개념과 간단한 예시 만들어보기 (0) | 2024.06.29 |