Код для доступа к API на разных языках программирования
Оглавление документа
Через POST-запрос
С# (async)
Пример прислан одним из наших пользователей
static async Task Main()
{
string apiKey = "sk-or-vv-86*************"; // ваш ключ в VseGPT после регистрации
string baseApiUrl = "https://api.vsegpt.ru/v1/";
string prompt = "Напиши последовательно числа от 1 до 10";
try
{
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
List<dynamic> messages = new List<dynamic>();
messages.Add(new { role = "user", content = prompt });
var requestData = new
{
model = "anthropic/claude-instant-v1",
messages = messages,
temperature = 0.7,
n = 1,
max_tokens = Convert.ToInt32(prompt.Length * 1.5),
extra_headers = new { X_Title = "My App" } // опционально - передача информации об источнике API-вызова
};
var jsonRequest = Newtonsoft.Json.JsonConvert.SerializeObject(requestData);
var content = new StringContent(jsonRequest, Encoding.UTF8, "application/json");
var response = await client.PostAsync(baseApiUrl + "chat/completions", content);
if (response.IsSuccessStatusCode)
{
var jsonResponse = await response.Content.ReadAsStringAsync();
dynamic responseData = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonResponse);
string responseContent = responseData.choices[0].message.content;
Console.WriteLine("Response: " + responseContent);
}
else
{
Console.WriteLine("Error: " + response.ReasonPhrase);
}
}
catch (Exception ex)
{
Console.WriteLine("Exception: " + ex.Message);
}
}
TypeScript
fetch("https://api.vsegpt.ru/v1/chat/completions", {
method: "POST",
headers: {
"Authorization": `Bearer ${VSEGPT_API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "openai/gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "What is the meaning of life?"}
]
})
});
Python
import requests
import json
response = requests.post(
url="https://api.vsegpt.ru/v1/chat/completions",
headers={
"Authorization": f"Bearer {VSEGPT_API_KEY}"
},
data=json.dumps({
"model": "openai/gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "What is the meaning of life?"}
]
})
)
if response.status_code == 200:
response_big = json.loads(response.text)
response_result = response_big["choices"][0]["message"]["content"]
print(response_result)
else:
raise ValueError(str(response.status_code)+": "+response.text)
Shell (CURL)
curl https://api.vsegpt.ru/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $VSEGPT_API_KEY" \
-d '{
"model": "openai/gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "What is the meaning of life?"}
]
}'
Через библиотеки
TypeScript
import OpenAI from "openai"
const openai = new OpenAI({
baseURL: "https://api.vsegpt.ru/v1",
apiKey: $VSEGPT_API_KEY,
// dangerouslyAllowBrowser: true,
})
async function main() {
const completion = await openai.chat.completions.create({
model: "openai/gpt-3.5-turbo",
messages: [
{ role: "user", content: "Say this is a test" }
],
})
console.log(completion.choices[0].message)
}
main()
Библиотеки для других языков
Должно подходить большинство библиотек для других языков программирования. Например, их можно взять здесь: https://platform.openai.com/docs/libraries/community-libraries