LLM 및 임베더
이 페이지에서는 LLM 및 임베더를 Oracle 에이전트 메모리에 연결하는 데 사용되는 추상적 인터페이스를 제공합니다.
LLM 인터페이스
클래스 oracleagentmemory.apis.llms.ILlm
기준: ABC
LLM 호출에 대한 추상 인터페이스입니다.
method generate(개요)
LLM에서 동기적으로 응답을 생성합니다.
- 매개변수:
- 프롬프트
str | Sequence[dict[str, str]]– 일반 텍스트 프롬프트(단일 사용자 메시지로 처리됨) 또는 채팅 스타일의 메시지 목록입니다. 여기서 각 메시지는 최소한"content"키와 선택적으로"role"를 포함하는 매핑입니다. - response_json_schema
dict[str, Any] | None– 필요한 응답 형식을 설명하는 선택적 JSON 스키마입니다. - **kwargs(임의) – 기본 백엔드로 전달되는 공급자별 키워드 인수입니다.
- 프롬프트
- 반환: 정규화된 LLM 출력입니다.
- 반품 유형: LlmResponse
method generate_async(개요, 비동기)
LLM에서 비동기적으로 응답을 생성합니다.
- 매개변수:
- 프롬프트
str | Sequence[dict[str, str]]– 일반 텍스트 프롬프트(단일 사용자 메시지로 처리됨) 또는 채팅 스타일의 메시지 목록입니다. 여기서 각 메시지는 최소한"content"키와 선택적으로"role"를 포함하는 매핑입니다. - response_json_schema
dict[str, Any] | None– 필요한 응답 형식을 설명하는 선택적 JSON 스키마입니다. - **kwargs(임의) – 기본 백엔드로 전달되는 공급자별 키워드 인수입니다.
- 프롬프트
- 반환: 정규화된 LLM 출력입니다.
- 반품 유형: LlmResponse
LLM 응답
클래스 oracleagentmemory.apis.llms.LlmResponse
기준: object
ILlm에서 반환된 작은 정규화된 응답입니다.
- 매개변수: 텍스트
str
텍스트
기본 생성 텍스트 콘텐츠입니다.
- 유형: str
임베더 인터페이스
클래스 oracleagentmemory.apis.IEmbedder
기준: ABC
텍스트 내장자에 대한 추상 인터페이스입니다.
method embed(개요)
텍스트 배치를 2D float32 NumPy 배열에 포함시킵니다.
- 매개변수:
- texts
list[str]– 포함할 텍스트 일괄 처리입니다. - is_query
bool– 질의 시간 검색을 위해 일괄 처리가 포함되는지 여부입니다.
- texts
- 반환:
dtype=float32가 있는 2D 배열 모양의(len(texts), dim)입니다. - 반환 유형: numpy.ndarray
method embed_async(개요, 비동기)
텍스트 배치를 2D float32 NumPy 배열에 포함시킵니다.
- 매개변수:
- texts
list[str]– 포함할 텍스트 일괄 처리입니다. - is_query
bool– 질의 시간 검색을 위해 일괄 처리가 포함되는지 여부입니다.
- texts
- 반환:
dtype=float32가 있는 2D 배열 모양의(len(texts), dim)입니다. - 반환 유형: numpy.ndarray
LiteLLM 어댑터
클래스 oracleagentmemory.core.llms.Llm
기준: ILlm
Litellm을 활용하여 채팅 완료를 생성하는 어댑터입니다.
LiteLLM 지원 LLM 어댑터를 만듭니다.
- 매개변수:
- model
str–model=...로litellm.completion에 전달된 모델 식별자입니다. - **default_kwargs(임의) – 모든 호출(예:
temperature=0.2,max_tokens=256)에 대해 LiteLLM으로 전달되는 기본 키워드 인수입니다.
- model
방법 generate
응답을 생성합니다.
- 매개변수:
- prompt
str | Sequence[dict[str, str]]– 프롬프트 문자열 또는 채팅 메시지입니다. 문자열은 단일 사용자 메시지로 처리됩니다. - response_json_schema
dict[str, Any] | None– 필요한 응답 형식을 설명하는 선택적 JSON 스키마입니다. 제공된 경우 이 방법은 OpenAI 호환response_format를 통해 제공자 고유의 구조화된 출력 방식을 사용합니다. - **kwargs(Any) – LiteLLM으로 전달된 추가 호출 매개변수입니다.
- prompt
- 반환: 정규화된 LLM 출력입니다.
- 반품 유형: LlmResponse
method generate_async(비동기)
LiteLLM을 사용하여 비동기적으로 응답을 생성합니다.
- 매개변수:
- prompt
str | Sequence[dict[str, str]]– 프롬프트 문자열 또는 채팅 메시지입니다. 문자열은 단일 사용자 메시지로 처리됩니다. - response_json_schema
dict[str, Any] | None– 필요한 응답 형식을 설명하는 선택적 JSON 스키마입니다. 제공된 경우 이 방법은 OpenAI 호환response_format를 통해 제공자 고유의 구조화된 출력 방식을 사용합니다. - **kwargs(Any) – LiteLLM으로 전달된 추가 호출 매개변수입니다.
- prompt
- 반환: 정규화된 LLM 출력입니다.
- 반품 유형: LlmResponse
클래스 oracleagentmemory.core.embedders.Embedder
기준: IEmbedder
LiteLLM-backed embedder
- 매개변수:
- model
str– LiteLLM에서 지원하는 모델 식별자입니다. - normalize
bool– LiteLLM에서 반환된 임베딩을 L2 정규화할지 여부입니다. - api_base
str | None– 사용자정의 배치를 대상으로 지정하는 LiteLLM에 대한 선택적 기본 URL입니다. - api_key
str | None– 제공자에 연결할 때 LiteLLM으로 전달되는 선택적 API 키입니다. - embedding_kwargs
dict[str, Any] | None–litellm.embedding()로 전달되는 추가 키워드 인수입니다. - query_prefix
str | None
- model
주
LiteLLM 클라이언트는 임베더를 처음 사용할 때만 임포트되며 LiteLLM에 의존하지 않는 애플리케이션의 경우 선택적 종속성 비용을 낮게 유지합니다. api_base 및 api_key와 같은 연결 세부 정보는 제공된 경우 litellm.embedding에 대한 호출로 병합됩니다.
방법 embed
LiteLLM을 사용하여 텍스트 배치를 포함합니다.
- 매개변수:
- texts
list[str]– 포함할 원시 텍스트 문자열의 일괄 처리입니다. - is_query
bool
- texts
- 반환:
- numpy.ndarray – LiteLLM에서 반환된 포함 벡터가 있는 2차원
float32매트릭스입니다. - is_query – 텍스트가 질의인지 여부에 관계없이 특정 임베딩 모델에 필요할 수 있습니다.
- numpy.ndarray – LiteLLM에서 반환된 포함 벡터가 있는 2차원
- 발생: RuntimeError – LiteLLM 응답 페이로드에 포함 데이터가 포함되지 않는 경우입니다.
- 반품 유형: ndarray
예제
구성된 LiteLLM 임베더가 포함된 간단한 단일 텍스트 임베딩:
vector = embedder.embed(["ping"])
vector.shape[0]
1
method embed_async(비동기)
LiteLLM을 사용하여 텍스트 배치를 포함합니다.
- 매개변수:
- texts
list[str]– 포함할 원시 텍스트 문자열의 일괄 처리입니다. - is_query
bool– 텍스트가 질의인지 여부에 관계없이 특정 임베딩 모델에 필요할 수 있습니다.
- texts
- 반환: LiteLLM에서 반환된 임베딩 벡터가 있는 2차원
float32매트릭스입니다. - 반환 유형: numpy.ndarray
- 발생: RuntimeError – LiteLLM 응답 페이로드에 포함 데이터가 포함되지 않는 경우입니다.