Rest API'ye AI API key nasıl bağlanır?

Katılım
12 Mayıs 2020
Mesajlar
1.166
Çözümler
6
Arkadaşlar bir web projesi geliştiriyorum burada CRUD işlemleri de yapılıyor. Bu kaydedilen verilerin belirli analizlerini nasıl AI ile yapabilirim? İsteğim şu şekilde bu analizleri bana get endpointi adı altında tekrardan döndürmek. Araç kaydı yapılacak burada benim istediğim metriklere göre araçlarla ilgili bilgi vermesini istiyorum. Örneğin şu şekidle düşünüyorum: En son gelen araç markası, en çok gelen araç parçası, en çok ihtiyaç duyulan araç parçası, en çok karşılaşılan arıza sebebi. Genel olarak böyle analizlerin yapmasını istiyorum. Evet bunları C# rest API ile de yapabilirim fakat ödev projesi olduğu için AI eklemek zorundayım. Veya başka türlü AI'ı nasıl ekleyebilirim buraya?

Aklımdaki diğer fikir ise olası arıza sebebi. Örneğin araçta bir sorun ile karşılaşılacak. Mesela araç ilk çalışırken beyaz duman atıyor ise AI bu arızanın sebebini bularak örneğin Turbo ise Turbo diyecek egr ise egr diyecek. Şu anlık sadece CRUD ve login işmelerini yapan kodu yazdım. İsterseniz GitHub repository'mi de atabilirim. İyi sosyaller.
 
Arkadaşlar bir web projesi geliştiriyorum burada CRUD işlemleri de yapılıyor. Bu kaydedilen verilerin belirli analizlerini nasıl AI ile yapabilirim? İsteğim şu şekilde bu analizleri bana get endpointi adı altında tekrardan döndürmek. Araç kaydı yapılacak burada benim istediğim metriklere göre araçlarla ilgili bilgi vermesini istiyorum. Örneğin şu şekidle düşünüyorum: En son gelen araç markası, en çok gelen araç parçası, en çok ihtiyaç duyulan araç parçası, en çok karşılaşılan arıza sebebi. Genel olarak böyle analizlerin yapmasını istiyorum. Evet bunları C# rest API ile de yapabilirim fakat ödev projesi olduğu için AI eklemek zorundayım. Veya başka türlü AI'ı nasıl ekleyebilirim buraya?

Aklımdaki diğer fikir ise olası arıza sebebi. Örneğin araçta bir sorun ile karşılaşılacak. Mesela araç ilk çalışırken beyaz duman atıyor ise AI bu arızanın sebebini bularak örneğin Turbo ise Turbo diyecek egr ise egr diyecek. Şu anlık sadece CRUD ve login işmelerini yapan kodu yazdım. İsterseniz GitHub repository'mi de atabilirim. İyi sosyaller.

Hocam son cümlede kullandığınız gibi bir şey var mı? Bilmediğimden soruyorum.
 
Hocam son cümlede kullandığınız gibi bir şey var mı? Bilmediğimden soruyorum.

Illia topuira abi durum şöyle Bunu chatbot mantığı ile yapabilirim aslında. Eğer chatbotu belirli kurallara göre eğitebilirsem bunu yapabilirim. Şimdi durum şöyle eğer böyle bir şey yoksa bile şun an rapor yazıyorum rapora yazarsam bana zorla yaptırtırlar yoksa da icat ettirirler. Fakat ben böyle şeylere kafa yormadan ilk başta temel şeyleri üreterek öğrenmek istiyorum.
 
Illia topuira abi durum şöyle Bunu chatbot mantığı ile yapabilirim aslında. Eğer chatbotu belirli kurallara göre eğitebilirsem bunu yapabilirim. Şimdi durum şöyle eğer böyle bir şey yoksa bile şun an rapor yazıyorum rapora yazarsam bana zorla yaptırtırlar yoksa da icat ettirirler. Fakat ben böyle şeylere kafa yormadan ilk başta temel şeyleri üreterek öğrenmek istiyorum.
anladım saol şampiyon :D
 
Bi endpoint olustur, hangi datayi analiz ettirmek istiyorsan databaseden getir, AI'a prompt olarak gonder, sonucu dondur?

Yada POST/UPDATE end pointlerine, db save isleminden sonra save ettigin seyi gonder?

Ikisi de olur kafandaki fikir icin. Ancak gizliligin onemli oldugu datalari gonderirken dikkat et. Yukaridaki iki fikirde de prompt gondermek bildigin HTTP request.
 
Bir endpoint olustur, hangi datayi analiz ettirmek istiyorsan databaseden getir, AI'a prompt olarak gonder, sonucu dondur?

Ya da POST/UPDATE end pointlerine, dB save isleminden sonra save ettigin seyi gonder?

Ikisi de olur kafandaki fikir icin. Ancak gizliligin onemli oldugu datalari gonderirken dikkat et. Yukaridaki iki fikirde de prompt gondermek bildigin HTTP request.

