add translator example
This commit is contained in:
103
gemma-2-translator/README.md
Normal file
103
gemma-2-translator/README.md
Normal file
@@ -0,0 +1,103 @@
|
||||
## `app.py`
|
||||
```python
|
||||
import json, re, requests
|
||||
|
||||
example = '''# LLaMA.cpp HTTP Server
|
||||
|
||||
Fast, lightweight, pure C/C++ HTTP server based on [httplib](https://github.com/yhirose/cpp-httplib), [nlohmann::json](https://github.com/nlohmann/json) and **llama.cpp**.
|
||||
|
||||
Set of LLM REST APIs and a simple web front end to interact with llama.cpp.
|
||||
|
||||
**Features:**
|
||||
* LLM inference of F16 and quantum models on GPU and CPU
|
||||
* [OpenAI API](https://github.com/openai/openai-openapi) compatible chat completions and embeddings routes
|
||||
* Parallel decoding with multi-user support
|
||||
* Continuous batching
|
||||
* Multimodal (wip)
|
||||
* Monitoring endpoints
|
||||
* Schema-constrained JSON response format
|
||||
|
||||
The project is under active development, and we are [looking for feedback and contributors](https://github.com/ggerganov/llama.cpp/issues/4216).'''
|
||||
|
||||
prompt = {
|
||||
'filename': '/ggerganov/llama.cpp/master/examples/server/README.md',
|
||||
'en-US': {'src': example},
|
||||
'ko-KR': '%PLACEHOLDER%'
|
||||
}
|
||||
prompt = json.dumps(prompt)
|
||||
prompt = re.sub(' "%PLACEHOLDER%(.*)', '', prompt)
|
||||
print('\n\tPrompt:\n')
|
||||
print(prompt)
|
||||
print('\n---\n')
|
||||
|
||||
response = requests.post(
|
||||
f'http://localhost:8080/completion',
|
||||
stream=True,
|
||||
json=dict(
|
||||
prompt=prompt,
|
||||
stream=True,
|
||||
json_schema=dict(
|
||||
type='object',
|
||||
properties=dict(
|
||||
src={'type': 'string'}
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
print('\tResponse:\n')
|
||||
content = ''
|
||||
for line in response.iter_lines():
|
||||
if line := re.match('data: (.*)', line.decode()):
|
||||
line = json.loads(line.group(1))
|
||||
print(line['content'], end='', flush=True)
|
||||
|
||||
content += line['content']
|
||||
|
||||
result = json.loads(content)['src']
|
||||
print('\n---\n')
|
||||
|
||||
print('\tMarkdown:\n')
|
||||
try:
|
||||
# IPython 환경인지 확인
|
||||
ipython = get_ipython()
|
||||
from IPython.display import Markdown
|
||||
display(Markdown(result))
|
||||
except:
|
||||
print(result)
|
||||
```
|
||||
|
||||
```sh
|
||||
$ python app.py
|
||||
|
||||
Prompt:
|
||||
|
||||
{"filename": "/ggerganov/llama.cpp/master/examples/server/README.md", "en-US": {"src": "# LLaMA.cpp HTTP Server\n\nFast, lightweight, pure C/C++ HTTP server based on [httplib](https://github.com/yhirose/cpp-httplib), [nlohmann::json](https://github.com/nlohmann/json) and **llama.cpp**.\n\nSet of LLM REST APIs and a simple web front end to interact with llama.cpp.\n\n**Features:**\n * LLM inference of F16 and quantum models on GPU and CPU\n * [OpenAI API](https://github.com/openai/openai-openapi) compatible chat completions and embeddings routes\n * Parallel decoding with multi-user support\n * Continuous batching\n * Multimodal (wip)\n * Monitoring endpoints\n * Schema-constrained JSON response format\n\nThe project is under active development, and we are [looking for feedback and contributors](https://github.com/ggerganov/llama.cpp/issues/4216)."}, "ko-KR":
|
||||
|
||||
---
|
||||
|
||||
Response:
|
||||
|
||||
{"src": "# LLaMA.cpp HTTP 서버\n\n[httplib](https://github.com/yhirose/cpp-httplib), [nlohmann::json](https://github.com/nlohmann/json) 및 **llama.cpp** 기반의 빠르고 가벼운 순수 C/C++ HTTP 서버입니다.\n\nLLM REST API 세트 및 llama.cpp와 상호 작용하기 위한 간단한 웹 프런트 엔드입니다.\n\n**특징:**\n * GPU 및 CPU에서 F16 및 양자 모델의 LLM 유추\n * [OpenAI API](https://github.com/openai/openai-openapi) 호환되는 채팅 완성 및 잠재형 엔드포인트\n * 다중 사용자 지원을 가진 병렬 디코딩\n * 지속적인 배치 처리\n * 다중 모달 (준비 중)\n * 모니터링 엔드포인트\n * 스키마 제약 JSON 응답 형식\n\n이 프로젝트는 적극적으로 개발 중이며, [피드백 및 기여자를 찾고 있습니다](https://github.com/ggerganov/llama.cpp/issues/4216)."}
|
||||
|
||||
---
|
||||
|
||||
|
||||
Markdown:
|
||||
```
|
||||
# LLaMA.cpp HTTP 서버
|
||||
|
||||
[httplib](https://github.com/yhirose/cpp-httplib), [nlohmann::json](https://github.com/nlohmann/json) 및 **llama.cpp** 기반의 빠르고 가벼운 순수 C/C++ HTTP 서버입니다.
|
||||
|
||||
LLM REST API 세트 및 llama.cpp와 상호 작용하기 위한 간단한 웹 프런트 엔드입니다.
|
||||
|
||||
**특징:**
|
||||
* GPU 및 CPU에서 F16 및 양자 모델의 LLM 유추
|
||||
* [OpenAI API](https://github.com/openai/openai-openapi) 호환되는 채팅 완성 및 잠재형 엔드포인트
|
||||
* 다중 사용자 지원을 가진 병렬 디코딩
|
||||
* 지속적인 배치 처리
|
||||
* 다중 모달 (준비 중)
|
||||
* 모니터링 엔드포인트
|
||||
* 스키마 제약 JSON 응답 형식
|
||||
|
||||
이 프로젝트는 적극적으로 개발 중이며, [피드백 및 기여자를 찾고 있습니다](https://github.com/ggerganov/llama.cpp/issues/4216).
|
||||
Reference in New Issue
Block a user