Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AI API support #233

Open
6 tasks
andrii-bodnar opened this issue Mar 27, 2024 · 11 comments
Open
6 tasks

AI API support #233

andrii-bodnar opened this issue Mar 27, 2024 · 11 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@andrii-bodnar
Copy link
Member

andrii-bodnar commented Mar 27, 2024

Recently, Crowdin introduced new AI features, including a new set of API endpoints to manage and interact with these AI resources.

The new AI API endpoints should be added to the Crowdin API clients to allow users to programmatically interact with these new features.

References:

ToDo:

  • Fine-Tuning Methods #272
    • Generate AI Prompt Fine-Tuning Dataset
    • Get AI Prompt Fine-Tuning Dataset Generation Status
    • List AI Prompt Fine-Tuning Events
    • List AI Prompt Fine-Tuning Jobs
    • Create AI Prompt Fine-Tuning Job
    • Get AI Prompt Fine-Tuning Job Status
    • Download AI Prompt Fine-Tuning Dataset
  • AI Prompt Methods #269
    • Clone AI Prompt
    • List AI Prompts
    • Add AI Prompt
    • Get AI Prompt
    • Delete AI Prompt
    • Edit AI Prompt
  • AI Prompt Completion Methods #271
    • Generate AI Prompt Completion
    • Get AI Prompt Completion Status
    • Cancel AI Prompt Completion
    • Download AI Prompt Completion
  • AI Provider Methods #270
    • List AI Providers
    • Add AI Provider
    • Get AI Provider
    • Edit AI Provider
    • Delete AI Provider
    • List AI Provider Models
    • Create AI Proxy Chat Completion
  • AI Report Methods #273
    • Generate AI Report
    • Check AI Report Generation Status
    • Download AI Report
  • AI Setting Methods #274
    • Get AI Settings
    • Edit AI Settings
@andrii-bodnar andrii-bodnar added enhancement New feature or request help wanted Extra attention is needed labels Mar 27, 2024
@Durdush
Copy link
Contributor

Durdush commented Apr 19, 2024

Hi @andrii-bodnar, Could you please assign me this issue.

@andrii-bodnar
Copy link
Member Author

Hi @Durdush, sure, thank you!

@andrii-bodnar
Copy link
Member Author

Hi @Durdush, do you have any updates on this?

@Durdush
Copy link
Contributor

Durdush commented May 4, 2024

Hi @andrii-bodnar, it is in progress will raise its PR soon.

@Durdush
Copy link
Contributor

Durdush commented May 7, 2024

Hi @andrii-bodnar, I have some queries related to Create AI Proxy Chat Completion API.
a. How we are differentiating which ai provider we are using google gemini or chat gpt or other. Is there any provider id associated with them.
b In response object we are using a container object which will have data as well have metadata. can you suggest its implementation like it will be HashMap or ArrayList Container.

@andrii-bodnar
Copy link
Member Author

Hi @Durdush,

a. There is an aiProviderId in the URI to differentiate providers ({protocol}://{host}/api/v2/users/{userId}/ai/providers/{aiProviderId}/chat/completions)

b. It will be the response from the provider itself. So it depends on the provider we are using. We need to pick a generic type here because we don't know what the response would be. It could be any object.

@Durdush
Copy link
Contributor

Durdush commented May 8, 2024

Hi @andrii-bodnar, Sorry for the delay and appreciate your patience.
Still I have further doubts in Create AI Proxy Chat Completion API.
a. For the request body the name of the generic variable is property name* . Can you please clarify this is it property or name.
b. For the response body object it says recursive. what does it mean?
c. For the metadata which we may receive as response is there any specific class or SDK we use to capture the metadata like ResponseMetaData Class.

@andrii-bodnar
Copy link
Member Author

andrii-bodnar commented May 9, 2024

Hi @Durdush.

a. It could be any property. It depends on the provider.
b. Not sure about this (probably some docs bug), basically the response can contain any json object, we have no predefined structure here.
c. Please provide more context, not sure if I understand you correctly.

@Durdush
Copy link
Contributor

Durdush commented May 9, 2024

To Capture the metadata in Response Object we need to add a field over here it could be an Optional list of Objects or any Response MetaData class present in some SDK which extends Response headers.
https://docs.oracle.com/middleware/1213/osb/java-api/com/bea/wli/sb/transports/ResponseMetaData.html

@Durdush
Copy link
Contributor

Durdush commented May 9, 2024

a. It could be any property. It depends on the provider.

it will be of generic type but is it possible to give a variable name dynamic in java(property or name). Or am i understanding it wrong as it will be a generic type of Object named "property" which will have different properties.

@andrii-bodnar
Copy link
Member Author

The property name is an example placeholder. In real life there could be a couple of properties with different names. We don't know exactly. This API will proxy these properties to the provider.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants