자바스크립트에서 올라마 API 사용
이 문서에서는 Ollama API를 참조하세요. 이 문서는 개발자가 빠르게 시작하여 Ollama의 기능을 최대한 활용할 수 있도록 돕기 위해 작성되었습니다. Node.js 환경에서 사용하거나 브라우저에서 직접 모듈을 가져올 수 있습니다. 이 문서를 공부하면 Ollama를 프로젝트에 쉽게 통합할 수 있습니다.
올라마 설치
npm i ollama
사용법
import ollama from 'ollama'
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: '为什么天空是蓝色的?' }],
})
console.log(response.message.content)
브라우저 사용
Node.js 없이 이 라이브러리를 사용하려면 브라우저 모듈을 가져오세요.
import ollama from 'ollama/browser'
스트리밍 응답
이 작업은 stream: true
함수 호출이 반환하도록 응답 스트리밍을 사용하도록 설정하면 AsyncGenerator
에서 각 부분은 스트림의 객체입니다.
import ollama from 'ollama'
const message = { role: 'user', content: '为什么天空是蓝色的?' }
const response = await ollama.chat({ model: 'llama3.1', messages: [message], stream: true })
for await (const part of response) {
process.stdout.write(part.message.content)
}
구조화된 출력
올라마 자바스크립트 라이브러리를 사용하여 아키텍처를 JSON
객체는 format
매개 변수를 선택적으로 사용할 수 있습니다. object
형식을 전달하거나 Zod(권장)를 사용하여 zodToJsonSchema()
메서드 직렬화 아키텍처.
import ollama from 'ollama';
import { z } from 'zod';
import { zodToJsonSchema } from 'zod-to-json-schema';
const Country = z.object({
name: z.string(),
capital: z.string(),
languages: z.array(z.string()),
});
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: 'Tell me about Canada.' }],
format: zodToJsonSchema(Country),
});
const country = Country.parse(JSON.parse(response.message.content));
console.log(country);
모델 만들기
import ollama from 'ollama'
const modelfile = `
FROM llama3.1
SYSTEM "你是超级马里奥兄弟中的马里奥。"
`
await ollama.create({ model: 'example', modelfile: modelfile })
API
올라마 자바스크립트 라이브러리 API는 올라마 REST API를 중심으로 설계되었습니다. 기본 구현 및 전체 API 엔드포인트 정보에 대해 자세히 알아보려면 다음을 참조하는 것이 좋습니다. Ollama API 사용 가이드
채팅
ollama.chat(request)
request
<Object>
채팅 매개변수가 포함된 요청 객체입니다.model
<string>
채팅에 사용할 모델의 이름입니다.messages
<Message[]>
채팅 기록을 나타내는 메시지 객체의 배열입니다.role
<string>
메시지 발신자('사용자', '시스템' 또는 '어시스턴트')의 역할입니다.content
<string>
: 메시지 내용입니다.images
<Uint8Array[] | string[]>
: (선택 사항) 메시지에 포함할 이미지(Uint8Array 또는 base64로 인코딩된 문자열)입니다.
format
<string>
: (선택 사항) 응답의 예상 형식을 설정합니다(json
).stream
<boolean>
: (선택 사항) true이면 다음을 반환합니다.AsyncGenerator
.keep_alive
<string | number>
: (선택 사항) 모델이 로드되는 시간을 유지합니다.tools
<Tool[]>
: (선택 사항) 모델에서 호출할 수 있는 도구 목록입니다.options
<Options>
: (선택 사항) 런타임 옵션을 구성합니다.
- 반환합니다.
<ChatResponse>
생성
ollama.generate(request)
request
<Object>
생성된 매개 변수가 포함된 요청 개체입니다.model
<string>
채팅에 사용할 모델의 이름입니다.prompt
<string>
:: 모델에게 보낸 힌트입니다.suffix
<string>
: (선택 사항) 접미사는 삽입된 텍스트 뒤에 오는 텍스트입니다.system
<string>
: (선택 사항) 모델 시스템 프롬프트 재정의.template
<string>
: (선택 사항) 모델 템플릿을 재정의합니다.raw
<boolean>
: (선택 사항) 프롬프트 템플릿을 건너뛰고 프롬프트를 모델에 직접 전달합니다.images
<Uint8Array[] | string[]>
: (선택 사항) 포함할 이미지(Uint8Array 또는 base64로 인코딩된 문자열)입니다.format
<string>
: (선택 사항) 응답의 예상 형식을 설정합니다(json
).stream
<boolean>
: (선택 사항) true이면 다음을 반환합니다.AsyncGenerator
.keep_alive
<string | number>
: (선택 사항) 모델이 로드되는 시간을 유지합니다.options
<Options>
: (선택 사항) 런타임 옵션을 구성합니다.
- 반환합니다.
<GenerateResponse>
풀 모델
ollama.pull(request)
request
<Object>
풀 매개변수가 포함된 요청 개체입니다.model
<string>
가져올 모델의 이름입니다.insecure
<boolean>
: (선택 사항) 인증할 수 없는 서버에서 가져옵니다.stream
<boolean>
: (선택 사항) true이면 다음을 반환합니다.AsyncGenerator
.
- 반환합니다.
<ProgressResponse>
푸시 모델
ollama.push(request)
request
<Object>
푸시 매개변수가 포함된 요청 객체입니다.model
<string>
푸시할 모델의 이름입니다.insecure
<boolean>
: (선택 사항) 신원을 인증할 수 없는 서버로 푸시합니다.stream
<boolean>
: (선택 사항) true이면 다음을 반환합니다.AsyncGenerator
.
- 반환합니다.
<ProgressResponse>
모델 만들기
ollama.create(request)
request
<Object>
매개변수가 생성된 요청 객체를 포함합니다.model
<string>
생성할 모델의 이름입니다.path
<string>
: (선택 사항) 생성할 모델 파일의 경로입니다.modelfile
<string>
: (선택 사항) 생성할 모델 파일의 내용입니다.stream
<boolean>
: (선택 사항) true이면 다음을 반환합니다.AsyncGenerator
.
- 반환합니다.
<ProgressResponse>
모델 삭제
ollama.delete(request)
request
<Object>
삭제 매개변수가 포함된 요청 개체입니다.model
<string>
삭제할 모델의 이름입니다.
- 반환합니다.
<StatusResponse>
복제 모델
ollama.copy(request)
request
<Object>
복제 매개 변수가 포함된 요청 개체입니다.source
<string>
복사할 모델의 이름입니다.destination
<string>
복사할 모델의 이름입니다.
- 반환합니다.
<StatusResponse>
로컬 모델 목록
ollama.list()
- 반환합니다.
<ListResponse>
모델 정보 표시
ollama.show(request)
request
<Object>
표시 매개 변수가 포함된 요청 객체입니다.model
<string>
표시할 모델의 이름입니다.system
<string>
: (선택 사항) 모델 시스템 프롬프트 반환 값을 재정의합니다.template
<string>
: (선택 사항) 모델 템플릿 반환값을 재정의합니다.options
<Options>
: (선택 사항) 런타임 옵션을 구성합니다.
- 반환합니다.
<ShowResponse>
임베딩 생성
ollama.embed(request)
request
<Object>
매개변수가 포함된 요청 객체입니다.model
<string>
임베딩을 생성하는 데 사용된 모델의 이름입니다.input
<string> | <string[]>
임베딩 생성에 사용되는 입력입니다.truncate
<boolean>
: (선택 사항) 모델에서 지원하는 최대 컨텍스트 길이에 맞게 입력을 잘라냅니다.keep_alive
<string | number>
: (선택 사항) 모델이 로드되는 시간을 유지합니다.options
<Options>
: (선택 사항) 런타임 옵션을 구성합니다.
- 반환합니다.
<EmbedResponse>
코스
ollama.ps()
- 반환합니다.
<ListResponse>
맞춤형 클라이언트
다음 필드를 사용하여 사용자 지정 클라이언트를 만들 수 있습니다:
host
<string>
: (선택 사항) 올라마 호스트 주소. 기본값입니다."http://127.0.0.1:11434"
.fetch
<Object>
: (선택 사항) 올라마 호스트에 요청하는 데 사용되는 가져오기 라이브러리입니다.
import { Ollama } from 'ollama'
const ollama = new Ollama({ host: 'http://127.0.0.1:11434' })
const response = await ollama.chat({
model: 'llama3.1',
messages: [{ role: 'user', content: '为什么天空是蓝色的?' }],
})
구성 (STH 추상)
프로젝트 파일을 빌드하려면 실행합니다:
npm run build
설명서를 참조하세요:ollama-js
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...