Senin bahsettiğin şey sanırım şöyle gelen veriyi HTTP request ile key kullanmadan direkt prompt ile göndermek. Burada şöyle bir sorum var bu işlem tek bir dataya mı ait yoksa veri tabanı kontrolü yapılacak mı?
 
Senin bahsettiğin şey sanırım şöyle gelen veriyi HTTP request ile key kullanmadan direkt prompt ile göndermek. Burada şöyle bir sorum var bu işlem tek bir dataya mı ait yoksa veri tabanı kontrolü yapılacak mı?
Key kullanmadan gondermiyorsun. Key kullanarak gonderirsin. API'i kullanman icin key gerekiyor.

Kullanacagin API endpointi zaten HTTP ustunden gidiyor. OpenAI API dokumantasyonundan;
Bash:
curl https://api.openai.com/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
        "model": "gpt-4o",
        "messages": [{
            "role": "user",
            "content": "Hello!"
        }]
    }'

Yukaridaki bir HTTP request. RESTful API'lar temelde HTTP requestler. Burada mesela prompt gondermek icin v1/chat/completions endpointine POST gonderiyor. Bunu programatik bir sekilde yapmak icin dillerin kendilerinde kutuphaneler olabilir ancak en temel kullanimi bu.

Python'da OpenAI kutuphanesini kullanirsan;
Python:
from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[{
        "role": "user",
        "content": "Write a one-sentence bedtime story about a unicorn."
    }]
)

print(completion.choices[0].message.content)

Bu endpoint'in sonucu asagi yukari su formatta bir yanit olacak;
JSON:
{
  "id": "chatcmpl-B9MBs8CjcvOU2jLn4n570S5qMJKcT",
  "object": "chat.completion",
  "created": 1741569952,
  "model": "gpt-4o-2024-08-06",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I assist you today?",
        "refusal": null,
        "annotations": []
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 19,
    "completion_tokens": 10,
    "total_tokens": 29,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "audio_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "audio_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "service_tier": "default"
}

Simdi sen gondermek istedigin datayi mesela soyle bir prompt ile gonderebilirsin;
Bash:
curl https://api.openai.com/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
        "model": "gpt-4o",
        "messages": [{
            "role": "user",
            "content": "A data will be sent to you surrounded in [DATA][/DATA] closures.
            Analyze it with {senin analiz parametrelerin, ne olmasini istiyorsan artik burda}.
            [DATA]{analiz edilmesini istedigin data}[/DATA]"
        }]
    }'

Sonrasinda burada donecek sey, yapay zekanin analizi olacak. Promptu daha iyi hale getirirsin ihtiyaclarin dogrultusunda. Ama asagi yukari bu.
 
Key kullanmadan gondermiyorsun. Key kullanarak gonderirsin. API'i kullanman icin key gerekiyor.

Kullanacagin API endpointi zaten HTTP ustunden gidiyor. OpenAI API dokumantasyonundan;
Bash:
curl https://api.openai.com/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
        "model": "gpt-4o",
        "messages": [{
            "role": "user",
            "content": "Hello!"
        }]
    }'

Yukaridaki bir HTTP request. RESTful API'lar temelde HTTP requestler. Burada mesela prompt gondermek icin v1/chat/completions endpointine POST gonderiyor. Bunu programatik bir sekilde yapmak icin dillerin kendilerinde kutuphaneler olabilir ancak en temel kullanimi bu.

Python'da OpenAI kutuphanesini kullanirsan;
Python:
from openai import OpenAI
client = OpenAI()

completion = client.chat.completions.create(
    model="gpt-4o",
    messages=[{
        "role": "user",
        "content": "Write a one-sentence bedtime story about a unicorn."
    }]
)

print(completion.choices[0].message.content)

Bu endpoint'in sonucu asagi yukari su formatta bir yanit olacak;
JSON:
{
  "id": "chatcmpl-B9MBs8CjcvOU2jLn4n570S5qMJKcT",
  "object": "chat.completion",
  "created": 1741569952,
  "model": "gpt-4o-2024-08-06",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I assist you today?",
        "refusal": null,
        "annotations": []
      },
      "logprobs": null,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 19,
    "completion_tokens": 10,
    "total_tokens": 29,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "audio_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 0,
      "audio_tokens": 0,
      "accepted_prediction_tokens": 0,
      "rejected_prediction_tokens": 0
    }
  },
  "service_tier": "default"
}

Simdi sen gondermek istedigin datayi mesela soyle bir prompt ile gonderebilirsin;
Bash:
curl https://api.openai.com/v1/chat/completions \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
        "model": "gpt-4o",
        "messages": [{
            "role": "user",
            "content": "A data will be sent to you surrounded in [DATA][/DATA] closures.
            Analyze it with {senin analiz parametrelerin, ne olmasini istiyorsan artik burda}.
            [DATA]{analiz edilmesini istedigin data}[/DATA]"
        }]
    }'

Sonrasinda burada donecek sey, yapay zekanin analizi olacak. Promptu daha iyi hale getirirsin ihtiyaclarin dogrultusunda. Ama asagi yukari bu.
Allah razı olsun abi eyvallah.
 

Technopat Haberler

Yeni konular

Geri
Yukarı