예:
function_string = "def fake_people(n: int) -> list[dict]:"
args = [ "4" ]
description_string = """Generates n examples of fake data representing people, each with a name and an age."""
result = ai_functions . ai_function ( function_string , args , description_string , model )
""" Output: [
{"name": "John Doe", "age": 35},
{"name": "Jane Smith", "age": 28},
{"name": "Alice Johnson", "age": 42},
{"name": "Bob Brown", "age": 23}
]"""OpenAI의 GPT-4 (또는 다른 모델 버전)를 사용하여 다양한 작업을 수행하기 위해 사용하기 쉬운 AI 기능 구현. 이 프로젝트는 Ask Marvin에서 큰 영감을 받았습니다.
git clone https://github.com/YourUsername/SuperSimpleAIFunctions.gitpip install -r requirements.txtkeys.py 파일에 저장하거나 환경 변수로 설정하십시오. ai_functions.py 다음 기능을 포함합니다.
def ai_function ( function , args , description , model = "gpt-4" ): ai_function 은 다음 매개 변수를 취합니다.
function : 함수 서명을 설명하는 문자열.args : 기능에 대한 인수 목록.description : 함수의 목적을 설명하는 문자열.model : (선택 사항) 사용할 gpt 모델을 지정하는 문자열. 기본값은 'GPT-4'입니다.예제 사용 :
import ai_functions
function = "def add(a: int, b: int) -> int:"
args = [ "5" , "7" ]
description = "Adds two integers."
result = ai_functions . ai_function ( function , args , description )
print ( result ) # Output: 12 아래 표는 다른 GPT 모델을 가진 AI 기능의 성공률을 보여줍니다.
| 설명 | GPT-4 결과 | GPT-3.5- 터보 결과 | 이유 |
|---|---|---|---|
| 가짜 사람들을 생성하십시오 | 통과 | 실패한 | 잘못된 응답 형식 |
| 임의의 암호를 생성합니다 | 통과 | 통과 | N/A |
| 삼각형의 영역을 계산합니다 | 실패한 | 실패한 | 잘못된 플로트 값 (GPT-4), 잘못된 응답 형식 (GPT-3.5-Turbo) |
| nth 소수를 계산하십시오 | 통과 | 통과 | N/A |
| 텍스트를 암호화합니다 | 통과 | 통과 | N/A |
| 누락 된 숫자를 찾으십시오 | 통과 | 통과 | N/A |
AI 기능은 특정 작업, 특히 수학적 계산 및 정밀도와 관련된 작업에 적합하지 않다는 점에 유의해야합니다. 삼각형의 영역을 계산하고 Nth 소수를 찾는 경우에 관찰 된 바와 같이, GPT 모델은 정확한 결과를 제공하는 데 어려움을 겪을 수 있습니다. 이러한 경우 GPT 모델의 한계는 주로 정확한 산술을 수행 할 수없고 사용자 입력을 이해하는 데있어 모호성 때문입니다.
결론적으로 AI 기능은 다양한 시나리오에서 도움이 될 수 있지만 수학적 정확도 또는 특정 도메인 지식이 필요한 작업에 최적의 선택은 아닐 수 있습니다. 이러한 사용 사례의 경우 기존 알고리즘과 라이브러리를 사용하면 더 나은 결과를 얻을 수 있습니다.
test_ai_functions.py 에는 ai_function 에 대한 테스트 사례가 포함되어 있습니다. 테스트를 실행하려면 Python으로 스크립트를 실행하십시오.
python test_ai_functions.py테스트 스크립트는 각 테스트 사례의 결과를 출력하고 성공률을 제공합니다.
기부금을 환영합니다! 더 많은 테스트 사례를 추가하거나 기존 코드를 개선하려면 풀 요청을 제출하십시오.