Мы предлагаем несколько способов подключения к серверу FauxPilot. Например, вы можете создать клиент, используя OpenAI API, Copilot Plugin или REST 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 -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
Возможно, более интересно то, что вы можете настроить официальный 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 )