1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors_trending-fauxpilot

Клонировать/Скачать
client.md 4.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 06:03 5d174db

Мы предлагаем несколько способов подключения к серверу FauxPilot. Например, вы можете создать клиент, используя OpenAI API, Copilot Plugin или REST API.

API

Как только всё будет запущено, у вас должен быть сервер, который будет принимать запросы на http://localhost:5000. Теперь вы можете общаться с ним, используя стандартный OpenAI API (хотя полный API ещё не реализован). Например, из Python, используя OpenAI Python bindings:

$ ipython
Python 3.8.10 (default, Mar 15 2022, 12:22:08)
Type 'copyright', 'credits' or 'license' for more information
IPython 8.2.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import openai

In [2]: openai.api_key = 'dummy'

In [3]: openai.api_base = 'http://127.0.0.1:5000/v1'

In [4]: result = openai.Completion.create(model='codegen', prompt='def hello', max_tokens=16, temperature=0.1, stop=["\n\n"])

In [5]: result
Out[5]:
<OpenAIObject text_completion id=cmpl-6hqu8Rcaq25078IHNJNVooU4xLY6w at 0x7f602c3d2f40> JSON: {
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "text": "() {\n    return \"Hello, World!\";\n}"
    }
  ],
  "created": 1659492191,
  "id": "cmpl-6hqu8Rcaq25078IHNJNVooU4xLY6w",
  "model": "codegen",
  "object": "text_completion",
  "usage": {
    "completion_tokens": 15,
    "prompt_tokens": 2,
    "total_tokens": 17
  }
}

Curl with RESTful APIs

$ curl -s -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"prompt":"def hello","max_tokens":100,"temperature":0.1,"stop":["\n\n"]}' http://localhost:5000/v1/engines/codegen/completions

Copilot Plugin

Возможно, более интересно то, что вы можете настроить официальный VSCode Copilot plugin для использования вашего локального сервера. Просто отредактируйте свой settings.json, чтобы добавить:

    "github.copilot.advanced": {
        "debug.overrideEngine": "codegen",
        "debug.testOverrideProxyUrl": "http://localhost:5000",
        "debug.overrideProxyUrl": "http://localhost:5000"
    }

И вы сможете использовать Copilot с вашими собственными локально размещёнными предложениями! Конечно, вероятно, многое слегка сломано. В частности, вероятности, возвращаемые сервером, частично поддельные. Исправление этого потребовало бы изменения FasterTransformer, чтобы он мог возвращать логарифмические вероятности для верхних k токенов, а не только для выбранного токена.

Ещё одна проблема с использованием плагина Copilot заключается в том, что его токенизатор (компонент, который превращает текст в последовательность целых чисел для модели) немного отличается от того, который используется CodeGen, поэтому плагин иногда отправляет запрос, который длиннее, чем может обработать CodeGen. Вы можете обойти это, заменив vocab.bpe и tokenizer.json, найденные в расширении Copilot (что-то вроде .vscode/extensions/github.copilot-[version]/dist/), на те, которые можно найти здесь.

Удачи!

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors_trending-fauxpilot.git
git@api.gitlife.ru:oschina-mirror/mirrors_trending-fauxpilot.git
oschina-mirror
mirrors_trending-fauxpilot
mirrors_trending-fauxpilot
main