Microsoft의 새로운 AI 기반 Bing Chat용 .NET API 래퍼입니다.
만료 및 유지 관리 경고
현재 구현은 최근 API 변경 사항과 동기화되지 않아 오류가 자주 발생하고 보안 문자가 실행됩니다. 이를 조사하고 공식 API 클라이언트(iOS 앱 및 브라우저)와 구현을 조정하여 이러한 문제를 줄이거나 그러한 가능성이 있는 경우 완전히 완화할 계획입니다.또한 이 저장소에는 오랫동안 관리자가 부족했습니다. 인수하고 싶으신 분은 저에게 연락주세요.
경고 이 라이브러리는 비공식적 이며 리버스 엔지니어링에 크게 의존합니다. 자신의 책임하에 사용하십시오.
참고 BingChat 의 공개 릴리스 이후 유효한 쿠키는 더 이상 필요하지 않습니다. 인증 없이 이 패키지를 사용할 수 있습니다.
NuGet 패키지 관리자 또는 dotnet CLI를 통해 이 패키지를 설치합니다.
dotnet add package --prerelease BingChat
그 다음에,
using BingChat ;
// Construct the chat client
var client = new BingChat Client ( new BingChat ClientOptions
{
// Tone used for conversation
Tone = BingChat Tone . Balanced ,
} ) ;
var message = "Do you like cats?" ;
var answer = await client . AskAsync ( message ) ;
Console . WriteLine ( $ "Answer: { answer } " ) ;
위 코드는 채팅 AI에 메시지를 보내고 답변을 얻는 코드입니다.
이 메서드는 일회성 대화를 만들고 완료되면 삭제합니다. 동일한 컨텍스트(웹 인터페이스의 동작과 동일)에서 계속 채팅하려면 공유 대화를 만들어야 합니다.
// Create a conversation, so we can continue chatting in the same context.
var conversation = await client . CreateConversation ( ) ;
var firstMessage = "Do you like cats?" ;
var answer = await conversation . AskAsync ( firstMessage ) ;
Console . WriteLine ( $ "First answer: { answer } " ) ;
await Task . Delay ( TimeSpan . FromSeconds ( 5 ) ) ;
var secondMessage = "What did I just say?" ;
answer = await conversation . AskAsync ( secondMessage ) ;
Console . WriteLine ( $ "Second answer: { answer } " ) ;
우리는 또한 여러분을 위해 놀라운 명령줄 도구를 개발했습니다! 아래 미리보기를 참조하세요.
다음 명령을 실행하여 CLI를 간단히 설치할 수 있습니다.
dotnet tool install -g --prerelease dotnet- BingChat
그런 다음 CLI를 시작합니다.
dotnet BingChat
harmonyv3
으로 전환하면 더 나은 성능을 가진 이전 모델이 가능한지 분석합니다. .SendAsync(..)
를 통해 풍부한 응답 개체를 노출하여 대화 상태에 대한 자세한 액세스 및 제어를 허용합니다. 임의의 쿠키를 생성하는 대신 BingChat 서버와 상호 작용하도록 고유한 쿠키를 설정할 수 있습니다.
이를 얻으려면 www.bing.com으로 이동하여 액세스 권한이 있는 계정으로 로그인한 다음 개발자 도구(F12) > 애플리케이션 탭 > 저장소 > 쿠키를 열고 _U
라는 쿠키를 찾아 해당 값을 복사하면 됩니다. 그런 다음 이를 BingChat ClientOptions
' 생성자에 전달합니다.
여러 가지 이유가 있습니다. 다음 단계에 따라 문제를 처리할 수 있습니다.
웹페이지를 새로 고치고 '_U' 값이 최신이고 올바르게 복사되었는지 확인한 후 다시 시도하세요.
프록시(VPN)를 사용하는 경우 글로벌 프록시를 설정하고 다시 시도하세요. 코드는 다음과 같습니다:
HttpClient . DefaultProxy = new WebProxy ( "127.0.0.1:8807" ) ; //Your proxy address and port
'KievRPSSecAuth'라는 다른 쿠키를 찾아 해당 값을 설정한 후 다시 시도하세요. 코드는 다음과 같습니다:
var client = new BingChat Client ( new BingChat ClientOptions {
// The "_U" cookie's value
CookieU = strU ,
// The "KievRPSSecAuth" cookie's value
CookieKievRPSSecAuth = strKievRPSSecAuth ,
} ) ;
브라우저 메뉴 > 확장 프로그램을 엽니다. '쿠키에디터'를 검색하여 설치하세요. Bing Chat 웹페이지로 이동하여 모든 쿠키를 JSON 형식의 로컬 파일로 내보냅니다. 파일 경로 값을 다음과 같이 설정합니다(이번에는 "_U" 및 "KievRPSSecAuth" 값이 필요하지 않음).
var client = new BingChat Client ( new BingChat ClientOptions {
// The exported cookie file path
CookieFilePath = strFilePath ,
} ) ;
이 라이브러리를 개발하거나 개선해 주신 다음 기여자들에게 감사드립니다.
이 프로젝트에 대한 아이디어가 있으시면 언제든지 PR을 열어 공유해 주세요 :D
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 우리는 ❤ 오픈 소스입니다!